追寻多年,我似乎终于找到了自己非常满意的输入法。这个输入法的名字叫做RIME。
严格来说,RIME并不是一个输入法,而是一个输入法框架,在不同的平台上有不同的实现,例如在Windows平台,叫做小狼毫。
对于小狼毫而言,它也可以包含很多的输入方案。之前我用RIME,总是用一段时间之后就卸载了,原因是我之前用的方案,包括雾凇拼音等,在长句子书写的时候,其表现比较糟糕。我曾经做过一些测试,只要超过6个字,这个句子基本就没有对的,都需要重新调整,给我的感觉非常不流畅。于是我就放弃了。
最近的一次偶然,让我看到了另外一个输入方案,叫做万象拼音。看其介绍,大概是说通过一个输入模型,提升整句输入的准确性。这引起了我的兴趣,于是我重新安装了RIME输入法,并配置了万象拼音,结果发现确实非常好用,再加上RIME的灵活配置,已经基本上达到了我的满意,用了一段时间了,效果不错,这里分享出来我的配置,供大家参考。
RIME的安装
RIME的安装非常简单,直接到RIME官网下载相关版本即可。安装时,最后只有一个选项,让你选择用户目录,选择默认的就可以,不要指定。至于为什么,后面我会说明。
万象拼音的使用
万象拼音作为一个输入方案,使用方法非常简单,就是把万象拼音的源码下载回来,直接复制到RIME的用户文件夹下就可以了。如果不知道RIME的用户文件夹,可以右键右下角小狼毫的图标,选择用户文件夹,就可以打开。
然后,再把万象拼音的语法模型下载回来,名字为:wanxiang-lts-zh-hans.gram,大概200M,我原来也以为这个模型会非常吃性能,后来发现还行,没有什么感觉。把这个模型,也放在用户目录下。
重新部署输入法。(用户目录下只要有文件改动,都需要重新部署。右键小狼毫图标,选择重新部署即可)
配置有改动时,部署会耗费一些时间,这期间是无法输入的,等部署运行的小沙漏消失了,就可以使用了。
此时,你就可以使用万象拼音的模型了,整体上的输入体验已经非常好了,我选择的主题是简纯,比较简单,看着不累。
个人配置
虽然万象拼音已经非常不错了,但是还是无法达到我的满意,好在RIME有强大而灵活的配置功能,让我们几乎可以随心所欲的配置自己的内容。
1. 自定义短语
这个功能,指的是用户可以指定一段字符串编码,和要输入的内容相对应,当输入这一串字符串编码时,就直接出现需要输入的内容,非常快。例如,我需要经常输入我的手机号,我就可以把我的手机号对应的编码改为sjh。此后,我只要想输入手机号了,就直接输入sjh,第一个出现的就是我的手机号。
用这种方式,可以把常用的所有的短语都设置成自定义短语,例如我的名字,我就直接输入yyq,我的身份证号sfzh,家庭地址用jtdz,等等等等。如果用习惯了,输入速度会加快很多。
配置自定义短语,也非常简单,修改用户目录下的custom_phrase.txt即可。这个文件也非常简单,打开是一个文本文件,每一行是一个自定义短语,前面是短语,后面是对应的编码,中间用tab键分割(这里一定注意是tab键,其他分隔符可能会不生效)。
重新部署,就可以了。
2. 候选词竖排显示
关于候选字是横排还是竖排显示,不同的人有不同的看法和习惯。如果你习惯于打词语,那么应该是横排显示,因为横排显示占用空间更小,竖排显示在特别靠下的时候,有时候会出现在输入框的下面,有时候空间不够会跑到输入框的上面,不够统一。
不过如果你习惯于使用长句输入,那么应该用竖排显示,这是因为长句子输入的时候,如果用横排,这个候选框会非常长,影响你的视线,所以我还是改为了竖排显示。
更改方法是,修改用户个人目录下的weasel.custom.yaml文件,请注意,不是weasel.yaml,虽然从原理上讲后者更简单,效果也一样,但是很容易被覆盖。而前者是你个人,对输入法设置的补充和覆盖,所以建议养成好习惯,直接修改补丁文件即可。
patch:
style:
candidate_list_layout: stack
YAML文件是一种常见的配置文件格式,一定要注意缩进。
3. 翻页功能
我用其他的输入法,已经习惯了使用逗号和句号上下翻页,万象拼音自带的输入方案中,没有这个功能,没关系加上就行了。
修改default.custom.yaml文件,增加下面的代码:
patch:
key_binder:
bindings:
# 翻页 , .
- { when: paging, accept: comma, send: Page_Up }
- { when: has_menu, accept: period, send: Page_Down }
仍然是YAML,注意缩进。
4. 候选词个数
每次弹出的候选词,应该几个好呢?太多了不行,太长会占据大量的空间,多少合适呢?我选择三个,为啥这么少。我在下一节介绍。
修改default.custom.yaml文件,增加下面的代码:
patch:
menu:
page_size: 3 # 候选词个数,不得超过6个,7890代表声调
5. Shift键上屏
现在,我们的候选框,每次都有三个候选词,空格键可以让排第一的候选词上屏,那么想让排第二和第三的候选词上屏,用什么办法呢?常规的做法是用2和3。这是可以的,但是不够好。原因是因为,2和3距离我们的手指还是比较远,容易按错。所以这里有一个更好的解决方案,就是用左Shift和右Shift分别做第2和第3个候选词上屏的按键。这样设置之后,打字的时候,手的位置几乎可以完全不动,稳定而流畅。
修改default.custom.yaml文件,增加下面的代码:
patch:
key_binder:
bindings:
- { when: has_menu, accept: Shift+Shift_L, send: 2}
- { when: has_menu, accept: Shift+Shift_R, send: 3}
如果上面你已经修改了用逗号和句号翻页,那么现在只需要在下面增加两行就行,注意缩进。
配置这个选项,让我费了很大劲,原因是在RIME输入法中,Shift是修饰按键,无法单独配置功能,我之前是这样写的:
patch:
key_binder:
bindings:
- { when: has_menu, accept: Shift_L, send: 2}
- { when: has_menu, accept: Shift_R, send: 3}
结果无论如何无法成功上屏,后来在github提问,有高人给我指点,才让我最后配置成功。
当然,如果你觉得Shift键有其他作用,还可以改用Control的左右键来完成23候选词上屏功能。
不过,不管你用哪个,都需要把它们之前的功能屏蔽。它们之前用来干什么呢?切换中英文输入法,所以需要在default.custom.yaml文件中进行补充:
patch:
ascii_composer:
good_old_caps_lock: true # true | false
switch_key:
Caps_Lock: clear # commit_code | commit_text | clear
Shift_L: noop # commit_code | commit_text | inline_ascii | clear | noop
Shift_R: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_L: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_R: commit_code # commit_code | commit_text | inline_ascii | clear | noop
可以看到,我的Shift_L和Shift_R,都已经设置为noop,指的是没有功能。切换中英文用的是Control_R,而Control_L,通常用来组合其他的快捷键,例如复制粘贴等,容易误触,所以也去掉。
6. 词库的同步
好的输入法需要调教,意思是它会记住你的输入习惯,和你常用的词语,这样越用越顺手。
RIME输入法会记住你的输入,例如,你用万象拼音,会在你的用户文件夹下,生成一个wanxiang.userdb的文件夹,下面记录的都是你用万象拼音输入的内容。
如果你想把自己的词库,带走,或者同步到另外一个电脑上,应该怎么操作呢?就是用户资料同步功能。
右键小狼毫的图标,选择用户资料同步即可。同步完了你发现,什么也没有发生,确实,它只是在你的用户目录下,创建了一个Sync文件夹,用你的当前机器ID,创建了一个文件夹,并把你的词库放了进去。
可是这样我们每次都要把这个文件夹拷贝出来,岂不是很麻烦?而且这个机器ID,毫无意义,岂不是根本不知道哪一台机器?此时需要修改一下同步的规则,打开用户目录下的installation.yaml文件,修改成这样:
distribution_code_name: Weasel
distribution_name: "小狼毫"
distribution_version: 0.17.4
install_time: "Sun Jan 18 19:57:25 2026"
installation_id: "Desktop-YHHOME-MECHREVOS"
sync_dir: "C:\\Users\\Yongquan\\SynologyDrive\\RIME"
rime_version: 1.13.1
其中,installation_id就是你给当前的机器起的名字。sync_dir指的就是你想把这台机器上的文件同步到什么文件夹。注意,这个路径中有两个斜线,第一个是用来转义的。
这样,每次点击用户资料同步,它就会把当前的词库,存入到设定好的目录中。
如果这个目录是一个网盘文件夹,那么就可以把所有机器上的用户词库都同步到一起,大概是这个样子:
内容不用管,只需要知道,它们被同步后,你的不同机器上的词库就被合并了,就可以了。
这里我需要回答第一节选择用户目录的问题。当时我提到,用户目录的位置,选默认就可以。这是因为有一些网上的教程,告诉你说应该把用户目录,使用网盘同步。我的经验是千万不要。原因是如果把整个用户目录另外设定,例如设定到一个网盘的同步目录,那么不同的机器之间会产生冲突和混乱。
实际上,我们只需要把自定义配置和用户词库进行同步和备份,就可以了。
这个是可以自动完成的,下一篇文章,我会有完整的介绍。
结语
到这里是不是就结束了呢?很明显,还没有。因为即便是这样用网盘同步,每次我还是需要手动同步我的词库,我忘了怎么办?
没关系,下一篇文章,我就告诉你,如何实现完全的自动化的配置和同步。
本文所有的配置内容,都可以参考我的代码库:https://git.yangyq.net/laoyang/rime-sync-config
如有疑问,可以留言。



