鼠鬚管配置手記

以下文字是用搜狗输入法完成输入的.

0xFF 篇头

几年前我就尝试过使用鼠须管, 但是配置着实麻烦, 而且尚且达不到自己的需求. 现在, 由于苦于iOS平台的搜狗输入法实在是男用的要命, 而且我也想换换口味. 这里吐槽一下, iOS和macOS上的双拼输入法都没有自然码, 而且iOS还不允许链接蓝牙键盘使用第三方输入法, 就十分尴尬…
好了, 言归正传, 鼠须管是一个自由度十分高的输入法引擎: Rime在macOS上的实现. 首先, 之所以叫她引擎而不是输入法, 是因为鼠须管给各种输入方式提供了一个平台, 在其上能够方便的自定义很多输入方式, 诸如藏语输入法, 注音输入法, 阿拉伯语输入法等等. 这个引擎, 通过用户的设置, 可以变得十分强大. 不过, 也正因为如此, 使其变得得心应手需要相当多的配置, 这点令很多人望而却步.
在我写这篇笔记的时候, 我也在一步一步配置着属于我的Rime, 所以我将用:目标 -> 实现的方式来写这篇笔记.

0x01 如何配置鼠须管(RIME)?

鼠须管在macOS上的配置文件文件夹为~/Library/Rime/, 可以看到这个文件夹有着许多的YAML格式的配置文件.
7FC4141A-9C66-4904-8D45-52
这些配置文件就是Rime的核心. 我们只需要编辑这些文件并且保存, 然后点击鼠须管当中的”重新部署”, 就能够让我们的配置生效. 不过要注意的是, YAML对缩进十分敏感, 所以务必确定配置中的缩进关系是正确的, 以防配置出错.

0x02 我想搞双拼!

双拼是我的硬需求, 如此符合人类直觉的输入方式没有得到普及是中文输入群体的不幸. 自然, 我需要给我的输入法配置上一个顺手的双拼方案 - 自然码. 好在Rime提供了详尽的说明文档供我参考.
Rime发展到现在, 出现了一个十分方便的配置管理工具 - 东风破, 我们用她来安装我们需要的双拼输入方案. 首先打开终端并且切换目录到你钟爱的文件夹, 在终端运行以下命令来安装她(以下命令将会在当前目录创建一个”plum”文件夹):
curl -fsSL https://git.io/rime-install | bash
由于”essay(八股文)”等仓库里面有词库大文件, 所以可能会卡在Unpacking阶段一段时间, 稍安勿躁.
然后我们可以使用./plum/rime-install来检查一下安装是否正确, 并且更新一下我们已经有的输入法方案配置.
最后, 我们利用./plum/rime-install double-pinyin来安装我们想要的双拼输入方案.
然后打开配置文件中的default.custom.yaml, 也就是说默认配置(自定义).
修改一下我们已经有的方案列表, 仅保留Luna拼音和我们新装的双拼(双拼放在前面):

1
2
3
4
5
patch:
schema_list:
- schema: double_pinyin
- schema: luna_pinyin
- schema: emoji # 若要启用emoji, 请用rime-install安装emoji

这种方式是无需更改默认配置的, 更新也不会被覆盖.
需要注意的是, 通过brew安装的鼠须管是会出现无法部署的问题(据悉是librime库的问题, 在最新的代码中已经修复), 所以遵循Github上的INSTALL.md来手动编译安装就不会出现问题了.
在输入法图标处选择鼠须管, 并且点击重新部署, 过了一会儿, 当显示部署成功的时候, 我们就能用双拼了!

0x03 我想用简体!

Rime的作者佛振开发Rime是为了繁体和古汉语输入, 所以如果我们想要使用她作为日常输入法, 就必须调整成简体, 也就是中国大陆的使用习惯.
如果只是想简单用一下简体, 那么用Ctrl+grave打开方案选单, 进入”中/半/汉”菜单选择繁体到简体便可. 但是这种方法如果切换了输入法, 或者是在新开的窗口, 默认还是输入繁体. 好在开发者已经提供了一个简单设置默认状态的功能.
将以下内容写入double_pinyin.custom.yaml便可以实现默认状态的设置:

1
2
3
4
5
6
7
8
9
10
patch:
switches: # 注意缩进
- name: ascii_mode
reset: 0 # reset 0 的作用是当从其他输入法切换到本输入法重设为指定状态
states: [ 中文, 西文 ] # 选择输入方案后通常需要立即输入中文,故重设 ascii_mode = 0
- name: full_shape
states: [ 半角, 全角 ] # 而全/半角则可沿用之前方案的用法。
- name: simplification
reset: 1 # 增加这一行:默认启用「繁→簡」转换。
states: [ 漢字, 汉字 ]

然后重新部署. 我们就能够开心的使用简体输入啦!

0x04 我想搞美化!

如果细心的读者可能发现这里我们用了全角输入,这代表以下文字是用rime输入的了!
搞好了简体,搞好了双拼,其实我们就差美化了!看着顺眼才是最重要的(才不是)。
首先,我们需要从鼠须管源码中的data文件夹中复制squrriel.yaml到我们的配置目录,也就是鼠须管本体的配置文件。然后修改style下的color_scheme为自己想要的主题,也就是preset_color_schemes下保存的预设颜色配置。
我选择了apathy感觉已经十分好看了。
然后按照我日常的习惯把候选词的数量从默认的5调整到9
default.custom.yaml中添加patch:menu/page_size:9就可以啦!

0x05 我想用辅码!

自然码为了减少重码,提供了一套辅助码机制,虽然年久失修,不过聊胜于无。让我们加上这个。
好的,现在还没有好用的辅助码,我们继续。

0x06 我要输英语!

既然Rime有中文输入方案和词典,那么自然就有英文的!
只要下载easy_en方案到Rime配置文件夹下然后,然后启用easy_en方案就可以啦!
easy_en.zip

0x07 我要混着来!

Rime是一个优秀的中文输入引擎,默认的中文输入方案并没有提供对英文的良好支持。但是实际应用中,我们经常需要在中文输入模式下输入一些英文单词。而切换模式往往显得比较繁琐;这种时候,我们就可以利用Rime自定义的词典了!
首先,十分简单,我们仅仅需要在double_pinyin.schema.yaml下给translators添加一个:table_translator@easy_en
然后在整个文件的根部(easy_en头部没有任何缩进)添加如下内容:

1
2
easy_en:
dictionary: easy_en

重新部署就可以了!

0x08 我要用词库!

前文已经提到,Rime对自定义输入法支持十分优秀。一个输入法的核心,除了输入算法之外,就是词库了。之所以搜狗现在独霸江山,就是因为搜狗的词库十分优秀。如果我们能在Rime里用搜狗的词库该多好啊。
万幸的是,尽管搜狗不提供原始词库,但是网上有大神已经开发出了词库转换工具。
首先要说明的是:词库转换工具——深蓝词库转换是Windows工具,mac上是无法使用的。
如果你只需要用搜狗标准词库,那么可以使用我提供的转换好的文本文档:点我下载
如果你需要用你自己的搜狗用户词库(从macOS版搜狗输入法导出用户词库为bin格式的文件),那么就需要找一个Windows电脑了。
首先从Release界面下载最新的词库转换工具:Release界面,然后打开,点击高级设置→简繁体转换设置,设置简繁体转换为系统默认(此举意为让繁体和简体输入皆正常,Rime的简体是通过繁体转换来的)。然后选择词库(搜狗标准词库.secl),”->>“后面选择Rime中州韵。
点击转换,保存得到的txt文件。同理,将bin格式的用户词库也通过这种方法转换。
我们就得到了原始的词库文本文档。
将以下代码(来自佛振的Gist)保存到Rime文件夹下的rime_dict_manager文件。

1
2
3
4
5
6
7
8
#!/bin/bash
#
# put this script in ~/Library/Rime, list existing user dictionaries:
# ./rime_dict_manager --list
# see other supported options:
# ./rime_dict_manager

DYLD_LIBRARY_PATH="/Library/Input Methods/Squirrel.app/Contents/Frameworks" "/Library/Input Methods/Squirrel.app/Contents/MacOS/rime_dict_manager" $@

然后在终端(已经切换目录到Rime文件夹)输入:chmod a+x ./rime_dict_manager
然后运行一下./rime_dict_manager查看是否正常,如果正常,可以用:./rime_dict_manager -i luna_pinyin 你词库文本文档的路径(可以用鼠标拖过去)
等待显示导入成功之后,我们重新部署,就可以使用搜狗词库啦!

0x09 杂七杂八

解决了很多问题,但是不想挨个都罗列上来。