跨平台的开源输入法Rime定制指南,打造强大的个性化输入法
本文最后更新于 2024年7月13日 上午
Rime/小狼毫/鼠须管是强大的开源输入法。但是,如何快速地在Linux、macOS以及Windwos上快速配置它呢?让我们一起来看看。
Rime
Rime/中州韵是开源跨平台输入法框架,不同平台客户端不同:
- 鼠鬚管 Squirrel: macOS版本Rime
- 小狼毫 Weasel: Windows版本Rime(支持WinXP~Latest)
- ibus-rime: Linux版本基于iBus的Rime
- 仓输入法 Hamster: iOS版本Rime输入法
- 小企鹅输入法 Fcitx5: Android上移植Linux Fcitx5输入法框架,可以用于使用Rime输入法
一些特点:
- 跨平台&开放: 因为是开源的原因,所以社区很开放,并且有着大量活跃用户。可以在多个平台上使用。
- 支持Lua: 其实这个算一大特点,新的Nginx、Neovim都支持脚本语言Lua了,Rime也同样支持,让用户可以使用Lua脚本进行更多定制化;比如:农历日期输出、数字大写输出等。
- 纯净、无追踪: 如今越来越关注用户隐私,输入法层面,Rime足够纯净;而且Rime支持本地字典。
关于Lua在Rime内如何使用,可以参考:薄荷输入法 rime 安装、librime-lua、librime-lua/wiki;也可以看看Rime的项目地址集合
接下来,我们就来看看如何安装,以及如何配置和快速使用
折腾输入法?
有些小伙伴觉得为什么要折腾输入法呢?
哈哈,这个问题其实就是问喜欢android刷机的小伙伴,为什么要折腾手机root一样。
如果你觉得折腾后,可以锦上添花,或者让输入法更契合你的喜好,让你打字更快、更舒服;亦或者,就是想体验新鲜事;再或者,希望自己的打字习惯,不要流到厂商的大数据等等,都可以尝试折腾一下。
生命不息,折腾不止。
反之,如果你觉得现在用的输入法,已经完全够用;或者已经非常习惯,当然没必要折腾。
记得我当时问一个鹅厂小伙伴:
所以,如果你也想折腾,或者对现在的输入法不满;可以玩玩看看~
辅助视频
部分东西,还是视频比较清晰。
这里做个视频,主要内容:
- 演示配置好后Rime的使用效果
- 如何在Windows、macOS和Linux上安装Rime
- 如何使用我的配置快速初始化Rime
- 使用建议
制作教程不易,如果热心的小伙伴,想支持创作,可以加入我们的「爱发电」电圈:
- Mintimate的电圈: https://afdian.net/a/mintimate
做教程视频不易(B站根本不会推荐引流),请务必一键三连嗷~
- B站视频地址:https://www.bilibili.com/video/BV12M411T7gf
- Youtube镜像地址: https://youtu.be/yc4AivDDpMM
感兴趣的小伙伴,还可以加入群聊:
- QQ: 703260572
支持创作
当然,也欢迎在B站或YouTube上关注我们:
- Bilibili: https://space.bilibili.com/355567627
- YouTube: https://www.youtube.com/@mintimate/featured
- 爱发电: https://afdian.net/a/mintimate
更多:
如何安装
首先我们看看如何安装Rime,主要讲解三大平台:Linux(Debian/Ubuntu)、macOS和Windows。
其他平台,暂不涉及(如: 一些爱好者,适配到Android手机上)。
本章节内容,可以参考官网进行安装: https://rime.im/download/
Linux
Linux上,方法很多。我们可以用框架直接部署,常见的框架:
- iBus(Intelligent Input Bus): 是 Unix-like 操作系统下的多语输入法平台。因为它采用了总线(Bus)式的架构,所以命名为Bus。
- Fcitx(Flexible Input Method Framework): 在X Window中使用的输入法框架,在源码包内包含了拼音、五笔字型以及区位、二笔的支持。可以输入UTF-8编码中的文字。可以在Linux、FreeBSD中运行。采用GPL授权。支持XIM、GTK(版本2和3)和Qt的输入法模块。
具体可以参考官方项目的文档:RimeWithIBus
我这里就用台Debian的虚拟机作为演示。
首先,从Debian8(Debian Jessie)开始,官方apt源内就已经有ibus-rime
的软件包;所以,我们这里直接进行安装即可:
1 |
|
安装好以后,注销用户并重新登录(你也可以选择重启设备);之后,就可以在设置内激活我们的ibus-rime
了:
到此,rime就安装完成了:
它的配置文件地址为: ~/.config/ibus/rime/
macOS
接下来,我们看看macOS如何进行安装。
首先,下载最新版本鼠须管: https://github.com/rime/squirrel/releases/latest
之后进行安装即可:
需要注意,安装好后,同样需要注销用户重新登录。之后,就可以添加我们的Rime鼠须管:
它的配置文件地址: ~/Library/Rime/
Windows
最后,我们看看Windwos如何安装。
其实,Windows,作为使用人数最多的操作系统,安装是最简单的。
官方最新版本的小狼毫: https://github.com/rime/weasel/releases/latest
为了优化性能,建议Windows8.1以上的用户,目前可以安装:
当然,安装过程中;建议自定义用户的配置文件地址,比如:
它的配置文件地址: %APPDATA%\Rime
(默认)
快速上手模板
在正式开始之前,给大家分享一下我的配置。支持Linux、Windows、macOS、iOS和Android版本:
特点,已经配置:
- 内置雾凇拼音词典,并且仓库内的字典与雾凇拼音同步;
- 已经配置好了水鸭青皮肤样式配置;
- 内置三款输入法: 薄荷拼音(全拼)、地球拼音-薄荷定制和五笔98薄荷定制,方便不同小伙伴选择自己喜欢的输入方式;
- 配置多款
lua
脚本: 支持输入R
后输入数字,进行数字转换,支持输入week
、date
、time
和lunar
分别输入当前星期、日期、时间以及农历日期,以词定字等。 - 支持中英混合输入、支持emoji输入、支持繁体输入等。
只需要下载并移动文件到配置目录,重新部署即可:
详细的配置,可以查看:
如果感觉非常有帮助,欢迎帮我一起承担网站和构建服务器费用(务必备注: 薄荷输入法,这样你的ID才可以出现在薄荷输入法的感谢名单里):
基础配置
打开我们的Rime,使用过程中。你会发现,它应该是这样的:
乍一看,有一些问题:
- 样式复古,有点像以前上世界的界面?
- 没有词库,操作一般
为了进一步现代化。我们这里对其进行配置。
默认情况下的配置文件(配置文件存放在配置目录下;如果不存在,可以手动创建):
文件 | 注释 |
---|---|
default.custom.yaml | 核心配置、全局配置 |
squirrel.custom.yaml / weasel.custom.yaml / ibus_rime.yaml | 平台相关配置。样式皮肤,不同软件默认输入法状态等。 |
<方案标识>.custom.yaml | 输入方案的定制配置 |
<名称>.dict.yaml | 词典 |
custom_phrase.txt | 自定义短语 |
优先级上:
1 |
|
举个例子,你使用明月拼音
,那么输入方案的定制配置就是:lua_pinyin.custom.yaml
部署编译
首先,Rime是如何运用个性化配置呢?很简单,用户在修改配置目录内的文件,这个只是临时修改,而真正要生效,就需要Rime重新进行部署操作。
在执行部署操作后,Rime会进行编译,将用户的自定义内容(包括词典),编译到配置目录内的build
文件夹内。
部署编译,基本上三大系统是一样的:
需要注意,Windows上,选择方案,可以可视化操作部分default.custom.yaml
选项。右键小狼毫图标就可以选择了:
方案选择
在学习配置前。我们看看如何选择方案。
我们可以使用热键进行方案切换,热键默认是Ctrl + ~
或F4
:
其中F4
比较容易冲突,那么可以进行修改.
直接配置default.custom.yaml
里的hotkeys
1 |
|
而可以激活的方案,一是default.custom.yaml
里的schema_list
比如上图内,macOS的配置:
1 |
|
还有一部分,就是输入法的配置文件,比如:
1 |
|
如果你需要更改上述文件,记得更改之后,重新部署。
样式文件
样式上面,我们需要进入rime的配置文件地址内。上文其实已经提及,需要注意的是,Windows用户可以直接右键打开:
macOS其实也一样可以:
Linux可能还是要比较辛苦一下,直接编辑~/.config/ibus/rime
内的文件。
而配置样式,就是配置配置文件目录下的样式配置文件即可。不过,发行版本的rime,样式配置文件是不一样的:
- 鼠鬚管 Squirrel: 配置文件夹下
squirrel.custom.yaml
文件; - 小狼毫 Weasel: 配置文件夹下
weasel.custom.yaml
文件; - ibus-rime: 配置文件夹下
ibus_rime.yaml
文件。
为什么文件里都带个
custom
呢?实际上,带custom
的配置文件,会在rime重新编译部署后,替换系统自带的不带custom
的配置文件内容,如:squirrel.custom.yaml
替换squirrel.yaml
。
横排显示
首先我们看看如何横排显示。squirrel.custom.yaml
和weasel.custom.yaml
只需要添加
1 |
|
需要注意,这里使用的是
Yaml
格式,根节点是patch
,标记为追加内容;style
为一级节点,horizontal
为二级节点。
另外,需要注意;Rime的缩进敏感。在没设置好编辑器缩进情况下,不建议用Tab
键直接进行缩进。(比如:Vscode的缩进,Tab
有时候是四个空格,有时候为两个。)
比如:Windows上编辑weasel.custom.yaml
文件:
之后的效果:
而Linux上的ibus_rime.yaml
文件,因为系统本身并没有ibus_rime.yaml
与之对应。所以就不用加上custom
;在文件内,也不需要加上patch
根节点:
1 |
|
网上有小伙伴说,直接建立
ibus_rime.custom.yaml
并在其中加上根节点patch
也会覆盖。但是我这个版本并没有用……
之后,重新部署。一般就可以看到效果了:
重新部署后,build
内就会有新的配置文件被创建了:
配色样式
当然,我们还可以设置Rime的输入法配色。不过需要注意:Linux上受限于ibus框架,所以Linux上的ibus-rime无法更改配色;但是,如果你Linux可以更改ibus的配色,那么可以尝试更改ibus框架样式,比如: ibus Tweaker
以下介绍小狼毫和鼠须管如何配置。
打开配置文件(squirrel.custom.yaml
/weasel.custom.yaml
),在patch
节点下增加内容:
1 |
|
其中,颜色部分,使用16进制进行表示;和#
开头的16进制比,如果颜色为#ed9564
,那么转为0x
开头就是ed和64互换:0x6495ed
。
添加"style/color_scheme"
选项(macOS还可以设置"style/color_scheme_dark"
用于暗色模式)激活:
1 |
|
同时,可以设置候选词的大小、窗口半径等等:
1 |
|
之后,重新部署。即可看到效果:
输入配置
接下来,我们看看输入的基础配置。比如:候选词有几个、激活什么组件等。
首先是候选词,这次可不再是squirrel.custom.yaml
/weasel.custom.yaml
/ibus_rime.yaml
了。它们是样式的。这次我们配置输入的。
以全局输入配置为例,我们在patch
节点下添加:
1 |
|
之后,重新部署即可看到效果:
与此同时,rime默认切换输入法是``Shift`,原因是默认配置是这样的:
1 |
|
解释一下:
选项 | 注释 |
---|---|
commit_text | 提交候选区的文字,然后切换到英文模式。 |
commit_code | 提交已输入的编码(拼音字母),然后切换到英文模式。 |
inline_ascii | 仅样式配置内存在 inline_preedit=true 时有效。在输入法的编辑区临时切换到英文,提交后恢复中文。 |
noop | 不执行任何操作。 |
clear | 清除已输入的编码,然后切换到英文模式。 |
你也可以自己设置,比如我设置的:
1 |
|
所以,我的配置就是这样的:
到此,基础配置完毕。以上部分出现的一些配置没讲解,将在后文拆解(当然,不可能拆解透彻,建议多配合官方文档:https://github.com/rime/home/wiki)
进阶配置
接下来,我们看看进阶部分的配置。本章节默认大家已经入门rime了,部分步骤不再详细演示。
字典配置
我们的输入法,还没有完全“认识”我们。不知道我们先输入什么词汇?
所以,我们需要给他词汇表,让它背下来~
引入词汇,首先是在default.custom.yaml
引入配置:
1 |
|
之后,创建当前输入法的定制文件。比如我使用的是明月拼音-简s s化字
,所以创建:luna_pinyin_simp.custom.yaml
。
在其中添加内容:
1 |
|
其中:
custom_dict.all
: 为字典总表文件。对应就是配置文件目录内custom_dict.all.dict.yaml
。这个可以直接自定义。
接下来,我们再创建它,并添加内容:
1 |
|
import_tables
下,除了luna_pinyin
文件,都在dicts
对应配置文件目录dicts
(也是自己创建),举个例子:dicts/luna_pinyin.chaizi
就对应配置文件夹dicts/luna_pinyin.chaizi.dict.yaml
比如我的:
至于词库字典内容,就需要你直接添加到dicts
文件,并追加到custom_dict.all.dict.yaml
文件内了。相当于custom_dict.all.dict.yaml
文件是总管,输入法的定制文件考虑是否要启动这个班组。
字典获取
我们的字典文件应该是长这样:
其中,表头为解析声明。name
需要与文件截取掉.dict.yaml
后一样,否则无法扫描到:
1 |
|
而下面文件就是txt
的文本格式了。获取可以使用:
颜文字
借助上述的字典操作,我们可以扩展出颜文字。绑定键盘vv
键,呼出颜文字:
参考至rime-settings获得的颜文字字典:
输入符号
如何输入符号呢?比如这样的:
亦或者这样:
在或者这样的:
其实,也是十分简单。我们只需添加symbol选项即可(反查),在输入法的选项内,添加:
1 |
|
具体支持的内容,可以查看:
模糊拼音
哈哈,有时候经常分不清翘舌。所以总是需要模糊拼音一下。其实添加的方法,官方也写的很详细:
简单来说,就是打开输入法的.custom.yaml
文件,在patch
根节点下,添加'speller/algebra'
节点。
比如:
1 |
|
需要注意,简拼
配置,一定要在最后。否则会出现意想不到的效果哦,<( ̄︶ ̄)↗
1 |
|
高级配置
本章节更进一步,谈谈Rime的高级配置。
时间组件
时间组件,其实就是用Lua
的脚本。如果之前有看过我Lvim的教程的小伙伴,应该会比较熟悉。
Rime也是支持Lua的脚本插件。最终实现的效果:
rime的Lua的适配,可以参考:
这里直接说一下现成的使用,首先是在配置目录内创建rime.lua
文件,类似与我们之前创建的custom_dict.all.dict.yaml
。并在其中写入:
1 |
|
紧接着,我们创建在配置文件目录创建Lua
文件夹,并在其中创建与上文对应的time.lua
和date.lua
文件:
date.lua
写入信息:
1 |
|
time.lua
写入信息:
1 |
|
最后,在配置文件内。激活插件:
1 |
|
Emoji
Emoji之前是挺麻烦的。现在官方出来Emoji opencc,就简单很多了。
参考:https://github.com/rime/rime-emoji
首先是下载其中的opencc
文件到本地配置文件夹目录内:
之后,我们对单个输入发进行配置:
1 |
|
英文输入的支持
用明月拼音,你会发现?怎么无法中英输入?
其实,是可以通过补丁的方式,支持我们的英文单词输入。参考:
我们需要做的,是把easy-en
作为明月输入发的扩展,扩展到明月拼音等输入法内。
只需要将easy_en.schema.yaml
、easy_en.dict.yaml
、easy_en.yaml
和lua/easy_en.lua
复制到 rime 配置目录。
最后,在输入法的配置项内激活即可,比如:明月拼音-简化版
(luna_pinyin_simp.custom.yaml):
1 |
|
某些特殊方案需要指定方案名称,如微软双拼:
1 |
|
最后,重新部署,即可看到效果:
定制组件
其实,你还可以基于模版,开发自己的输入法模版样式。
当然,定制前…… 可以看看官方自带的是怎么写的:
在配置目录内创建一个名字以.schema.yaml
结尾的配置文件。之后,在其中按照官方的模版配置即可。其中的内容包括:
- 方案定义、描述
- 引擎(输入法的核心,用什么引擎去书写,比如控制是空格选定还是分隔等)
其中的描述部分:
1 |
|
之后的引擎参考:
1 |
|
具体定制,可以参考官方的Demo:
Q&A
配置不生效?
通常情况下,如果是字典等内容,配置了但是没有生效。一般是格式错误。尤其是rime对yaml的格式极其严格。建议:
- yaml内,不要使用
Tab
键进行缩进 - 字典文件内,使用无格式的编辑器进行编辑
第二点是为什么呢?举个例子。
在字典文件内,我们使用Tab
进行词与字符的分隔。使用Tab
应该是这样的(macOS上纯文本编辑):
但是在Xcode、Vscde上的Tab
默认会自动转义为四个空格:
这个时候重新部署就是没有用的了。
查看日志?
如果有时候,重新部署 错误。或者设置的配置没生效,想要查看日志怎么办?
其实Rime是有日志服务的,不同版本Rime的日志存放地址是:
- Windows
- Weasel:
%TEMP%
- Weasel:
- Mac OS X
- Squirrel:
$TEMPDIR
- Squirrel:
- Linux
- iBus:
/tmp
- iBus:
比如macOS的:
More
感谢
本次文章参考多方文档和教程: