Rime 使用分享

本文最后更新于 2026年2月14日 上午

中州韻輸入法引擎(英語:Rime Input Method Engine,又稱Rime輸入法)是由佛振編寫的開放原始碼中文輸入法[2],目前專案網站、原始碼均代管在GitHub[註 1]。基於同一個核心架構,該輸入法分為三個官方發行版:Linux 發行版中州韻ibus-rime)、Windows發行版小狼毫(Weasel)、macOS 發行版鼠鬚管(Squirrel)。 ——维基百科

Rime 是个输入引擎,用好了大有裨益,很大一部分刚入门的人其实用错了,在网上看了点宣传,以为这就是个好用的离线输入法,捣鼓半天好不容易装上发现打不出汉字,折腾好了又感觉词库很差劲也不好用。

对 Rime 来说,打字和快捷输入是基本操作,自定义词库、拆字反查、V 模式、Unicode 模式、计算器等等,这些才是在功能上 Rime 区分于其他输入法的特性(这些是雾凇自带的功能,本文不介绍)。

你可以因为多种目的使用 Rime:可以是多端同步输入习惯,可以是离线输入避免隐私泄露、也可以是想方便地实现一些功能,但是都得建立在你愿意折腾的基础上。因为 Rime 是离线输入,在词句的联想上天然就比不上联网输入法,输入的准确性基本只能依靠词库。也正因如此,当理解了 Rime 的逻辑之后,你几乎可以完全控制词语的联想,按下这几个键会出现什么词是完全可控的。

这篇文字不是使用教程,只是对自己当前使用方法的分享和介绍,不涉及 Lua 的内容。

软件

Mac 端推荐官方鼠须管,Android 推荐 Fcitx5 + rime 插件。Win 不常用,iOS 暂时没找到好用的。

注意事项

custom

Rime 有使用 custom 文件进行覆写的逻辑,custom 文件必须位于根目录;关于文件写法,这里要注意两点:

覆写对象

dict 文件作为资源不能用 custom 覆写,能被覆写的只有 yaml 这种“配置文件”。

覆写格式

假设覆写对象为:

1
2
3
4
5
abc:
def:
- 123
xyz:
- 456

要把它改成:

1
2
3
4
5
abc:
def:
- 123
xyz:
- fix

有两种实现方式:整体覆写和局部覆写。

整体覆写

直接完整写出一级键(abc)修改后的样子

1
2
3
4
5
6
patch:
abc:
def:
- 123
xyz:
- fix

如果只在一级键(abc)里写了一个需要修改的二级键(xyz),那编译出的东西会只包含二级键(xyz),变成这样

1
2
3
abc:
xyz:
- fix
局部覆写

只需要写出修改部分,但要注意写法和缩进

1
2
3
patch:
abc/xyz:
- fix

编译

在执行编译之前,最好删除目录下之前编译好的 build 和日常使用积累下来的 db 数据库,如果配置有问题,编译出的 build 体积会异常地小,这样能够及时发现错误;如果编译失败且之前没有删除 build,Rime 仍会使用之前的 build,在主观看来,就是修改不生效但输入法还能用。

使用分享

整体是雾凇方案 + 万象词库补充

雾凇的底层方案比较简洁,易于定制,缺点是词库同样简洁,只能满足基本输入需求。而万象几乎反过来,追求大而全,方案嵌套过多,短时间难以理顺逻辑,修改起来难免掣肘,但它的的词库又比较好用,所以做了这么一个拼接。

万象词库适配

万象词库是不能直接应用在雾凇里的,万象主打的是带声调的词库,而雾凇的逻辑里没有声调之说,无法完成映射,所以在 rime_ice.dict 的 import_tables 里加入万象的词库之外,还需要在对应 schema 的 speller/algebra 的所有列表项前面加入如下列表项:

1
2
3
4
5
- xlit/āáǎàōóǒòēéěèīíǐìūúǔùǖǘǚǜü/aaaaooooeeeeiiiiuuuuvvvvv/
- xform/^ng$/eng/
- xform/ńg|ňg|ǹg/eng/
- xform/ń|ň|ǹ/en/
- xform/ḿ/m/

作用是在编译过程中,把词库中所有带声调的韵母改成无声调的。一定要加在最前面,避免对输入方案产生影响。

方便符号键入

在你输入方案的 recognizer/patterns 最下面加入,方便在中文模式下输入网址、邮箱、地址等中间的符号,改写输入符号时自动上屏的行为。

1
规则名: "^[0-9A-Za-z]+[./:?_@#-].*$"

为了避免覆盖,规则应处于所有 patterns 之后,有些方案会先引入 default.yaml 里的规则,而且一般优先级最高,所以不能加在 default.yaml 里;方案本身也会引入一些特殊功能,所以要把这条加在最下面。规则名可以自定义一个,但应避免如 symbols punct radical 等常用词。

显示双拼编码

如果你用双拼方案的话,可以考虑修改此处

1
2
patch:
translator/preedit_format: []

这是小鹤双拼

全拼编码:zhe shi xiao he shuang pin

双拼编码:ve ui xn he ul pb

取消左 Shift 切换中英文

1
2
3
4
patch:
ascii_composer:
switch_key:
Shift_L: noop

这个覆写有点意思,他在雾凇原方案里是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# good_old_caps_lock:
# true 切换大写
# false 切换中英
# macOS 偏好设置的优先级更高,如果勾选【使用大写锁定键切换“ABC”输入法】则始终会切换输入法。
#
# 切换中英:
# 不同的选项表示:打字打到一半时按下了 CapsLock、Shift、Control 后:
# commit_code 上屏原始的编码,然后切换到英文
# commit_text 上屏拼出的词句,然后切换到英文
# clear 清除未上屏内容,然后切换到英文
# inline_ascii 切换到临时英文模式,按回车上屏后回到中文状态
# noop 屏蔽快捷键,不切换中英,但不要屏蔽 CapsLock

ascii_composer:
good_old_caps_lock: true
switch_key:
Caps_Lock: clear
Shift_L: commit_code
Shift_R: noop
Control_L: noop
Control_R: noop

Mac 默认勾选大写锁定切换输入法功能,并且 switch_key 不定义的话在 Rime 的默认逻辑中是不具有任何功能的,所以看似没有包含完整的一级键,实则完全包含了所有必要的内容。

想法

Rime 是一个值得玩味的工具,几乎可以实现你在输入上的各种想法,但也存在一些问题,软件在实现输入功能时,所经过的配置文件不少,如果分别有覆写,从 default 到 schema 是四个文件,再进入 dict 列表是五个文件,根据词库配置的不同具体词库文件的数目也有不同,时常让人感到混乱。

想修改某一功能,找到修改位置只是开始,改了后没作用或改了导致其他功能不能用的情况时有发生,因为配置文件多,实现路径复杂,此时的 Debug 才是难题,往往无从下手。所以 Rime 也许可以优化一下,哪怕只是允许覆写文件都集中在一个文件夹中也好,起码看起来不会太乱。(Mac 用户可以给自定义过的文件加标签,再按照列表显示、种类分组,会清晰一些)


Rime 使用分享
https://seailor.com/posts/698e4fd8/
作者
Seailor
发布于
2026年2月14日
许可协议