RIME 安装使用配置
By 辞峡烟斜
一直以来都在找各平台都可以适用的输入法。Debian 目前自带的 fcitx 五笔输入法的确是有点太难用了,Windows平台的五笔倒是挺多,几十年来,极点、极品、QQ等出的五笔都用过,最后还是懒得折腾,用起了微软五笔。个人用户词库各平台同步是一大问题。倒是喜欢手机的讯飞,可是没有五笔啊。一直以来,众多网友都强烈推荐 Rime,一直没试用。如今心血来潮,安装使用,发现不是一般的好用,各平台都可以用,个人词库同步基本不成问题,还可高定制,这就够了。趁着热情,我又学起了徐码,逐步取代日常使用的五笔吧!以下记录 Rime 安装使用配置全过程。
介绍说明
Rime 是开源、跨平台、可高定制性的输入法软件。
- Rime 官方网站:https://rime.im/
- Rime Github:https://github.com/rime/
- 官方帮助文档:https://github.com/rime/home/wiki/RimeWithSchemata
平台不同,称呼不同:
- 【中州韻】 ibus-rime → Linux, https://github.com/rime/ibus-rime
- 【小狼毫】 Weasel → Windows, https://github.com/rime/weasel
- 【鼠鬚管】 Squirrel → Mac OS X, https://github.com/rime/squirrel
- 【同 文】 Trime → Android 安卓, https://github.com/osfans/trime
Rime 在不同的平台安装后,会存在两种资料夹:
-
共享资料夹,也称程序文件夹,用于存放系统默认资料,建议不修改下面任何文件
- 【中州韻】 /usr/share/rime-data/
- 【小狼毫】 “安裝目錄\data”
- 【鼠鬚管】 “/Library/Input Methods/Squirrel.app/Contents/SharedSupport/”
-
用户资料夹,也称用户文件夹,用于存放个人配置及用户词典等资料,定制文件放于此处,注意备份
- 【中州韻】 ~/.config/ibus/rime/ (0.9.1 以下版本爲 ~/.ibus/rime/)
- 【小狼毫】 %APPDATA%\Rime
- 【鼠鬚管】 ~/Library/Rime/
Rime 框架安装
Debian 平台
Rime 默认采用 iBus 框架(也支持 fcitx,但据说已经不更新),系统不能同时存在两种输入框架,所以得卸载之前使用的 fcitx:
apt-get remove --purge fcitx*
再安装:
aptitude install ibus-rime librime-data-wubi librime-data-pinyin-simp #此步后两个可以不安装,具体安装五笔时可以采用下述方法安装
执行上述安装步骤后,进行IBus Preferences
-Input Method
设置,点击Add
按钮,选择Chinese
-Rime
,确定后即可使用。默认添加了朙月拼音、地球拼音、注音等输入方案,用 Ctrl+`(Tab按键的上方按键)
即可调出,如无特殊要求,即可不定制直接使用。
Windows 平台
建议直接从https://rime.im/download/下载 Windows 平台安装文件,直接默认安装即可使用。安装过程中,可以更改用户文件夹位置。
更多输入方案安装
以下只以五笔86、繪文字 emoji、徐码为例,更多输入方案请参阅https://github.com/sgalal/awesome-rime等。
五笔86
Rime 五笔86 Github:https://github.com/rime/rime-wubi
东风破方式安装
东风破Github:https://github.com/rime/plum。
首先安装东风破,官方安装说明如下:
you can specify a configuration among :preset, :extra and :all (note the colon):
curl -fsSL https://git.io/rime-install | bash -s -- :preset
This is equivalent to cloning this repo and running the local copy of rime-install:
git clone --depth 1 https://github.com/rime/plum.git
cd plum
bash rime-install :preset
**注意:**上述安装命令均以当前用户执行,不要用 root 用户执行,否则新的输入方案就被安装到 root 用户文件夹了,当前用户还是用不了新的输入方案。
更新东风破自身,执行:
bash rime-install plum
安装五笔86版:在东风破目录执行
bash rime-install wubi pinyin-simp #五笔86依赖朙月拼音简体
手动方式安装
将 https://github.com/rime/rime-wubi 目录下wubi86.dict.yaml
、wubi86.schema.yaml
、
wubi_pinyin.schema.yaml
、wubi_trad.schema.yaml
4个文件拷贝至用户文件夹即可。
繪文字 emoji
Rime emoji Github:https://github.com/rime/rime-emoji
自動安裝
東風破安裝口令: bash rime-install emoji
在輸入方案中添加候選繪文字,以朙月拼音(luna_pinyin)爲例,代入配方參數:
bash rime-install emoji:customize:schema=luna_pinyin
自助安裝
将 https://github.com/rime/rime-emoji 目录下customize.recipe.yaml
、emoji_suggestion.yaml
文件以及
opencc
文件夹(包含其内的三个文件)拷贝至用户文件夹内。
并将emoji_suggestion.yaml
內的內容加入至想添加Emoji的方案custom檔中,注意去掉其中的patch:
字样和缩进,一个输入方案custom档中只允许有一个patch:
;
或者将如下内容添加进输入方案custom档中,不缩进顶格粘贴。
# 添加 emoji 表情
__patch:
# Rx: emoji:customize:schema=wubi_pinyin {
- patch/+:
__include: emoji_suggestion:/patch
# }
Rime 徐码输入方案
徐码输入法官方网站:https://www.xumax.top/ Rime 徐码输入方案:https://github.com/Ace-Who/rime-xuma
下载最新发布包,解压后将 schema 目录下的所有文件和文件夹都放到 rime 用户目录即可。
使用配置
安装上述新的输入方案后,发现不能用 Ctrl+`(Tab按键的上方按键)
调出使用,尚需要手工配置。
配置有针对全局的配置,也有针对具体输入方案特殊的配置,所有这些配置文件均存于用户文件夹内,以*.custom.yaml
命名。如下是我的个人使用配置,default.custom.yaml
全局配置文件、 wubi_pinyin.custom.yaml
五笔拼音个人配置文件、xuma_qshare.custom.yaml
徐码QS个人配置文件。除此外,其他配置文件官方强烈建议不要更改,因为一更新,将全部被覆盖。
default.custom.yaml
全局配置
# default.custom.yaml
patch:
"switcher/hotkeys": # 這個列表裏每項定義一個快捷鍵,使哪個都中
# - "Control+s" # 添加 Ctrl+s
- "Control+grave" # 你看寫法並不是 Ctrl+` 而是與 IBus 一致的表示法
"switcher/caption": "〔输入方案选择〕" # 更改原“〔方案選單〕,我自己改了显示文字”
schema_list: # 對於列表類型,現在無有辦法指定如何添加、消除或單一修改某項,於是要在定製檔中將整個列表替換!名称须与各输入方案schema文件里相对应
- schema: wubi_pinyin #对应五笔拼音
- schema: wubi86 #五笔86
- schema: luna_pinyin_simp #朙月拼音简体
- schema: luna_pinyin #朙月拼音
- schema: xuma_qshare #徐码QS
- schema: xuma_qshare_type1 #徐码QS一型
- schema: xuma_52p_qshare #徐码五二顶
"menu/page_size": 9 #候选词个数
"key_binder/bindings":
# Emacs style
- { when: composing, accept: Control+p, send: Up }
- { when: composing, accept: Control+n, send: Down }
- { when: composing, accept: Control+b, send: Left }
- { when: composing, accept: Control+f, send: Right }
- { when: composing, accept: Control+a, send: Home }
- { when: composing, accept: Control+e, send: End }
- { when: composing, accept: Control+d, send: Delete }
- { when: composing, accept: Control+k, send: Shift+Delete }
- { when: composing, accept: Control+h, send: BackSpace }
- { when: composing, accept: Control+g, send: Escape }
- { when: composing, accept: Control+bracketleft, send: Escape }
- { when: composing, accept: Alt+v, send: Page_Up }
- { when: composing, accept: Control+v, send: Page_Down }
# move by word
- { when: composing, accept: ISO_Left_Tab, send: Shift+Left }
- { when: composing, accept: Shift+Tab, send: Shift+Left }
- { when: composing, accept: Tab, send: Shift+Right }
# flip page
- { when: has_menu, accept: minus, send: Page_Up }
- { when: has_menu, accept: equal, send: Page_Down }
- { when: has_menu, accept: semicolon, send: 2 } #分号上屏幕第二候选词
- { when: has_menu, accept: apostrophe, send: 3 } #单引号上屏幕第三候选词
- { when: paging, accept: comma, send: Page_Up } #逗号候选词上翻页
- { when: has_menu, accept: period, send: Page_Down } #句号候选词下翻页
# hotkey switch
- { when: always, accept: Control+Shift+1, select: .next }
- { when: always, accept: Control+Shift+2, toggle: ascii_mode }
- { when: always, accept: Control+Shift+3, toggle: full_shape }
- { when: always, accept: Control+Shift+4, toggle: simplification }
- { when: always, accept: Control+Shift+5, toggle: extended_charset }
- { when: always, accept: Control+Shift+exclam, select: .next }
- { when: always, accept: Control+Shift+at, toggle: ascii_mode }
- { when: always, accept: Control+Shift+numbersign, toggle: full_shape }
- { when: always, accept: Control+Shift+dollar, toggle: simplification }
- { when: always, accept: Control+Shift+percent, toggle: extended_charset }
- { when: always, accept: Shift+space, toggle: full_shape }
- { when: always, accept: Control+period, toggle: ascii_punct }
wubi_pinyin.custom.yaml
五笔拼音个人配置
patch:
"switches/@0/reset": 1 #表示將 switcher 列表中的第一個元素(即 ascii_mode 開關)的初始值重設爲狀態1(即「英文」)。
#启用特殊符号输入
punctuator/import_preset: symbols
recognizer/patterns/punct: '^/([0-9]0?|[A-Za-z]+)$'
# punctuator/full_shape:
# "/" : "、"
# punctuator/half_shape:
# "/" : "、"
punctuator/symbols: #自定义特殊符号
"/gou" : ["√","✔"]
"/cha" : ["✕","✖"]
# 开启自动造词相关设置
# translator/enable_sentence: false # 关闭句子输入
# translator/enable_user_dict: true # 是否开启用户词典(用户词典记录动态字词频,用户词)
# translator/enable_encoder: true # 自动造词
# translator/encode_commit_history: true # 是否对已上屏的词自动造词
speller/max_code_length: 4 # 最长4码
speller/auto_select: true # 顶字上屏
speller/auto_select_unique_candidate: true # 无重码自动上屏。
#顶字上屏与自动上屏的区别:
#顶字上屏,是当达到最大码,一般是4码时,无重码。再按第5码时,会将前四码的字顶上输入框中。
#自动上屏,一般是无重码时,到到四码,自动将这唯一的一一个上屏。
### 使用自定义词典 custom_phrase_litad.txt,不推荐使用(后有说明),需在用户文件夹内新建custom_phrase_litad.txt,见后附内容格式
# custom_phrase:
# dictionary: ""
# user_dict: custom_phrase_litad
# db_class: stabledb
# enable_completion: false
# enable_sentence: false
# initial_quality: 1
# "engine/translators/@5": table_translator@custom_phrase
# 添加 emoji 表情
__patch:
# Rx: emoji:customize:schema=wubi_pinyin {
- patch/+:
__include: emoji_suggestion:/patch
# }
附自定义词典 custom_phrase_litad.txt 文件内容:
# Rime table
# coding: utf-8
#@/db_name custom_phrase.txt
#@/db_type tabledb
#
# 用於【朙月拼音】系列輸入方案
# 【小狼毫】0.9.21 以上
#
# 請將該文件以UTF-8編碼保存爲
# Rime用戶文件夾/custom_phrase.txt
#
# 碼表各字段以製表符(Tab)分隔
# 順序爲:文字、編碼、權重(決定重碼的次序、可選)
#
# 雖然文本碼表編輯較爲方便,但不適合導入大量條目
#
# no comment
中州韻輸入法引擎 rime 2
又双叒叕 yyy
http://rime.im/ rime 1
Rime rime 3
上述词典,输入 rime 会出现3个候选词。
xuma_qshare.custom.yaml
徐码QS个人配置
patch:
"switches/@1/reset": 1 #表示將 switcher 列表中的第二個元素(即 ascii_mode 開關)的初始值重設爲狀態1(即「英文」)。注意与上面五笔拼音对比,此处为 @1 ,而非五笔拼音里的 @0,是0还是1得要具体看对应的 schema 文件里是第一项还是第二项
#启用特殊符号输入
punctuator/import_preset: symbols
recognizer/patterns/punct: '^/([0-9]0?|[A-Za-z]+)$'
# punctuator/full_shape:
# "/" : "、"
# punctuator/half_shape:
# "/" : "、"
punctuator/symbols:
"/gou" : ["√","✔"]
"/cha" : ["✕","✖"]
key_binder:
import_preset: default # schema 文件里对快捷键进行了更改,此处进行修改,载入默认,方便使用 default.custom.yaml 里的定义。
translator/encode_commit_history: true # 是否对已上屏的词自动造词
fixed/enable_user_dict: true # 是否开启用户词典(用户词典记录动态字词频,用户词),对 schema 文件里相应的定义进行更改
# 添加 emoji 表情
__patch:
# Rx: emoji:customize:schema=wubi_pinyin {
- patch/+:
__include: emoji_suggestion:/patch
# }
重新部署
上述更改相关配置后,得重新部署才能生效。
重新部署的操作方法:
- 【中州韻】點擊輸入法狀態欄上的 ⟲ (Deploy) 按鈕 或:如果找不到狀態欄,在終端輸入
touch ~/.config/ibus/rime/; ibus restart
觸發自動部署。或者也可以重启 IBus:ibus-daemon -drx
。 - 【小狼毫】開始菜單→小狼毫輸入法→重新佈署;當開啓托盤圖標時,右鍵點選「重新佈署」
- 【鼠鬚管】在系統語言文字選單中選擇「重新佈署」
备份与同步
上述配置后,在使用过程中,根据输入频率、上屏字词等会自动生成用户词典(见*.userdb
文件夹),但此时如果想浏览修改自定义用户字词不太方便,得要同步后,在同步目录生成的*.userdb.txt
文件才能直观浏览、修改和增加。徐码虽然也有自设定的用户词典文件xuma.extended.dict.yaml
,但不能双向合并同步,比较不便,不建议使用。
Rime 提供的同步功能暂不能自动设定云同步,只能本地同步,需要自己采用坚果云、Syncthing等进行云同步。在用户文件夹下installation.yaml
文件用来设定同步。
Debian 平台下installation.yaml
文件内容大致如下:
distribution_code_name: "ibus-rime"
distribution_name: Rime
distribution_version: 1.4.0
install_time: "Mon Jan 18 16:38:36 2021"
installation_id: "liPc1"
rime_version: 1.4.0
sync_dir: "/home/litad/ltdZiao/1syncData/00_DataBaKUP/01configBKUP/RimeConfig/0SyncDir0"
Windows10 平台下installation.yaml
文件内容大致如下:
distribution_code_name: Weasel
distribution_name: "小狼毫"
distribution_version: 0.14.3
install_time: "Thu Jan 21 16:53:55 2021"
installation_id: "liPc2"
rime_version: 1.5.3
sync_dir: 'E:\ltdZiao\1syncData\00_DataBaKUP\01configBKUP\RimeConfig\0SyncDir0'
上述 installation_id 、sync_dir 值自定。设置好后,使用 Rime 的同步功能,将自动将相关个人配置以及用户词典内容备份到 sync_dir
设定的目录里。设定云同步软件时,只同步 sync_dir
目录即可。
注意:每次同步,对于输入方案个人配置的内容,将自动以用户文件夹的相应文件覆盖备份目录里相应的内容;对于生成的个人用户词典,将实行双向同步,一方面合并备份目录其他主机或平台(如有)生成的个人用户词典内容,另一方面合并本机现下生成的个人用户字词。一句话,个人配置文件各平台不自动同步,是单向的,不合并,用户词典是双向的,合并内容。所以,更改输入方案配置文件请更改用户文件夹下的相应文件,修改增加个人用户字词短语,可以修改备份目录sync_dir
下的*.userdb.txt
文件。
如我用五笔拼音输入方案生成的个人用户词典文件wubi86.userdb.txt
内容如下:
# Rime user dictionary
#@/db_name wubi86.userdb
#@/db_type userdb
#@/rime_version 1.4.0
#@/tick 393
#@/user_id litad-inVmDeb
amyy 英文 c=1 d=0.494109 t=393
appl 劳军 c=3 d=2.34814 t=393
awx 花 c=4 d=3.69824 t=393
awxa 花红 c=1 d=0.980199 t=393
前面是编码(可以是任何自定义的编码),中间是Tab制表符,再是组的字词,再后面的可以不管。这里就可以根据需要删除、增加、更改。
问题与解决
目前发现的有:
- 如候选框有些字体显示方块字,则大概率是系统缺少大字集,可以考虑下载使用大字集字体,如花园明朝字体< https://zh.osdn.net/projects/hanazono-font/>。
有关声明
以上内容大部分从网上摘取修改,如有繁体字的,大多从Rime 官网摘录,其他途中很多忘了记录出处,如有侵犯,敬请提醒告知。