====== 中州韵 ====== ---- {{ :wiki:rime.png?200|}} 中州韵输入法引擎(英语:Rime Input Method Engine,又称Rime 输入法) 是由佛振编写的开源[[中文]]输入法,目前项目网站、源代码均托管在GitHub。 基于同一个核心架构,该输入法分为三个官方发行版: Linux 发行版中州韵(ibus-rime)、Windows发行版小狼毫(Weasel)、macOS 发行版鼠须管(Squirrel)。 移动平台也有基于Rime做的输入法:Android下叫[[https://github.com/osfans/trime|Trime]], iOS下叫iRime。 ---- {{ :wiki:rime2.png |}} ====== 为什么使用 Rime 输入法? ====== ---- Rime 输入法的优势在于它高度的可自定义化。 从外观,到按键设置、标点定制,还可以实现输入颜文字、希腊字母等奇葩操作。 只要肯花一点时间,就可以让输入法变成我们想要的样子。 此外,我们不必再担心输入法的**隐私问题**,也可摆脱输入法**广告**骚扰。 ====== 安装 ====== ---- 在安装过程中,会依次弹出两个窗口,让我们选择输入方案和界面风格。 这两个步骤以后也可以重新设置,所以不必过多纠结。 选好了点击''中''(河南话),再点击''中'',然后就安装完成了。 安装成功后,理论上就已经可以使用了。 但是既然我们想要使用 Rime,一定是为了对其进行自定义配置来提高使用体验。 Rime 输入法具有很高的自由度,可以让我们在各方面进行自定义配置,让输入法无限贴近我们的需求。 ====== 基础设置 ====== ---- ===== 切换简体字 ===== ---- 安装完输入法后,按下''Ctrl+`''快捷键。 (或者在输入时,按下''F4''键) 会弹出如下窗口, {{:wiki:rime_setting.png?200|}} 选择''简化字''选项后,回车即可。 ===== 添加输入方案 ===== ---- Rime 默认的输入方案有很多,但如果你是五笔或双拼用户,就需要自己添加方案。 以 自然码双拼 为例,方法如下: **第一步**:在 Github 找到想要的方案,将其中的 *.yaml 文件下载下来, 放到**用户文件夹**(对输入法点右键,可找到) 中 {{:wiki:rime_setting2.png?200|}} **第二步**:在**用户文件夹**中新建default.custom.yaml文件(如果存在,就不需创建了) 并写入如下内容 # default.custom.yaml patch: schema_list: -schema: double_pinyin 上述代码中,patch: 这一行在同一个文件中只需出现一次, 如果有多处修改都包含此行,则只需保留一个,并按照相同缩进对其即可。 缩进很重要,请务必对齐。 **第三步**:通过开始菜单或托盘图标 **重新部署** 即可。 ====== 全局设置 ====== ---- ===== 候选词数量 ===== ---- Rime 默认的选词数量为 5,我们可以将其修改为其他数值。 最多为10,十个候选词分别对应数字1~9和0。 在 **用户文件夹** 找到default.custom.yaml文件,文本打开 参考代码如下: # default.custom.yaml patch: "menu/page_size": 10 ===== 方案选单热键 ===== ---- Rime 默认将 ''Ctrl+~'' 和 ''F4'' 作为方案选单的快捷键(或叫热键), 这有时会和其他软件或游戏的快捷键发生冲突。为了解决这个让人裂开的问题, 可以在 default.custom.yaml 中更改快捷键。 # default.custom.yaml patch: "switcher/hotkeys": - "Control+grave" (grave键就是这个''~'',也叫反引号键 ) ===== 以方括号 [ ] 来换页 ===== ---- 可以在 default.custom.yaml 中更改。 # default.custom.yaml patch: key_binder/bindings: - when: paging accept: bracketleft send: Page_Up - when: has_menu accept: bracketright send: Page_Down ===== 在特定程序里关闭中文输入 ===== ---- 在一些终端、代码编辑器或快速启动工具等程序中,中文很少会用到, 那么我们可以在这些程序里默认关闭中文输入。 还有在很多游戏中,默认关闭中文输入可以避免 “想前进,却在屏幕上打出一长串 W” 的窒息操作 。 比如下面的例子,我们希望在 Photoshop 和 Illustrator 中默认关闭中文输入。 修改用户文件夹中点weasel.custom.yaml文件 # weasel.custom.yaml patch: app_options/photoshop.exe: # 程序名字全用小写字母 ascii_mode: true app_options/illustrator.exe: # 如果有多个程序,按照这个格式补充 ascii_mode: true 程序的名称一般为 *.exe,如果不知道, 可以通过快捷方式的右键菜单中的 “打开文件所在位置 ” 找到; 也可以通过任务管理器查看正在运行的程序。 ====== 输入方案配置 ====== ---- 该部分以 朙月拼音 为例。 请读者注意:如果你使用的不是 朙月拼音 , 那么下文中出现 luna_pinyin.custom.yaml 文件的地方,请替换为相应文件。 搞清楚这一点很重要,因为你可能会同时拥有上述两种文件, 如果对错误的文件进行了修改,可能就不起作用。 举个例子,我使用 自然码双拼,对应的文件为 double_pinyin.custom.yaml。 在下文中任何要修改 luna_pinyin.custom.yaml 的地方,操作对象换为 double_pinyin.custom.yaml。 ===== 模糊音设置 ===== ---- 修改luna_pinyin.custom.yaml文件 (在用户文件夹中,如果没有则创建一个) 参考如下: # luna_pinyin.custom.yaml # # 【朙月拼音】模糊音定製模板 # 佛振配製 :-) # # 位置: # ~/.config/ibus/rime (Linux) # ~/Library/Rime (Mac OS) # %APPDATA%\Rime (Windows) # # 於重新部署後生效 # patch: 'speller/algebra': - erase/^xx$/ # 第一行保留 # 模糊音定義 # 需要哪組就刪去行首的 # 號,單雙向任選 #- derive/^([zcs])h/$1/ # zh, ch, sh => z, c, s #- derive/^([zcs])([^h])/$1h$2/ # z, c, s => zh, ch, sh #- derive/^n/l/ # n => l #- derive/^l/n/ # l => n # 這兩組一般是單向的 #- derive/^r/l/ # r => l #- derive/^ren/yin/ # ren => yin, reng => ying #- derive/^r/y/ # r => y # 下面 hu <=> f 這組寫法複雜一些,分情況討論 #- derive/^hu$/fu/ # hu => fu #- derive/^hong$/feng/ # hong => feng #- derive/^hu([in])$/fe$1/ # hui => fei, hun => fen #- derive/^hu([ao])/f$1/ # hua => fa, ... #- derive/^fu$/hu/ # fu => hu #- derive/^feng$/hong/ # feng => hong #- derive/^fe([in])$/hu$1/ # fei => hui, fen => hun #- derive/^f([ao])/hu$1/ # fa => hua, ... # 韻母部份 #- derive/^([bpmf])eng$/$1ong/ # meng = mong, ... #- derive/([ei])n$/$1ng/ # en => eng, in => ing #- derive/([ei])ng$/$1n/ # eng => en, ing => in # 樣例足夠了,其他請自己總結…… # 反模糊音? # 誰說方言沒有普通話精確、有模糊音,就能有反模糊音。 # 示例爲分尖團的中原官話: #- derive/^ji$/zii/ # 在設計者安排下鳩佔鵲巢,尖音i只好雙寫了 #- derive/^qi$/cii/ #- derive/^xi$/sii/ #- derive/^ji/zi/ #- derive/^qi/ci/ #- derive/^xi/si/ #- derive/^ju/zv/ #- derive/^qu/cv/ #- derive/^xu/sv/ # 韻母部份,只能從大面上覆蓋 #- derive/^([bpm])o$/$1eh/ # bo => beh, ... #- derive/(^|[dtnlgkhzcs]h?)e$/$1eh/ # ge => geh, se => sheh, ... #- derive/^([gkh])uo$/$1ue/ # guo => gue, ... #- derive/^([gkh])e$/$1uo/ # he => huo, ... #- derive/([uv])e$/$1o/ # jue => juo, lve => lvo, ... #- derive/^fei$/fi/ # fei => fi #- derive/^wei$/vi/ # wei => vi #- derive/^([nl])ei$/$1ui/ # nei => nui, lei => lui #- derive/^([nlzcs])un$/$1vn/ # lun => lvn, zun => zvn, ... #- derive/^([nlzcs])ong$/$1iong/ # long => liong, song => siong, ... # 這個辦法雖從拼寫上做出了區分,然而受詞典制約,候選字仍是混的。 # 只有真正的方音輸入方案纔能做到!但「反模糊音」這個玩法快速而有效! # 模糊音定義先於簡拼定義,方可令簡拼支持以上模糊音 - abbrev/^([a-z]).+$/$1/ # 簡拼(首字母) - abbrev/^([zcs]h).+$/$1/ # 簡拼(zh, ch, sh) # 以下是一組容錯拼寫,《漢語拼音》方案以前者爲正 - derive/^([nl])ve$/$1ue/ # nve = nue, lve = lue - derive/^([jqxy])u/$1v/ # ju = jv, - derive/un$/uen/ # gun = guen, - derive/ui$/uei/ # gui = guei, - derive/iu$/iou/ # jiu = jiou, # 自動糾正一些常見的按鍵錯誤 - derive/([aeiou])ng$/$1gn/ # dagn => dang - derive/([dtngkhrzcs])o(u|ng)$/$1o/ # zho => zhong|zhou - derive/ong$/on/ # zhonguo => zhong guo - derive/ao$/oa/ # hoa => hao - derive/([iu])a(o|ng?)$/a$1$2/ # tain => tian # 分尖團後 v => ü 的改寫條件也要相應地擴充: #'translator/preedit_format': # - "xform/([nljqxyzcs])v/$1ü/" ''^和$的意思是:匹配以什么为开头和结尾'' ===== 定制标点符号 ===== ---- Rime 提供的标点符号非常全面,但是每个人的需求不同, 一般用不到所有的符号,所以我们需要根据自己的需求进行定制。 也有的用户习惯以 / 键输入标点「、」,这同样要通过定制标点符号实现。 以 朙月拼音 为例,输入方案中有以下设定: # luna_pinyin.schema.yaml punctuator: import_preset: default 解释: punctuator 是 Rime 中负责转换标点符号的组件。该组件会从设定中读取符号映射表,而知道该做哪些转换。 punctuator/import_preset 是说,本方案要继承一组预设的符号映射表、要从另一个设定档 default.yaml 导入 查看 default.yaml ,確有如下符号表 # default.yaml punctuator: full_shape: "/" : [ /, "/", ÷ ] half_shape: "/" : [ "/", /, ÷ ] 可见,在默认方案中,按键 / 是被指定到 "/", /, ÷ 等一组符号了。 并且全角和半角状态下,符号有不同的定义。 欲令 / 键直接输出「、」,我们要做的事情,是定制 luna_pinyin.custom.yaml: # luna_pinyin.custom.yaml patch: punctuator/full_shape: "/" : "、" punctuator/half_shape: "/" : "、" 以上在输入方案设定中写入两组新值,合并后的输入方案成为: # luna_pinyin.schema.yaml punctuator: import_preset: default full_shape: "/" : "、" half_shape: "/" : "、" 含义是,在由 default 导入的符号表之上,覆写对按键 / 的定义。 通过这种方法,既直接继承了大多数符号的默认定义,又做到了局部的个性化。 ===== 输入特殊符号 ===== ---- Rime 提供了极其丰富的特殊符号的输入方法, 具体方案可以在''symbols.yaml''(在**程序文件夹**的data文件夹中)中查看。 如果无法正常显示,尝试用浏览器或其他编辑器打开。 比如,使用''/sx''可以打出各种数学符合±÷×∈≠∑∮, 使用''/xl''可以输出希腊字母αβγδθη,使用''/mj''可以输出麻将符号🀀🀁🀇🀐🀚。 ==== 添加自定义符号 ==== ---- 由于''symbols.yaml''(在**程序文件夹**的data文件夹中)不能使用 *.custom 打补丁,我们需要这样操作: 1 在**用户文件夹**新建文件 ''mysymbols.yaml''(你可以自己决定) 2 找到文件 ''symbols.yaml'' ,将文件内容全部粘贴至刚刚新建的 ''mysymbols.yaml'' 中 3 将 ''luna_pinyin.schema.yaml'' 中 'punctuator/import_preset'指向改为 ''mysymbols'' (代码见下) 4 按照已有的格式添加自定义内容 # luna_pinyin.schema.yaml patch: "punctuator/import_preset": mysymbols ====== 历史 ====== ---- 等待补充 ====== 相关网站 ====== ---- [[https://rime.im/|官网]] [[https://github.com/rime|源码]] [[https://github.com/rime/home/wiki/UserGuide|Rime官方说明书]] [[https://github.com/osfans/trime/wiki/UserGuide|Rime输入法自定义参考]] 通过[[IPFS]]公共网关下载 [[https://gateway.pinata.cloud/ipfs/bafybeic2arib7fpfaetxg3t4xxyippnwr7o3qpkbsalnbmaqqt4q5qeoni?filename=weasel-0.15.0.0-installer.exe|weasel-0.15.0.0-installer.exe]] 通过[[IPFS]]公共网关下载 [[https://gateway.pinata.cloud/ipfs/QmZe9ZEYQ13f9dxv793L5fEuxc8mbXhSwuFP76QeWzsNkQ?filename=trime-3.2.16-armeabi-v7a-debug.apk|trime-3.2.16-armeabi-v7a-debug.apk]] 通过[[IPFS]]公共网关下载 [[https://gateway.pinata.cloud/ipfs/QmWjAzSF7RvBW8YrMCvkLE3iRx2TxrhTs63tGf77mm568L?filename=trime-3.2.16-arm64-v8a-debug.apk|trime-3.2.16-arm64-v8a-debug.apk]]