更新日志
- 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
里面,已经提供了这个功能,不过是在 [
和 ]
按键上提供的,中文输入法状态下,按下[
(]
),返回的结果中包含 「
(」
),如果按住 [
(]
),返回的结果中包含 『
(』
)。
但是因为这毕竟是引号,最好是按下引号的时候,能够输出直角引号,在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,可以查看主题的配置来确定。
参考#
- 这个仓库的配置一直在更新,可以作为参考:https://github.com/ssnhd/rime
- 教程&指南
- 词典相关
- 排版
** 题图截取自 Rime 官方网站。