为什么用 Rime?

明明对于大多数用户来说,类似搜狗输入法、微信输入法、乃至于手心输入法之类的主流输入法,已经完全够用了啊?

事实上,Rime 适合的用户,大多是:

  • 喜欢极简/干净/小而美
  • 极度反感广告
  • 有高度定制需求
  • 对输入安全有需求
  • 对输入速度有追求
  • 对切换多种输入方案有需求
  • 对输入标点快符、自定义短语有需求
  • 使用小众输入方案,如双拼、音形、形码
  • 对输入生僻字有需求,如常常输入古书、文献上的字等
  • 对输入精确的繁体字、外来字、外语字有需求
  • 部分程序员
  • 部分文案、编辑、网文写手
  • 打字圈、竞速圈用户

常见的 Rime 方案

主要面向全拼、双拼用户

  • 雾凇拼音:老牌方案包,官方设置教程,适合新手入门 Rime,适合全拼、双拼用户。字表、词库整合了 《通用规范汉字表》、华宇野风系统词库、清华大学开源词库、《现代汉语常用词表》、《现代汉语词典》、《同义词词林》、《新华成语大词典》、 腾讯词向量等等,实际使用下来,体验几乎不逊于搜狗百度的拼音输入法。
  • 万象拼音:万象拼音(Wanxiang)并非仅仅是一个简单的 Rime 配置文件,而是一套为 Rime 引擎量身打造的 全场景拼音解决方案。它从最底层的“带声调词库”与“八股文语法模型”开始重构,涵盖了输入方案、智能预测、多音字精细化处理等全流程,旨在为您提供由内而外的极致拼音输入体验。
  • 白霜拼音:后起之秀,在雾凇拼音的基础上优化了词库。
  • 薄荷拼音官网教程,适合全拼、双拼、五笔用户

windows安装教程

前往官网下载安装windows客户端 小狼毫。

安装完,别急,这时候还不能用

  • 打开用户文件夹: 右键托盘,有两个图标,其中一个有右键菜单,就是我们要的。右键选择用户文件夹,打开了一个目录。
  • 清空默认方案 右键托盘,先退出算法服务(目的是退出占用),切换到其他输入法,再删除用户文件夹下所有文件。(Rime 是个平台,可以搭载任意自定义方案。它本身自带了一些示例方案,但不好用,所以都删掉)
  • 去 GitHub,下载一个自己喜欢的 Rime 方案(比如万象拼音),解压后复制到这个用户文件夹目录。
  • 右键托盘,重新部署。
  • (重要)等待片刻,让 Rime 自动生成方案对应的运行数据。这期间可以乱敲键盘,什么时候打的不是英文字母,就说明生成完毕了。
  • 大部分 Rime 方案包都会自带切换方案的快捷键,F4Ctrl+~ 都比较常见。这能在设置里更改。按F4切换到雾凇方案

完成以上步骤后,就可以正常打字了

你会发现默认的皮肤(配色方案、字体、字号)有点丑。可以看下文自己更改。

windows配置

主要是参考本文先进行最简单的自定义配置

翻页功能

将翻页设置为逗号和句号比较合适,可以让手无需移动即可翻页

修改default.custom.yaml文件,增加下面的代码:

patch: 
  key_binder:
    bindings:
      # 翻页 , .
      - { when: paging, accept: comma, send: Page_Up }
      - { when: has_menu, accept: period, send: Page_Down }
 

候选词个数

每次弹出的候选词,应该几个好呢?太多了不行,太长会占据大量的空间,多少合适呢?我选择三个,为啥这么少。我在下一节介绍。

修改default.custom.yaml文件,增加下面的代码:

patch:
  menu:
    page_size: 3  # 候选词个数,不得超过6个,7890代表声调
 

补充:万象拼音的wanxiang.custom.yaml才是真正控制候选词个数的配置,如下所示:

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}

务必注意,我们需要把这些按键之前的功能屏蔽。它们之前用来干什么呢?左shift切换中英文输入法,所以需要在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_LShift_R,都已经设置为noop,指的是没有功能。切换中英文用的是Control_R,而Control_L,通常用来组合其他的快捷键,例如复制粘贴等,容易误触,所以也去掉。

Android安装教程

前往官网下载安装 同文输入法安装包(我的MIUI 选择 arm V8安装包)。

  • 打开同文输入法程序,按提示进行初始设置,然后进入 app 主界面
  • 点击配置,可以看到我们的用户目录位于根目录下的rime文件夹中
  • 去 GitHub,下载一个自己喜欢的 Rime 方案(比如万象拼音),解压后复制到这个rime用户文件夹目录。
  • 再次进入程序点击右上角的刷新(部署)按钮进行 方案部署,部署完成后,进入程序方案页面,将雾凇拼音(即全拼)添加进来,并在输入法中启动雾凇拼音方案。

Android主题配置

同文输入法自带的主题比较一般,可以选择自行导入第三方主题。

同文输入法的XX.trime.yaml文件就是一个主题文件。我们直接将第三方主题文件导入到用户目录下,然后重新部署一下即可应用新的主题与配色。

我选用了比较热门的主题 mytrime,此后我们可以参考官方的trime.yaml 詳解来对主题DIY进行系统性学习。

在此之前先对其中的classic.trime.yaml的结构有基本的认识,然后再在配置文件中记录我们的DIY操作。

mytrime的配置结构

  • height: 各种键盘和按键的高度,不用怎么动
  • round_corner: 按键的圆角半径,保持默认
  • style: 键盘、候选栏、按键提示等所有界面元素的字体、字号、间距、圆角、高度、模式布局及功能开关(如自动句首大写、按键纠错等)。
  • preedit: 预编辑文本的视图参数,保持默认
  • window: 候选窗口(悬浮窗)参数,保持默认
  • colors: 定义标准配色
  • preset_color_schemes: 配色方案
  • liquid_keyboard: 液态键盘(可滚动/分页键盘)的布局参数以及可切换的子键盘列表
  • tool_bar: 定义了同文输入法工具栏的按钮间距、字体,以及左侧主按钮和右侧按钮列表的视觉样式与触发动作。
  • preset_keyboards: 键盘布局,DIY的核心所在
  • preset_keys: 按键大全,供preset_keyboards选用。

mytrime主题自定义配置记录

我目前的自定义的动机来自于以下需求:

  • 默认的4行键盘布局与大厂输入法的全面屏模式(5行键盘布局)不同,导致24键的位置都偏下,大拇指进行打字时比较累,所以 24键主键盘布局要修改为5行
  • 夜间模式想换用更好看的配色
  • 想给输入法添加壁纸
  • 输入法界面配色DIY
  • 输入法字体配置
  • 其他的功能开关等小配置(比如英语句首大写)

🔻 针对主键盘改为5行的需求,我进行了如下DIY操作:

更新:最后为了避免误触,仍然选择将第五行定为空行,高度为39

首先,style中的keyboard_height会锁定键盘高度,其默认的取值可能会在行数增加的情况下,导致按键高度被迫减少,所以我将高度的取值锁定为 height中主键盘按键高度&jpgd4 乘以行数(包括工具栏),即keyboard_height取值为 。(后面继续进行微调,270为最好的数值,与大厂输入法高度完全一致)

其次,我们在 preset_keyboards 中找到了 24键布局(即default布局)的配置,我们要在其中添加第五行的配置,这一行可以充分自定义,暂时只放 google搜索 快捷键。google快捷键的样式参考自 第四行 空格键space的设置,宽度width设置为90%,两侧放置宽度为5%的空白区域。(空白区域参考第二行的配置),最终效果如图所示:

配置好之后很快会发现,google快捷键有一点缺陷,即他的搜索仅拼接了最后一次输出的字符串,而不是拼接当前光标前的所有字符 。所以根据preset_keys的既有注释,将Google按键的结尾从%s修改为%4$s。如图所示。

🔻 针对夜间模式配色的自定义,进行了如下DIY操作:

我想将preset_color_schemes中的标准配色的夜间模式修改为好看的星云配色,所以可以直接把standard配色方案的 dark_scheme 的取值改为 nebula 星云。

🔻针对输入法添加壁纸的需求,进行如下DIY操作:

首先阅读文档可知,preset_color_schemes配色方案中的candidate_background是候选区整体背景,且 keyboard_background键盘背景可铺满候选栏和导航栏(如果有)。所以我们要将 candidate_background调为透明,keyboard_background设置为背景图。

但经过反复地摸爬滚打才发现,分辨率对于能否完整显示背景图是非常重要的,所以我们要基于手机的分辨率以及输入法的长宽比例来确定 我们背景图所需要设置的分辨率。 比如我的手机短边对应的分辨率为1220,输入法的长宽比为7:6, 则 背景图的分辨率则想办法调整为1220*1050

图片的文件大小也很重要,文件过大可能会导致输入法弹出时卡顿。我们可以将图片转为webp文件,压缩率超过90%。

根据文档可知,图片需放在rime/backgrounds文件夹内,我们修改candidate_background的取值为0x00000000即透明,修改 keyboard_background取值为文件名,比如my_main.webp然后将图片文件放入rime/backgrounds,主题yaml文件放至rime根目录,重新部署一次即可生效。

🔻针对配色方案的DIY,进行如下操作:

在DIY之前,要了解不同类型的字体对象,如图所示,分别为:

  • text: 编码字体
  • label: 悬浮窗候选项序号字体(windows)
  • candidate_font: 候选字体
  • comment_font: 候选注释字体
  • hanb_font: 后备字体。用于补充候选字体(candidate_font)。
  • latin_font: 候选及候选注释拉丁字体(暂时对悬浮窗候选无效)当latin_font生效时,拉丁字符(< 0x2e80)就不再由comment_fontcandidate_font控制
  • key_font: 按键字体(click)
  • symbol_font: 符号字体(long_click 和 hint)
  • popup_font(原preview_font): 按键提示字体

我所使用的输入法壁纸与对应的配色思路和结果如下所示:

  • candidate_text_color: 候选字颜色,为了与淡蓝色的背景和谐且突出,选择了深海蓝 0x2C3E50 。
  • hilited_key_back_color:高亮按键背景,保持了原色。(但因为我调整了标准配色的透明度,所以需要为此设定无透明度的颜色)
  • key_back_color: 键盘背景色直接设置为透明,更加美观
  • key_border_color: 按键边框直接设置为透明,更加美观
  • key_symbol_color: 符号字体、编码字体与 键盘字体颜色一致
  • key_text_color: 符号字体、编码字体与 键盘字体颜色一致
  • text_color: 位于编码区光标插入点右边的编码,或者是拼音类方案中无法正常解析的空码,标记为显眼的红色
  • text_back_color: 编码区背景,设置为珍珠白避免编码字体看不清
  • popup_back_color: 按键提示字符颜色与键盘字体一致,并且设置背景色为香芋粉
  • popup_text_color: 按键提示字符颜色与键盘字体一致,并且设置背景色为香芋粉
  • key_color: 按键文字颜色均按行设置为color1,color1设置为了 深紫色 0xff5A4B8D。

🔻针对字体的DIY,进行了如下操作:

字体在style中修改,如文档和配置文件可见,字体文件类型为ttf,体设置支持设置为列表值。在 Android 10 及以上系统中,同文会以列表正序为优先级依次回落来尝试让字体显示正常。但实际上 是 必须 为列表值,这个要注意。

根据示例,字体自定义需要先在 rime 文件夹内新建 fonts 文件夹,fonts 文件夹建在共享文件夹与用户文件夹皆可(若共享文件夹存在 fonts,则字体放在用户文件夹内无效),然后将ttf字体文件放在fonts文件夹内, 最后在 配置文件中设置好文件全称即可。

ttf字体库可参考 https://www.fonts.net.cn/

  • 中文: [bear-zh-KaiXinJiuXiaoLinYuJiuZou-2.ttf]
  • 英文: [rabbit-en-LOVE-Queen-2.ttf, bear-en-Aurora-2.ttf]

🔻其他的一些小配置,作为记录:

  • 工具栏图标大小: tool_bar定义了同文输入法工具栏的按钮间距、大小、字体,以及左侧主按钮和右侧按钮列表在这个地方将所有按键都设置了 font_size 为18。
  • 参考大厂输入法皮肤,加宽popup,popup_width设置为60。
  • 空格键DIY:默认的空格键显示方案名称。我参考了 tongwenfeng.trime.yaml的样式,首先将preset_keys中的space修改,以便于无论中英文,都显示横线。同时将切换中英的mode_switch功能修改了stats显示的文案(中/英),更加好看。同时也为空格键 swipe_left等拖动方向绑定了 光标移动和 行首行尾的功能。如下所示: - {click: space, key_back_color: bkg, key_text_color: tkg, long_click: Mode_switch, swipe_down: End, swipe_up: Home,swipe_left: Left, swipe_right: Right, width: 30, key_text_size: "10", symbol_text_size: 9, key_symbol_offset_x: -1}

trime详解

TODO

RIME的自定义配置

不建议直接更改配置包自带的文件,最好是以新建 custom.yaml 文件的方式来自定义,这样的好处是,以后想要更新雾凇配置包的时候,直接把新的雾凇配置包下载回来解压,覆盖掉旧的配置文件,就不需要重新设置自定义。custom.yaml 的具体使用方法,可以搜索一下网络教程,这里不再赘述。

输入法与方案的更新

输入法一般没啥问题就不用更新,暂时聚焦于方案的更新

以我使用的万象拼音方案为例,官方提供了万象更新UI工具,平时更新 词库与模型就行了,偶尔更新方案或者全量更新。(注意设置好白名单,避免被覆盖)

同步与迁移

该部分内容主要参考 官方文档多平台开源输入法 RIME 的使用

借助移动存储设备,或在线存储服务如 Dropbox,开源同步软件syncthing 等 在多台电脑及不同系统之间同步用户词典和用户设定

我将以syncthing为例子介绍rime的同步流程。假设同步设备数量为4。

在阅读以下流程前,请先确保掌握syncthing 的安装与使用。

硬件角色分配与 RIME 基础配置

  1. 指定枢纽机:从4台中选一台 最常开机、且性能稳定 的设备作为“枢纽”(例如你的台式机或NAS)。另外3台称为“边缘机”(笔记本、手机、办公电脑)。
  2. 修改 installation.yaml(关键):在4台设备的RIME用户目录下找到此文件,将 installation_id 修改为 4个绝对不同的清晰名称。示例:Hub-PCEdge-LaptopEdge-MacEdge-Phone
  3. 统一同步目录:在4台设备的 installation.yaml 将 sync_dir 的路径统一指向你打算用Syncthing监控的文件夹(例如 D:/RimeSync 或 ~/RimeSync)。路径可以不同(Win和Mac路径不同没关系),但逻辑上必须是Syncthing共享的同一个文件夹。 一般路径保持默认即可,除非默认路径没有权限则可以指定其他公共文件夹。

Syncthing 的“星形”连接(只连枢纽)

切记:边缘机之间绝对不要互相添加!只允许边缘机连接枢纽!

  1. 在枢纽机上
    • 打开Syncthing界面,点击“添加设备”。
    • 依次粘贴 3台边缘机 的55位设备ID,分别命名,点击保存。
    • 此时先不要动边缘机,枢纽机界面会显示“正在等待连接”。
  2. 在三台边缘机上
    • 分别打开Syncthing界面,此时屏幕顶部或右下角会弹出黄色横幅:“枢纽机 想要添加您”。
    • 点击横幅上的“添加设备”,确认连接。
    • (如果没弹窗,手动点“添加设备”,反过来粘贴枢纽机的ID也行,但弹窗确认是最稳的)。
  3. 检查连接状态:在枢纽机上,看到3台边缘机全部显示 “已连接”(绿色),星形网络搭建完成。

共享 RIME 同步文件夹

  1. 在枢纽机上:添加你刚刚设定的 RimeSync 文件夹,点击右侧的“编辑” “共享”选项卡。
  2. 在弹出的设备列表中,勾选全部3台边缘机,点击保存。
  3. 在每台边缘机上:会收到“是否接受文件夹”的提示,点击“添加”。
    • 重点:在弹出的路径选择框中,必须选择你在RIME里设定的那个 sync_dir 本地路径(例如边缘机的 D:/RimeSync)。
  4. 等待Syncthing扫描完成,界面显示“已同步(Up to Date)”。

首次初始化(建立“基准备份”)

这是决定成败的“冷启动”顺序,必须在枢纽机上先做

  1. 只在枢纽机上,打开RIME输入法,点击 “同步” 按钮。
    • 此时,枢纽机的 RimeSync 文件夹下会生成一个子文件夹,名为 Hub-PC/(里面是枢纽机的词库快照)。
  2. 等待 Syncthing 把 Hub-PC/ 这个文件夹完整传输给另外3台边缘机(观察Syncthing界面进度条变为0)。
  3. 在3台边缘机上,依次打开RIME,点击 “同步”
    • 此时边缘机会读取枢纽机传来的 Hub-PC/ 文件,并生成自己的 Edge-XXX/ 子文件夹。
  4. 再次等待 Syncthing 把这3个边缘机的新文件夹传回枢纽机。至此,枢纽机上拥有全部4台设备的独立备份子文件夹,初始基准建立完成。

每日/每次使用的标准动作(星形拓扑专用流程)

在星形拓扑下,边缘机之间不直接通信,所有数据必须经过枢纽合并。因此你的操作流程是:

场景A:当你用任意一台“边缘机”时(例如笔记本)

  • 开机后:先看Syncthing,等待它显示“已同步”(确保从枢纽机拉取了其他设备的最新增量)。
  • 然后点击RIME的“同步”(此时RIME会读取本地 RimeSync/ 下所有4台设备的子文件夹,进行逻辑合并)。
  • 使用完毕关机前:再次点击RIME的“同步”(生成最新的增量文件)。
  • 最后:不关Syncthing,等它把刚更新的 Edge-Laptop/ 文件夹推送回枢纽机。

场景B:当枢纽机开机时(枢纽机必须承担“合纵连横”的责任)

  • 枢纽机开机后,先等Syncthing把3台边缘机在外产生的所有增量文件拉取到本地。
  • 在枢纽机上点击一次RIME“同步”(起到“总合并”的作用,将3台机器的词频汇总)。
  • 此时枢纽机会生成一份“集大成”的增量文件,Syncthing会自动把它分发给3台边缘机。

 针对这个拓扑的“铁律”

  1. 枢纽机要当“路由器”:如果枢纽机不开机,3台边缘机之间无法交换词库(因为它们没互相连)。此时在边缘机上打字产生的词频,会暂时存在本地 Edge-XXX/ 文件夹里,等枢纽机上线后再合并,不会丢失
  2. 绝对禁止“同时点同步” :不要在边缘机A点完同步后,不等Syncthing传完,立刻去边缘机B点同步。会给枢纽带来“时间戳错乱”的风险。标准间隔:点完同步后,至少等Syncthing传输完毕再操作下一台
  3. 只部署,不同步:如果你修改了方案(改词库、改字体),只需要点击 “重新部署”,不要没事就点“同步”。同步只用于交换用户词频和用户词典

输入方案的捣鼓路线

路线确定为 全拼-双拼-音形结合码

方案A:优化版全拼(不换方案,白捡速度)

如果你不想换方案,Rime全拼本身还有30%的提速空间没被你挖掘:

  1. 强制开启“逐词输入”:不要一个字一个字打,养成打四字词的习惯(如“shengwujishu”打“生物技术”)。
  2. 开启Rime的“自动造词”:把常用长句(比如你的公司名、家庭地址)直接打成固定短语。
  3. 关掉“模糊音”(如果你开着):模糊音会让候选词变多,精确输入强制降低重码率。

结论:如果你选这个,速度极限在 60-80字/分,够用但不惊艳。

方案B:小鹤双拼(最适合99%的人)

首选,我再给你补一个Rime专属的避坑细节

  • 致命误区:很多人切双拼后,急着打文章,结果发现自己“脑子反应不过来韵母键位”。
  • 正确姿势:切双拼后的前3天,只做一件事——用双拼写日记/聊天,不要写正式文档。3天后肌肉记忆自动形成。
  • 速度上限:轻松破 100字/分,且双手按键均衡,不累手。

方案C:小鹤音形(适合追求“零选字”的硬核玩家)

如果你选了这条,那我必须告诉你一个血泪教训千万不要单独学“音形”,一定要在小鹤双拼(路线B)打满1个月、彻底熟悉前两码之后,再加后两码(字形)。

  • 如果同时学音和形,大脑会直接过载,你大概率在第5天放弃。
  • 速度上限:130-160字/分,全程不看候选框,打古文都行。

参考文献