rime中州韵小狼毫 汉语拼音输入方案
教程目录:rime
中州韵小狼毫须鼠管安装配置教程 保姆级教程 100+增强功能配置教程
在word
中,我们可以轻易的给汉字加上拼音,如下👇:
但是,如何单独的输入拼音呢?例如输入 pīn yīn
, 再如 zhōng guō
。今天我们分享一个使用rime
中州韵小狼毫须鼠管输入法配置的输入汉语拼音的输入方案。功能简单,但十分好用。
先睹为快
pīnyīn
输入方案可以快捷的输入带有声调的汉语拼音,输出直观,选词快捷,录入体验优良。
pinyin.schema.yaml
pinyin.schema.yaml
是我们的输入方案的方案文档,我们在 用户文件夹 下创建一个 txt
文档,然后改名为 pinyin.schema.yaml
,pinyin.schema.yaml
文档内容如下👇:
__build_info:rime_version: 1.5.3timestamps:default: 1626914460default.custom: 1651399897easy_en.custom: 0easy_en.schema: 1491118644key_bindings: 1561218646key_bindings.custom: 0punctuation: 1561218646punctuation.custom: 0
switches:- name: ascii_mode # 默认为中文输出模式reset: 0states: [ 中文, 西文 ]- name: full_shape # 字符默认半角输出reset: 0states: [ 半角, 全角 ]- name: ascii_punct # 默认使用中文标点reset: 0states: [ 。,, ., ]- name: debug # 默认debug开关为关闭状态reset: 0states: [Off, 🐞]
engine:processors:- ascii_composer- key_binder- speller- recognizer- punctuator- selector- navigator- express_editorsegmentors:- matcher- ascii_segmentor- abc_segmentor- punct_segmentor- fallback_segmentor
key_binder:import_preset: default
recognizer:import_preset: default
speller:alphabet: "zyxwvutsrqponmlkjihgfedcba"delimiter: " "
schema:author:- "dyy <douyaoyuan@126.com>"description: "pīn yīn 输入"name: "pīn yīn"schema_id: pinyinversion: 0.0
在上述脚本配置中,我们的schema
节点中配置了以下内容:
schema_id
:pinyin
;这个schema_id
将会在下文的default.custom.yaml
中用到name
:pīn yīn
;这个name
的值pīn yīn
将会出现在方案选单中
pinyin.custom.yaml
一如既往,方案名.custom.yaml
是对应方案文档的补丁文档,这个pinyin.custom.yaml
文档中配置了用户的个性化的配置项目,此处pinyin.custom.yaml
文档的配置如下👇:
patch:translator/enable_user_dict: false # false:自动造词及动态词频功能失效;true:启用自动造词和动态词频style/inline_preedit: false # 是否在输入行内进行预测生成,true 表示不单独显示输入字符engine/translators:- lua_translator@pinyin_translator # 添加 pinyin_translator lua 翻译器engine/filters: # 设置以下filter- simplifier- lua_filter@pinyin_Filter # 这个过滤器用于给拼音候选词组增加一个尾部空格- uniquifier # 过滤重复候选项,依赖 simplifierswitches/+: #增加以下开关- name: space # 一个标志开头,用来控制是否在拼音选项组词后自动加一个空格reset: 0states: [无,空格]
在以上配置中,我们为pinyin
输入方案指定了以下关键配置:
- 翻译器
lua_translator@pinyin_translator
:这个pinyin_translator
的脚本文档将在下文中介绍。 - 滤镜
lua_filter@pinyin_Filter
:这个pinyin_Filter
的脚本文档将在下文中介绍 - 开关
space
:这个开关的作用是用来控制是否在拼音词组中加入一个空格,以提高输入效率
default.custom.yaml
上文中我们定义了新的输入方案 pinyin
,我们需要在 default.custom.yaml
中的方案选单中配置该输入方案,以便我们可以选择使用pinyin
输入方案。default.custom.yaml
中的配置如下👇:
patch:ascii_composer/switch_key:Caps_Lock: commit_code # 候选状态下,按 Caps_Lock 后编码上屏Control_L: noop # 左 ctrl 键无使用效果Control_R: noop # 右 ctrl 键无使用效果Eisu_toggle: clear # 按 Esc 键,清除候选编码,退出候选框Shift_L: commit_code # 候选状态下,按 左 Shift 后,编码上屏Shift_R: commit_code # 候选状态下,按 右 Shift 后,编码上屏ascii_composer:good_old_caps_lock: true # true 通过 caps lock 键切换入英文模式后,保持大写输入状态engine/filters:- simplifier # 引入简体拼音输入法过滤器- uniquifier # 过滤重复候选项,依赖 simplifierkey_binder/bindings:- {accept: semicolon, send: 2, when: has_menu} # 使用 ; 键选择第 2 候选词- {accept: apostrophe, send: 3, when: has_menu} # 使用 . 键选择第 3 候选词- {accept: bracketleft, send: Page_Up, when: paging} # 使用 PageUp 键向上翻页- {accept: bracketright, send: Page_Down, when: has_menu} # 使用 PageDown 键向下翻页menu/page_size: 10 # 存在候选词选项时,每一页显示的候选词数量,最大是 10recognizer/patterns/punct: "^/([0-9]0?|[A-Za-z]+)$" # 标点符号识别模式schema_list:- {schema: wubi_pinyin} # 五笔・拼音 输入方案- {schema: easy_en} # 英文输入方案- {schema: pinyin} # 拼音输入switcher:abbreviate_options: true # 功能选项显示为简写模式caption: "〔方案选单〕" # 选项菜单的名字fold_options: true # 功能选项折叠显示hotkeys: [F8] # 使用 F8 键调出 方案选单
👆以上配置中,请注音观察schema_list
节点下最后一个schema
的内容。
rime.lua
pinyin
输入方案中我们使用到了lua_translator
和lua_filter
,我们在rime.lua
中增加一个translator
翻译器和一个filter
滤镜,rime.lua
中的配置如下👇:
help_translator = require("help")
inputShow_translator = require("inputShow")
inputShow_Filter = require("inputShow_Filter")
Upper_Filter = require("Upper_Filter")
dic_4w_Filter = require("dic_4w_Filter")
phraseReplace_Filter = require("phraseReplace_Filter")
pinyinAdding_Filter = require("pinyinAdding_Filter")
dateTime_Filter = require("dateTime_filter")
dynamicPhrase_Filter = require("dynamicPhrase_Filter")
phraseExt_Filter = require("phraseExt_Filter")
phraseComment_Filter = require("phraseComment_Filter")
pinyin_translator = require("pinyin_translator")
pinyin_Filter = require("pinyin_Filter")
👆以上lua
脚本中,注意观察最后两行内容。
💣注意:
以上所述default.custom.yaml
、pinyin.custom.yaml
、pinyin.schema.yaml
、rime.lua
四个文档,应该位于 用户文件夹 下,如下👇:
pinyin_translator.lua
pinyin_translator.lua
是一个lua
脚本,脚本实现了rime
引擎的lua_translator
翻译器接口;pinyin_translator.lua
脚本实现了用户输入编码向拼音词组翻译的功能。pinyin_translator.lua
脚本内容如下👇:
--lua语言中的注释用“--”
--[[
pinyin_translator.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
这是一个lua translator 翻译器,负责将用户输入的拼音生成带有声调的拼音,例如 pīn yīn
]]local logEnable, log = pcall(require, "runLog")
if logEnable thenlog.writeLog('')log.writeLog('log from pinyin_translator.lua')
endlocal a = {'ā','á','ǎ','à','a'}
local o = {'ō','ó','ǒ','ò','o'}
local e = {'ē','é','ě','è','e'}
local i = {'ī','í','ǐ','ì','i'}
local u = {'ū','ú','ǔ','ù','u'}
local v = {'ǖ','ǘ','ǚ','ǜ','ü'}
local jv = {'jū','jú','jǔ','jù','ju'}
local qv = {'qū','qú','qǔ','qù','qu'}
local xv = {'xū','xú','xǔ','xù','xu'}
local iu = {'iū','iú','iǔ','iù','iu'}
local ui = {'uī','uí','uǐ','uì','ui'}local aoeListDict = {['a']=a,['o']=o,['e']=e,['i']=i,['u']=u,['v']=v,['jv']=jv,['qv']=qv,['xv']=xv,['iu']=iu,['ui']=ui}local aoeList = {'a','o','e','ui','iu','i','u','jv','qv','xv','v'}function translator(input, seg)-- 遍历检查韵母, 找到对应的 aoeKey 值local aoeKey = ''for j,aoeK in ipairs(aoeList) doif nil ~= string.match(input,'.*'..aoeK..'.*') thenaoeKey = aoeKbreakendendlocal inputStr = input-- 如果没有 aoeKey,则在input后面加入一个 a,以提供有效的拼音选项if '' == aoeKey thenaoeKey = 'a'inputStr = input ..'a'end--这个 aoeK 存在于 input 中,则将 input 中第一个 aoeK 替换成对应的注音字符,然后抛出作为选项local aoeL = aoeListDict[aoeKey]for j,aoe in ipairs(aoeL) doyield(Candidate("pinyin", seg.start, seg._end,string.gsub(inputStr,aoeKey,aoe,1),''))if 4 == j and false then-- 如果这是第四个选项(四声),则填充5个None选项,目的是为了使轻声出现在序号为 0 的位置, 如果你希望这样,请将判定中的 false 改为truefor kk=5,9 doyield(Candidate("pinyin", seg.start, seg._end,'None'..tostring(kk),''))endendif 4 == j and true then--是否输出轻声选项,如果不想输出轻声选项(如果拼音中不包含 v,轻声可以通过 Enter 键直接将字母上屏即可),请保持判断条件为trueif string.find(inputStr,'v') < 1 then--如果确实没有 v 的存在,则可以跳过轻声选项breakendendend
endreturn translator
pinyin_Filter.lua
pinyin_Filter.lua
是一个lua
脚本定义的lua_filter
滤镜。pinyin_Filter.lua
所定义的滤镜的功能是根据space
开关的状态,决策是否向候选词组中加入空格。pinyin_Filter.lua
脚本的内容如下👇:
-- pinyin_Filter.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
--[[
这个过滤器的主要作用是,在拼音候选词组的尾部,增加一个空格
]]local logEnable, log = pcall(require, "runLog")
if logEnable thenlog.writeLog('')log.writeLog('log from pinyin_Filter.lua')
endlocal function pinyin_Filter(input, env)--获取选项space(空格)开关状态local spaceSwitchFlg = env.engine.context:get_option("space") or falsefor cand in input:iter() doif spaceSwitchFlg thenyield(Candidate("word", cand.start, cand._end, cand.text..' ', cand.comment))elseyield(cand)endend
endreturn pinyin_Filter
💣注意:
👆上述pinyin_translator.lua
和pinyin_Filter.lua
两个脚本文档,均应该位于 用户文件夹下的lua文件夹内,如下👇:
配置文档
👆以上所述配置文档,你可以在 rime中州韵小狼毫须鼠管输入法 汉语拼音输入方案配置包.zip 下载取用。
如果你可以访问gitHub
,你也可以在 dyyRime 中找到完全版本的配置包。
效果欣赏
当你完成了以上的所有设置时,你需要重新部署你的rime
,然后通过F4/F8
调出方案选单,你应该可以看到pīnyīn输入方案,如下👇:
选择pīnyīn
输入方案后,就可以愉快的开始体验拼音输入了。
如果希望输入的拼音后面自动加上一个空格,可以将space
开关打开,如下👇:
小结
本文分享了一中在rime
中州韵小狼毫须鼠管输入法中配置pīn yīn
输入方案的方法,从而实现了汉语拼音的快速录入,并且根据需要,可以在录入词组后自动加上空格。
相关文章:

rime中州韵小狼毫 汉语拼音输入方案
教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在word中,我们可以轻易的给汉字加上拼音,如下👇: 但是,如何单独的输入拼音呢?例如输入 pīn yīn, 再如 zhōn…...

网页设计(八)HTML5基础与CSS3应用
一、当当网企业用户注册页面设计 当当网企业用户注册页面 改版后当当网企业用户注册页面 <!-- prj_8_1.html --> <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>当当网企业用户注册页面设计</title><s…...

模拟瑞幸小程序购物车
是根据渡一袁老师的大师课写的,如有什么地方存在问题,还请大家指出来哟ど⁰̷̴͈꒨⁰̷̴͈う♡~ index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-e…...
react js自定义实现状态管理
redux基础实现 myRedux export const createStore (reduce) > {if (typeof reduce ! function) throw new Error(Expected the reducer to be a function.)let state,listeners []state reduce()const getState () > stateconst dispatch (action) > {if(typeo…...

行为型设计模式——中介者模式
中介者模式 中介者模式主要是将关联关系由一个中介者类统一管理维护,一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即…...
通信行业无线基本概念
fast roaming(快速漫游):使用户在不同的基站(access point)间可以平滑的切换,在802.11r协议标准中定义。band steering(波段转向):在双频段(2.4G和5G…...

grep 在运维中的常用可选项
一、对比两个文件 vim -d <filename1> <filename2> 演示: 需求:~目录下有两个文件一个test.txt 以及 text2.txt,需求对比两个文件的内容。 执行后会显示如图,不同会高亮。 二、两次过滤 场景:当需要多…...
python读取Dicom文件
文章目录 1. pydicom Library2. SimpleITK Library3. ITK Library (Insight Toolkit)4. GDCM Library (Grassroots DICOM) 下面提供几种用python方法读取Dicom文件 1. pydicom Library import pydicom # Read DICOM file dataset pydicom.dcmread("path_to_dicom_file.d…...

UL2034详细介绍UL 安全单站和多站一氧化碳报警器标准
在介绍相关标准之前先介绍一下UL认证和UL测试报告的区别,检测认证行业6年老司机 UL认证是自愿性的认证,需要检测产品和审核工厂,每个季度审核一次,费用高、时间久,而且审厂非常的严格。 UL测试报告是根据产品选用相应…...
鸿蒙HarmonyOS-SDK管理使用指南
鸿蒙HarmonyOS-SDK管理使用指南 文章目录 鸿蒙HarmonyOS-SDK管理使用指南sdkmgr使用指导查看SDK组件安装组件卸载组件查看sdkmgr版本查看sdkmgr帮助options选项说明ohsdkmgr使用指导查看SDK组件安装组件卸载组件查看ohsdkmgr版本查看ohsdkmgr帮助option...

QT上位机开发(进度条操作)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 进度条是一个比较常见的控件。如果某个操作需要很长的时间才能完成,那么这个时候最好有一个进度条提示,这样比较容易平复一…...
637_二叉树的层平均值
描述 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受 思路 无需思路,乱杀 解答 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, righ…...

Ubuntu20.4 Mono C# gtk 编程习练笔记(三)
Mono对gtk做了很努力的封装,即便如此仍然与System.Windows.Form中的控件操作方法有许多差异,这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 Button控件 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype&…...
What is `JsonSanitizer.sanitize` does?
JsonSanitizer.sanitize 是一个Java库中的方法,用于处理和净化JSON字符串,特别是针对跨站脚本攻击(XSS, Cross-Site Scripting)。 例如,在处理富文本内容、用户评论、从第三方服务获取的数据时,使用 JsonSa…...
K8S测试pod
背景 用于测试ping,curl等类型的pod Centos pod apiVersion: apps/v1 kind: Deployment metadata:name: centos-deploymentlabels:app: centos spec:replicas: 1selector:matchLabels:app: centostemplate:metadata:labels:app: centosspec:containers:- name: c…...

序章 熟悉战场篇—了解vue的基本操作
了解vue 的基本目录: dist 是打包后存放的目录(打包目录后续可以改)node_modules 是依赖包public 是静态index页面src 是存放文件的目录assets 是存放静态资源的目录components 是存放组件的目录views 是存放页面文件的目录(没有views 自己新建一个&…...
MongoDB聚合:$bucketAuto
按照指定的表达式对输入文档进行分类后放入指定数字的桶中,跟$bucket不太一样,$bucketAuto可以指定分组的数量(颗粒度),$bucketAuto会根据groupBy的值和颗粒度自动生成桶的边界。 语法 {$bucketAuto: {groupBy: <…...

认识监控系统zabbix
利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器状态 ●可以在 Web 前端方便的查看监控数据 ●可以回溯寻找事故发生时系统的问题和报警情况 了解zabbix zabbix是什么? ●zabbix 是一个基于 Web 界面的提供分布…...

东北编程语言???
在GitHub闲逛,偶然发现了东北编程语言: 东北编程语言是由Zhanyong Wan创造的,它使用东北方言词汇作为基本关键字。这种编程语言的特点是简单易懂,适合小学文化程度的人学习,并且易于阅读、编写和记忆。它的语法与其他编…...

React16源码: React中的schedule调度整体流程
schedule调度的整体流程 React Fiber Scheduler 是 react16 最核心的一部分,这块在 react-reconciler 这个包中这个包的核心是 fiber reconciler,也即是 fiber 结构fiber 的结构帮助我们把react整个树的应用,更新的流程,能够拆成…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...