Home / Notes /

Rime输入法完全指南

Table of Contents

输入法对我来说是很重要的一个工具,它好用与否密切关系到我平时的效率和心情。Mac自带的输入法虽然勉强可用,平时却总会出现各种小问题。听说了Rime输入法非常牛逼,我就打算切换到这个输入法。

Rime不愧无数博客的吹嘘,确实强大,然而入门配置有个问题:教程难懂。倒不是说作者没有用心写教程。问题在于Rime细节挺多,作者又把教程写得颇为琐碎,搞得理解起来有点难度。就连相关的博客也弯弯绕绕不好看懂。

我在这里记录安装和配置Rime输入法的过程,希望能帮到别人。

1 安装

这里是官网链接,直接下载安装就得。

2 配置

Mac配置文件都在 ~/Library/Rime/ 下。格式是yaml(我最讨厌的格式)。Rime的配置文件挺复杂的,与其说是配置,更像是一个个脚本。目录下有这么些个文件:

default.yaml
主要的全局配置文件,包括快捷键,符号转义之类的。比如 Ctrl+` 打开菜单, Ctrl+n 下一行,等等。
xxx.schema.yaml
这些是各个输入法的配置文件,相当于输入法的“源码”。比如明月拼音的配置文件叫 luna_pinyin.schema.yaml
squirrel.yaml
前端配置,因为Mac前端叫squirrel,windows和linux上的名字还不一样。这里的配置就是浮窗颜色啦,边框啦,主题啦,这些。
xxx.dict.yaml
这是词库文件。

官方解释:Rime 中的數據文件分佈及作用

上面这些文件都是不推荐用户自己改的,如果你想对它们做修改(要不然配置什么),就要在那个目录下创建一个custom文件,比如 default.custom.yaml​。也就是说,格式是 .yaml 前面加一个 .custom

我的配置文件:

  • default.custom.yaml
  • squirrel.custom.yaml

接下来我会把这些文件都介绍一遍。我建议看看自己计算机上实际的文件,这样会有更深的理解。

2.1 default.yamldefault.custom.yaml 配置例子

我们拿 defualt.yaml 作为例子,添加一些自己的配置。

官方教程在这里,可以参考对照。

先说一下YAML的格式。它比较简单,像python一样靠缩进识别数据结构:

key:
  key1: value1
  key2: value2
  key3:
    - item1
    - item2

翻译成JSON就是

            {"key": {"key1": "value1", "key2": "value2", "key3": ["iterm1", "item2"]}}

我想设置每页候选项数为9。 首先=default.yaml= 里可以看到默认值是5:

menu:
  page_size: 5

default.custom.yaml 里覆盖这个设置:

patch:
  menu/page_size: 9

可以看到,格式是:

patch:
  layer1/layer2: 覆盖值

官方完全格式

改完以后按 Ctrl+Option+` “重新部署”,现在是不是9个候选项了? 官方指南里有不少例子,配合 default.yaml 食用更佳。

说一个容易掉进去的误区:

如果 default.yaml 里是这样:

key1:
  key2: value1
  key3: value2

你这么配置会怎么样?

patch:
  key1:
    key2: value0

结果是key1下只剩下你配置的key2,因为你覆盖了整个 key1

# 实际效果
key1:
  key2: value0

另一方面,普通的写法

patch:
  key1/key2: value0

只会覆盖 key1/key2 ,因此对 key3 没有影响:

# 实际效果
key1:
  key2: value0
  key3: value2

2.2 squirrel.yamlsquirrel.custom.yaml

这个其实跟 default.yaml 一样,参考 squirrel.yaml 配置 squirrel.custom.yaml 即可。

我用的是ink主题,我很喜欢:

patch:
  style/color_scheme: ink
  style/corner_radius: 2

还可以这样:

patch:
  # 只保留配色的硬核主题
  style:
    color_scheme: ink

这样整个style层会被清空,只剩一个 color_scheme 的配置,也挺有意思的。

2.3 输入法配置

我从这里抄了一个搜狗双拼的配置,挺好用的,感谢作者鶴。我把这个保存到 sougou_shuangpin.schema.yaml 。这个输入法就是把双拼字符翻译成全拼然后用明月拼音的词库,可以从这项配置看出来

translator:
  dictionary: luna_pinyin

注意 schema_id: sougou_shuangpin 这一项, schema_id 就是这个输入法的唯一识别id。具体怎么把这个输入法加入可选列表,官方指南里应该有写。

如果你想自己创造一个输入法,看这个文档

2.4 扩充词库

我从这里下载了一些扩充词库。按照REAME的指示把词库文件(那些 xxx.dic.yaml )扔到 ~/Library/Rime/ 里以后,怎么让我的输入法使用这些词库呢?

拿我用的搜狗双拼输入法为例子。新建 sougou_shuangpin.custom.yaml 配置。(我也可以直接在 sougou_shuangpin.yaml 里面改,但是为了保持配置整洁和模块化,还是用custom文件吧。)

在里面加入:

patch:
  # 載入朙月拼音擴充詞庫
  "translator/dictionary": luna_pinyin.extended

即可。

现在重新部署一下,然后验证一下扩展词库已经载入:

輸入「一介書生」(驗證擴充詞庫之基本詞庫)、「一丈紅」(驗證擴充詞庫之漢語大詞典詞彙)、「疑是地上霜」(驗證擴充詞庫之詩詞詞庫)、輸入「哆啦A夢」(驗證擴充詞庫之西文詞庫,此子詞庫爲朙月拼音系列方案專有,雙拼方案不推薦使用)。

作者还说明了怎么增加自己的词库,文档链接这里有词库文件的格式文档。

<2019-03-04 Mon 00:19> 更新:

这里有一个更大的扩展词库。

<2020-03-12 Thu 16:26> 更新:

之前那个链接挂了,这里是新的链接,感谢Nasy。

<2020-08-01 Sat 15:28> 更新:

现在又有了个“肥猫百万维基词库”, 在这里。从Release里下载 moegirl.dict.yaml​,扔到Rime文件夹里,把前面说的 sougou_shuangpin.yaml 改成这样:

patch:
  "translator/dictionary": zhwiki

Written by Yuan Fu

First Published in 2019-03-02 Sat 00:53

Last modified in 2020-12-13 Sun 15:40

Send your comment to [email protected]