基本信息
客户端:
- macOS: rime/squirrel: 【鼠鬚管】Rime for macOS
- iOS: Hamster 仓输入法 on the App Store
- Windows: rime/weasel: 【小狼毫】Rime for Windows
现成的配置方案:
关于符号 ℞ 的知识参见 Medical prescription - Wikipedia,原本就是用来表示「处方」的。
实际使用
注意 patch 的用法
CustomizationGuide · rime/home Wiki
一定一定注意 xxx.custom.yaml
里的 patch
是用来覆盖默认配置的,而不是追加的,所以如果要追加,需要把原来的配置也写一遍,或者把 key 写成 a/b/c
形式。
比如要自定义一个 color scheme,如果这样写(squirrel.custom.yaml
):
1 | patch: |
那么这个配置就只有 my_scheme
,而没有其他的了,所以应该这样写:
1 | patch: |
或者(未验证):
1 | patch: |
管理配置
用「东风破」(plum)进行 Rime 配置管理。
rime/plum: 東風破 /plum/: Rime configuration manager and input schema repository
東風破 是 中州韻輸入法引擎 的配置管理工具。
1 | curl -fsSL https://raw.githubusercontent.com/rime/plum/master/rime-install | bash |
这个操作会:
- 在执行命令的当前目录,安装 plum,在
./plum
(实际上就是git clone --depth 1
)。 - 直接更新 Rime 客户端的配置存储目录,安装一系列预设方案,即
preset-packages.conf
中的方案,目前有:
- Essentials
- prelude: 基礎配置 / the prelude package, providing Rime’s default settings
- essay: 八股文 / a shared vocabulary and language model
- Phonetic-based, Modern Standard Mandarin
- luna-pinyin: 朙月拼音 / Pinyin input method for Traditional Chinese
- terra-pinyin: 地球拼音 / School-taught Pinyin, with tone marks
- bopomofo: 注音 / Zhuyin (aka. Bopomofo)
- Shape-based
- stroke: 五筆畫 / five strokes
- cangjie: 倉頡輸入法 / Cangjie input method
「套装 packages」就是由 conf 文件定义的一组「配方 package」。「配方」又可以包含若干个「输入方案 ℞」或「Rime 配置 ℞」。
或者直接 clone 仓库:
1 | git clone --depth=1 https://github.com/rime/plum |
如果要安装其他方案/配方:
1 | cd /path/to/plum/ |
安装之后,点 squirrel 里的 Deploy,重新部署一下,然后按 Ctrl + `
呼出「方案选单」即可选择需要的方案。
想要删除一个方案,直接去配置目录的 default.custom.yaml
(没有的话就自行创建),通过 patch.schema_list
控制需要保留哪些方案,在目录里把对应的配置文件删除,重新部署即可,如:
1 | # default.custom.yaml |
Squirrel 样式配置
LEOYoon-Tsaw/Squirrel-Designer: Squirrel Theme Simulator
通过工具生成了 theme 设定代码,在 ~/Library/Rime
里找到 squirrel.custom.yaml
(没有则自行创建),修改即可。
雾凇拼音
iDvel/rime-ice: Rime 配置:雾凇拼音 | 长期维护的简体词库
通过 plum
安装:
1 | bash rime-install iDvel/rime-ice:others/recipes/full |
注意这个会修改掉原本的 default.yaml
。而且也会写入 squirrel.yaml
等文件,以更高的版本号覆盖掉客户端内置的配置。
Recipes 里有:
full
:全部文件all_dicts
:所有词库文件(包含下面三个)cn_dicts
: 拼音词库文件(cn_dicts/
目录内所有文件)en_dicts
: 英文词库文件(en_dicts/
目录内所有文件)opencc
: opencc(opencc/
目录内所有文件)config:schema=xxxx
: 双拼补丁(会在radical_pinyin.custom.yaml
和melt_eng.custom.yaml
里将speller/algebra
修改为对应的双拼拼写)flypy
: 小鹤双拼mspy
: 微软双拼sougou
: 搜狗双拼double_pinyin
: 自然码双拼abc
: 智能 ABC 双拼ziguang
: 紫光双拼
一些操作技巧
- 数字的各种格式(汉字、人民币大写等):
R<number>
,如R1234.5678
。 - 字母、数字的各种变体:
v<alpha|digit>
,如va
、v1
。 - 其他各种符号:
v<>
,如vjt
各种箭头、vss
各种手势 emoji。 - 拆字输入:
uU<各部件拼音>
,如uUbuhao
得到孬
。 - 以词定字:输入词组的拼音之后,按
[
或]
上屏激活候选项的首字或尾字。- 快捷键通过
default.yaml
的key_binder/select_first_character
和key_binder/select_last_character
调整。
- 快捷键通过
- Unicode 字符:
Unnnn
(注意U
要大写),如U263a
。 - 输入当前日期、时间:
rq
sj
xq
dt
ts
。 - 公历转阴历:
N<YYYYMMDD>
,如N20240726
得到二〇二四年六月廿一
或甲辰年(龙)六月廿一
。
设置中文和英文、数字之间自动加空格
如何在中英文混合输入情况下,输入后的英文单词前后自动加空格? · Issue #536 · iDvel/rime-ice
效果不太理想,想要类似于搜狗输入法里那样的效果。
搜狗输入法用户词库迁移
导出
打开搜狗输入法的设置窗口,点击「我的 → 词库设置 → 中文用户词库 → 导出」,得到词库备份文件,比如叫 搜狗词库备份_2024_07_26.bin
。
转换
工具:nopdan/rose: IME User Dictionary Converter. 输入法用户词库转换工具
直接去 releases 中下载最新的版本。注意要下载 rose.zip
即预先编译好的二进制程序,还要下载 data.zip
(目前知道 v1.3.1 版本中有)。按照说明把 data.zip
解压到 rose
目录下。
1 | chmod +x rose-darwin-amd64 |
可以手动编辑生成的 yaml 文件,删除或调整一些词条。
调整 Rime 词库文件格式
rose 不会自动添加 Rime 词库文件的头部,所以需要手动添加,如:
1 |
|
引用词库
把上边生成的 sougou.dict.yaml
放到 Rime 配置目录下,添加到当前词库的 import_tables
中,如:
1 | import_tables: |
Lua 脚本
四个的关键编程接口:
1 | function translator(input, seg, env) |
多端同步
Rime 客户端里「Sync user data」的同步逻辑是:
- 历史行为数据(动态词频)是双向同步,自动合并
- 用户自定义配置是单向同步,不会下载或合并
可能是因为如果配置文件发生冲突,就必须人工处理,而且不同设备不同系统的配置可能本来也不一样。
用 GitHub 同步配置文件(如 dotfiles/rime),内置 sync + 云存储(iCloud)同步行为数据。
Background: macOS 为主电脑(可能多台),iOS 为主移动端(可能多台),Windows 为辅电脑。
配置同步
配置文件放在 GitHub 仓库里做版本控制,dotfiles/rime at master · calfzhou/dotfiles。各端要手动拉取最新代码并部署。
macOS 的 Squirrel:可以直接把仓库目录软链到 ~/Library/Rime
:
1 | ln -s $DOTFILES_HOME/rime ~/Library/Rime |
Windows 的 Weasel:初次安装的时候可以选择数据的存储路径,直接选到仓库所在目录即可。如果已经安装了,也可以再把默认的数据目录改成仓库目录的软链。注意要把 build 等文件和目录从原本的数据目录添加到仓库目录中,否则切换后可能 Weasel 无法使用。
iOS 的 Hamster:一种方式是直接在手机上点开「Wi-Fi 上传方案」,通过电脑浏览器访问,把电脑上仓库目录里的配置文件上传到手机。更方便的方式是开启 iCloud 同步(但不用点「拷贝应用文件至 iCloud」),以后可以通过电脑在 iCloud 里 Hamster 目录(路径是 ~/Library/Mobile Documents/iCloud~dev~fuxiao~app~hamsterapp/Documents
)里的 RIME/Rime
子目录中放置所有的配置文件(可以从 GitHub 仓库直接复制过来),然后在 Hamster 里操作「RIME 部署」的时候会自动读取 iCloud 里的配置文件并更新到应用文件目录中。参考 词库同步 » iCloud 同步 | 「仓输入法」使用指南 和 开启iCloud备份后的使用说明 · imfuxiao/Hamster Wiki。
开启 iCloud 同步后,就不要再直接修改应用文件目录中的内容,而是应该修改 iCloud <Hamster>/RIME/Rime
目录中的内容。
词频数据同步
在各端的 Rime 数据目录里,都会有一个 installation.yaml
文件,在文件中添加 sync_dir
字段,指向云存储的目录(默认是当前目录)。
iOS 上仓输入法只能访问属于他自己的目录。在应用里进入 RIME 页面,选择同步路径,在 iCloud Drive 里找到 Hamster 目录,可以在里面创建一个目录比如叫 sync
。该目录在 iOS 里的地址是 /private/var/mobile/Library/Mobile Documents/iCloud~dev~fuxiao~app~hamsterapp/Documents/sync
,在 macOS 里是 ~/Library/Mobile Documents/iCloud~dev~fuxiao~app~hamsterapp/Documents/sync
。
Windows 上安装 iCloud 客户端,然后找到 Hamster/sync
目录的路径,写到 installation.yaml
里。
installation.yaml
里自动会有 installation_id
字段,值是一个 UUID,表示当前设备的唯一标识符。执行 Rime 的数据同步时,会在 sync_dir
目录下创建一个 installation_id
的子目录,存放当前设备的配置文件和词频数据。
可以把这个值改成统一的 ID,这样不同设备都会读写 sync_dir
目录下的同一个子目录,实现多端同步。但受限于云存储的同步机制,可能会导致文件冲突(比如云端的更新还没有同步下来,本地就已经写入的新的内容,导致冲突),越是急着同步反倒越是同步不了。
实际上 Rime 同步的时候,还会检查 sync_dir
目录下其他的子目录,如果其他子目录下也有对应的词频数据文件,也是会读取合并进来的。参考 多设备同步 » 用户词典迁移 | oh-my-rime输入法。另外可以把随机生成的 UUID 改成易懂的值,比如 mbp-1
、mbp-2
等。
比如设备 A 的 installation_id
是 A
,B 的 installation_id
是 B
。设备 A 先同步,其词频数据文件是(sync_dir
目录下的)A/rime_ice.userdb.txt
。设备 B 同步的时候会把 B/rime_ice.userdb.txt
、A/rime_ice.userdb.txt
以及本地 Rime 数据目录里 rime_ice.userdb
目录里的信息都合并,然后写入 B/rime_ice.userdb.txt
,并更新本地 Rime 数据目录里的 rime_ice.userdb
。
其他
关于双拼
推荐:小鹤双拼