Skip to main content
  1. Posts/

最新版 Rime 输入法使用 (2022 更新)

··569 words·3 mins·
Table of Contents

更新日志
  • 2022-11-06: 更新基本概念,以及一些不清楚的地方。

之前一直听说过 Rime 这个神级输入法的大名,一直迟迟没有试用,一方面现有的各种输入法用着可以,另外,对于 Rime 没有 GUI 界面的配置感觉发怵。之前一直使用的是 QQ 输入法,最近一次升级,造成 Chrome 浏览器频频崩溃,是可忍孰不可忍,正好趁此机会卸载 QQ 输入法,试试 Rime 了。关于 Rime 的配置,网上能够找到的资料实在是过于丰富,为了使文章不过于冗长,一些简单的设置我将不再重复。

值得注意,Rime 的官方文档并不是很详细,所以网上的很多配置不一定是正确的,注意自己分辨和试验。

基本概念
#

Rime 是一款输入法,你也理解它是 输入法内核。同时针对不同的平台它又有不同的前端,这些前端又有自己的名字。

  • Windows: weasel,中文也叫“小狼毫”。
  • macOS: squirrel,中文也叫“鼠须管”。
  • Linux: ibus-rime,中文也叫“中州韵”。
  • Android: link,中文也叫“同文输入法”。

这是用户初次接触的时候会感觉困惑的地方。

Rime 的配置方式与配置目录
#

Rime 没有 GUI 设置界面,必需通过配置文件进行设置,这点和 Vim/Neovim 类似,它的配置文件使用 YAML 格式。每次更改配置文件以后,都必需要重新部署,新的设置才能生效。

Rime 配置都放在用户配置目录下,具体位置见 Rime wiki

用户文件夹下如何配置
#

网上的很多教程教用户直接在用户文件夹的 build 目录下修改 default.yaml ,输入方案.schema.yaml(这里 输入方案 只是某种具体方案的代称), weasel.yaml 等文件,这是不正确的方式,因为 Rime 升级时,这些文件会被覆盖。 正确的方式是,在用户文件夹下建立 default.custom.yaml{输入方案}.custom.yaml ({输入方案} 代表某种具体输入方案), weasel.custom.yaml 文件,这些文件相当于是补丁,部署以后会更新到默认的配置里面。 定制指南里面也有明确提到。

主题使用以及添加新的颜色主题
#

Rime 中,输入法的显示效果称为「颜色主题」(color scheme),它已经默认带了一些主题,默认的主题在 这里可以找到。要使用默认的主题,例如使用 lost_temple,只要在平台配置文件(例如 mac,就是 squirrle.custom.yaml) 中添加下面的配置:

patch:
  "style/color_scheme": lost_temple

在网上看到一个有趣的主题,如何添加到 Rime 中使用呢?以 Windows 平台为例,假如我们要加入 这里提供的「丹青」主题,在系统 custom 设置文件 (即 weasel.custom.yaml) 中加入以下配置即可:

"preset_color_schemes/tantsing":  # 在配色方案列表裏加入標識爲 tantsing 的新方案
    author: Mijiag
    back_color: 0xE3E3E3
    border_color: 0x000000
    candidate_text_color: 0x000000
    comment_text_color: 0x474747
    hilited_back_color: 0x1A0791
    hilited_candidate_back_color: 0x6F0B73
    hilited_candidate_text_color: 0xE3E3E3
    hilited_text_color: 0xE3E3E3
    name: "丹青/Tantsing"
    text_color: 0x000000

引用该主题的时候,使用名字 tantsing

"style/color_scheme": tantsing

效果如下:

如果要自己制作 Rime 主题, 「Rime 西米」是一款网页端工具,可以辅助制作,实时渲染颜色,便于查看最终显示效果。 这里有一些预定义的主题可供使用。

符号自定义
#

首先从 Rime 安装根目录下的 data 子目录拷贝 symbols.yaml 文件到 Rime 用户目录1(安装 Rime 以后,我的用户目录并没有像网上教程所说的包含 symbols.yaml文件),并且把该文件重命名为 symbols.custom.yaml

然后仿照里面的例子,我们就可以自定义自己的符号了,例如,下面是我增加的一些符号:

# 个人常用信息
    '/gr': [jdhao@hotmail.com, 132******68, jdhao]
# 快速输入勾和叉
    '/gc': [✓, 🗹, ✗, ☒]

然后,在新建的 luna_pinyin_simp.custom.yaml (luna_pinyin_simp 是沧月简体输入方案的代号)里面,加入下面的设置即可:

patch:
  # 引用 `symbols.custom` 文件里面的符号
  'punctuator/import_preset': symbols.custom
  'recognizer/patterns/punct': "^/([a-z]+|[0-9])$"

然后在中文模式下,输入 /gc,就会显示出自定义的符号,输入对应的数字,符号就会上屏。

输入直角引号
#

有的人喜欢在写作的时候使用直角引号:「」『』,Rime 在 symbols.yaml 里面,已经提供了这个功能,不过是在 [] 按键上提供的,中文输入法状态下,按下[ (]),返回的结果中包含 (),如果按住 Shift 键,按下 [ (]),返回的结果中包含 ()。

但是因为这毕竟是引号,最好是按下引号的时候,能够输出直角引号,在symbols.custom.yaml 中,找到 punctuator 部分下的 hafl_shape (半角的意思)下面,

把下面的映射

    '''' : { pair: [ '‘', '’' ] }
    '"' : { pair: [ '“', '”' ] }

改成

    '''' : { pair: [ '『', '』' ] }
    '"' : { pair: [ '「', '」' ] }

这样就可以直接输入直角引号了,另外一种方式就是后文将要提到的 在词典中添加直角引号映射

给沧月简体增加词典
#

这里可以下载用于沧月拼音方案的词库,只下载下面几个文件即可:

  • luna_pinyin.cn_en.dict.yaml
  • luna_pinyin.extended.dict.yaml
  • luna_pinyin.hanyu.dict.yaml
  • luna_pinyin.poetry.dict.yaml

这几个文件都是一些词典文件,然后我们可以仿照这些词典文件建立自己额外的词典,增加自己的词汇。例如,建立名为 jdhao.dict.yaml 的文件,然后添加几个自己常用的词汇,文件内容如下:

# jdhao.dict.yaml 文件内容
name: jdhao
version: "2019-02-16"
sort: by_weight
use_preset_vocabulary: true
import_tables:
  - luna_pinyin
  - luna_pinyin.extended
  - luna_pinyin.hanyu
  - luna_pinyin.poetry
  - luna_pinyin.cn_en
...

GitHub	github	100
Stack Overflow	so	1000

上述文件中,我们通过 import_tables 把刚才下载的所有词典还有 luna 本身的词典都给包含进来了,然后在下面再加上我们自己建立的词汇。

词典的格式
#

词典的格式为: 词汇<Tab>编码<Tab>词频,各个项目之间必须用 Tab(也就是制表符)分割,刚开始我不知道,结果使用了空格,自己添加的词汇总是不成功,需要注意。如果使用的是 Sublime Text 来编辑这个 YAML 文件一定要注意不要开启translate_tabs_to_spaces 选项。词频部分可以不要。

一切添加妥当之后,重新部署。然后试着输入,up,候选列表会出现 U盘,输入 yizhanghong,出现 一丈红,说明词汇已经添加成功了!

直角引号
#

前面提到了修改自带的引号映射来输入直角引号的方式,但是修改以后,如果想要输入中文的单引号,双引号就不太方便了。利用词典的功能,我们也可以输入直角引号,在jdhao.dict.yaml 中加入下面的映射即可:

「」	syh	1000
『』	dyh	1000

效果如下图所示

安装并启用小鹤双拼
#

最新版 weasel 并不带有小鹤双拼输入方案,需要自己下载,步骤如下:

  • 右键任务栏小狼毫的图标,打开菜单,选择「输入法设定」,进入输入法选择界面:

然后点击「获取更多输入方案」,会打开一个 Cmd 窗口,内容如下:

Rime package installer

Working directory: d:\Program Files (x86)\Rime\weasel-0.13.0
Package installer directory: d:\Program Files (x86)\Rime\weasel-0.13.0\
Download cache directory: C:\Users\ADMINI~1\AppData\Local\Temp
Rime user directory: C:\Users\Administrator\AppData\Roaming\Rime


Enter package name, URL, user/repo or downloaded ZIP to install:
  • 输入要下载的输入法方案即可,双拼方案在 这里可以找到,名称为 double-pinyin,在上面的对话框输入以后就可以下载 Rime 提供的双拼方案。

然后在上图的输入方案选择界面,选择要启用的输入方案。在输入汉字的界面,按 F4 选择小鹤双拼,即可启用。

安装表情 emoji
#

Rime 提供了很多表情,地址在 这里,但是对如何安装这些表情却有点语焉不详。

Rime 最新版提供了 东方破 来安装输入方案, 这里 也给出了 Windows 系统上使用的方法,但是下载安装以后,在 Cmd 使用如下命令安装 emoji,

rime-install emoji

或者使用

rime-install.bat emoji

都会输出下面的错误信息:

Rime package installer

Working directory: C:\Users\Administrator\AppData\Roaming\plum
Package installer directory: C:\Users\Administrator\AppData\Roaming\plum\
Download cache directory: C:\Users\ADMINI~1\AppData\Local\Temp
Rime user directory: C:\Users\Administrator\AppData\Roaming\Rime

rime-install: line 2: $'\r': command not found
rime-install: line 53: syntax error near unexpected token `$'do\r''
'ime-install: line 53: `for target in "${targets[@]}"; do

这个脚本在 cmd 上运行不了。必须使用 bash 环境才能运行,可以安装 git for Windows

安装以后,cd 到刚才安装 plum 所在的目录,首先运行以下命令安装 emoji,

bash rime-install emoji

然后,使用下面的命令给输入方案打 patch,我使用的输入方案是 luna_pinyin_simp,所以参考 这里 的命令:

bash rime-install emoji:customize:schema=luna_pinyin_simp

这样才会 patch 成功,这时,位于 %appdata%/rime 目录下的luna_pinyin_simp.custom.yaml 文件中会增加以下配置:

__patch:
# Rx: emoji:customize:schema=luna_pinyin_simp {
  - patch/+:
      __include: emoji_suggestion:/patch
# }

然后重新部署,emoji 添加成功了!

沧月简体默认输出英文
#

如果经常和英语打交道,偶尔输入汉字,可以把沧月拼音初始状态设为英语,这样就不用在需要输入英文时切换输入状态了。参考 这里给出的说明,在 luna_pinyin_simp.custom.yaml 文件中加入下面的设置:

patch:
  "switches/@0/reset": 1  # 初始的 ascii mode 设置为「西文」

一些小问题
#

各种配置到底放在哪里啊?
#

有的配置是某个平台独有的,要放在平台相关的,有的配置只想某个输入方案独有,放在方案的配置里面,如果各个方案都想试用某个配置,就放在 default.custom.yaml 里面,参考 这里.

有的配置怎么不生效?
#

很有可能是忘记部署了,任何更改,都必须在部署以后才能生效。当然,也可能是配置填写的时候没有按照格式规范书写,写错了,这时候部署就无法生效,我们可以查看 log 确认,Rime 的 log 文件地址:

  • 【中州韻】 /tmp/rime.ibus.*
  • 【小狼毫】 %TEMP%\rime.weasel.*
  • 【鼠鬚管】 $TMPDIR/rime.squirrel.*

通过查看最近的 log 文件,也许能发现具体错误在哪里。

为什么设置候选词竖排显示无效?
#

很多教程中说到,在 weasel.custom.yaml 里面使用如下的设置,使候选词竖排显示:

patch:
  "style/horizontal": false

但是部署以后,候选词还是横排显示,这是为何?可能是因为某些 color_scheme 本身把候选词设为了横排显示,主题设置的优先级更高,所以仍然横排显示,例如 Rime 鼠须管有多款主题都在主题设置中把候选词设置为横排2,可以查看主题的配置来确定。

参考
#

** 题图截取自 Rime 官方网站


  1. 在我的 Windows 系统上,根目录地址为 D:\Program Files (x86)\Rime\weasel-0.13.0,用户配置目录地址为 C:\Users\Administrator\AppData\Roaming\Rime。 ↩︎

  2. Mac 上鼠须管默认提供的主题可以在 这里查看。 ↩︎

Related

在 Listary 中调用 GoldenDict 或欧路词典查单词
··96 words·1 min
Sublime Text 3 使用相关问题及解决办法
··631 words·3 mins
Faster Directory Navigation with z.lua
··387 words·2 mins