====== 中州韵 ======
----
{{ :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]]