RIME 输入法小鹤双拼配置指南


Published: 2022-10-04, Last Updated: 2025-02-22

/img/2022-10-04-rime.jpg
RIME 输入引擎(图源:RIME)

如果你也使用 Linux 操作系统,那么 RIME 输入法基本是必备的。它开源、跨平台,支持各种输入方案,甚至定制自己的输入方案;另一方面,它不需要服务器,这意味着它不会泄漏你的输入数据。但同时相比各个商业公司的输入法方案来说,它的配置会比较麻烦一点,因为它没有图形界面,我曾经也一度不会配置;另外就是它默认词汇很少,也不会实时更新,这样会对我们的输入效率有一定影响。

不过你也不用太担心,本文我们就来快速设置一个基于 RIME 的小鹤双拼输入方案。

什么是小鹤双拼

你可能会问,小鹤双拼是什么,我为啥要用呢?简而言之,用上小鹤双拼,对所有的汉字,我们都只用敲 两次键盘 (故名双拼)就能输入,减少键盘敲击次数,从而提升打字效率;具体的键位图如下,红色表示声母,蓝色表示韵母,一红一蓝构成一个音。如果你有兴趣的话,可以去小鹤双拼官网去进一步了解。

/img/2022-10-04-flypy-keyboard.jpg
小鹤双拼键位图(图源:小鹤双拼)

学习小鹤双拼有一个适应的过程,一开始由于不熟悉它的键位,打字会比较慢;等到慢慢地熟悉了之后,打字效率会逐步上升,并最终超过一开始使用双拼的打字速度。我大概经过了一个月左右的练习,打字速度才追上原来使用双拼的速度。

RIME 版本

简单介绍完小鹤双拼之后,接下来我们进入正题。本文以 Linux 平台为例进行说明, Windows 和 Mac 平台应该大同小异,这里不做额外说明;如果你发现有啥叙述不准确的地方,欢迎留言指正。

本文使用的 RIME 版本是 1.7.3 , ibus-rime 版本 1.5.0 ,这里可以在 ~/.config/ibus/rime/installation.yaml 中看到:

distribution_code_name: "ibus-rime"
distribution_name: Rime
distribution_version: 1.5.0
install_time: "Sat Nov 20 15:23:37 2021"
installation_id: "ce4422b3-b133-4287-8de1-dcf6b4487c4d"
rime_version: 1.7.3
update_time: "Mon Sep 12 14:52:33 2022"

RIME 配置文件格式及惯例

想要定制 RIME ,必须要对它的配置文件做些修改,因此我们先来熟悉下 RIME 的配置文件格式及命名规范。

RIME 的配置文件采用 YAML 格式,它的内容以“树状”形式来组织;当某个节点需要包含多个配置时,就需要多一级节点进行配置,语法上通过在当前节点末尾添加英文冒号 : 来表示多一层缩进。例如这样:

# 启用两个输入方案
schema_list:
  - schema: double_pinyin_flypy # 小鹤
  - schema: luna_pinyin         # 明月拼音

RIME 的配置虽然都是 YAML 格式,但是为了区分,它对文件名和内容有一些惯例,或者说约定。

它要求用户自定义的配置文件需要在扩展名之前添加 .custom ,即以 .custom.yaml 结尾。比如我们想更改默认配置文件 default.yaml ,那么我们应该修改 default.custom.yaml 这个文件,默认的配置文件不要去改,这样有利于后续的升级。

自定义配置除了文件名有差异之外,它的配置项也比默认的配置多一个层级,需要统一放在 patch 节点之下。比如默认的 schema_list 需要变成 patch/schema_list ,如下所示:

patch:
  # 只使用一个两个输入方案
  schema_list:
    - schema: double_pinyin_flypy

RIME 支持很多的输入方案,每个方案有自己的 id ,也有自己的配置文件。输入方案 id 对应的文件名为 $id.yaml ,相应的自定义配置文件就是 $id.custom.yaml

每个输入方案与它的 id 对应如下表(需要记住自己习惯的输入方案 id ,在后面我们才知道应该动哪个配置文件):

输入方案 id
朙月拼音 luna_pinyin
朙月拼音·简化字 luna_pinyin_simp
朙月拼音·臺灣正體 luna_pinyin_tw
朙月拼音·語句流 luna_pinyin_fluency
自然碼雙拼 double_pinyin
智能ABC雙拼 double_pinyin_abc
小鶴雙拼 double_pinyin_flypy
MSPY雙拼 double_pinyin_mspy

另外,字典文件的结尾为 xxx.dict.yaml ,其中的 xxx 名字可以自己取,只要引用这个字典的地方( $id.custom.yaml 里的 "translator/dictionary" 配置行)能够对应上即可。

最后,我们来看下一共有哪些文件。 Linux 系统上,当前用户的 RIME 配置文件都在目录 ~/.config/ibus/rime/ 中;为方便后文叙述,记此目录为 USER_CONFIG 。

比如我现在这个目录中有如下文件和目录:

  • default.custom.yaml 默认配置(入口配置)的自定义文件;
  • ibus_rime.custom.yaml Linux 平台上 ibus 的自定义配置,比如以横排还是竖排的形式展现输入候选词;
  • double_pinyin_flypy.custom.yaml 小鹤双拼这个输入方案的自定义配置;
  • luna_pinyi.userdb 用户使用过程中产生的词库?总之不需要动;
  • installation.yaml 安装信息,不需要动;
  • user.yaml 从内容看像是存放用户的最新部署时间等信息,总之也不需要动;
  • build/ 目录,每次重新对 RIME 进行部署,就会更新这个目录。通常我们不动它。

总而言之,想要基于 RIME 快速配置一个可用的小鹤双拼输入法,我们只需要改这 2 个配置文件:

  1. default.custom.yaml
  2. double_pinyin_flypy.custom.yaml

第一个文件用于指定我们习惯使用的输入方案,第二个用于定制这个输入方案(小鹤双拼)以及引入词典等。

指定使用小鹤双拼

增加文件 default.custom.yaml ,内容如下:

patch:
  switcher:
    hotkeys:
      - "Control+grave"            # 输入选项菜单 Control + `(键盘上感叹号!旁边的那个按键)

  menu:
    page_size: 7                   # 候选词数量

  schema_list:
    - schema: double_pinyin_flypy  # 使用小鹤双拼

定制小鹤双拼

添加文件 double_pinyin_flypy.custom.yaml 如下:

patch:
  "translator/dictionary": luna_pinyin.extended # 使用额外的词库,对应的文件是 luna_pinyin.extended.dict.yaml
  switches:
    - name: ascii_mode
      states: ["中文", "西文"]
    - name: full_shape
      states: ["半角", "全角"]
    - name: simplification
      reset: 1                  # 默认简体
      states: ["漢字", "汉字"]
    - name: ascii_punct
      states: ["。,", ".,"]

增加词典

GitHub 上已经有不少同学整理了词典,我目前在用的是 https://github.com/rime-aca/dictionaries/tree/master/luna_pinyin.dict 这个目录下的词典。

具体增加词典的步骤如下:

  1. 把其中所有的 *.dict.yaml 字典文件都丢到上述 USER_CONFIG 目录中;
  2. 把想要使用的(最全的那个)词典文件的名字配置到上述 double_pinyin_flypy.custom.yaml 配置中的 "translator/dictionary" ,即 luna_pinyin.extended

如果你从别的地方下载词典,也需要确保他们的名字的对应的,不然肯定是不生效的。

(可选)更改候选词展示

如果你和我一样,比较习惯于以横排的形式展示候选词,那么我们还需要增加一个定制文件 ibus_rime.custom.yaml ,内容如下:

patch:
  style:
    horizontal: true            #  是否横排展示候选词

重新部署

好了,有了上述配置之后,我们就可以重新部署了:在系统托盘中左击 RIME 图标,在弹出菜单中选“部署”即可。如果不出意外的话,你就能开始愉快地使用 RIME 来进行小鹤双拼输入啦🎆

如果有任何问题,欢迎在评论区留言讨论~

Linux  Rime 

也可以看看

comments powered by Disqus