Rime 配置备忘录

输入

  • 模糊音: 不再自定义,使用雾凇默认方案
  • Emoji: 只使用雾凇的 emoji,不再整合 rime-emoji
  • 特殊符号输入: 带声调汉语拼音 雾凇 V 模式自带 vpy,其他通过自定义短语配置
  • 切换输入方案: Ctrl + ` 或 F4

词库

定制

  • Rime 定制指南
  • 自定义快捷键
  • 自定义短语,基于雾凇拼音修改
    • 私人词库虽好用,但限制在拼音的框架中,而自定义短语大大拓展了可能性,随便举几例🌰
    • 链接,是的,只用词库你绝对想不到自定义短语还能这样,低配 espanso,比如输入 tuna 触发 https://mirrors.tuna.tsinghua.edu.cn
    • 颜文字,比如输入 ciallo 触发 Ciallo~(∠・ω< )⌒☆
    • 特殊符号,LaTeX 低端平替,输入 forall 触发
    • 双语映射/规范输出,再也不会出现「都是片假名鬼记得住啊」的情况
      • 比如输入 gainax 触发 GAINAX株式会社ガイナックス;输入 alicesoft 触发 AliceSoftアリスソフト
      • 虽然私人词库也可以实现类似(但更弱)的功能,但只要你想,这里的输入词和触发词可以无限拓展,而词库不行
    • 示例对应的 custom_phrase.txt 节选
# 词汇<Tab>编码<Tab>权重
https://mirrors.tuna.tsinghua.edu.cn	tuna
Ciallo~(∠・ω< )⌒☆	ciallo
∀	forall	10

アリスソフト	alicesoft
AliceSoft	alicesoft
株式会社ガイナックス	gainax
GAINAX	gainax

同步

installation_id: "void"
sync_dir: "/path/to/RimeSync"
  • fcitx5-rime 配置备份: 不像 ibus-rime 使用反人类的 dconf,直接备份 ~/.config/fcitx5 即可
  • 换机:复制同步文件夹,配置新机的 installation.yaml,部署 -> 同步 -> 部署
  • 文件夹默认位置
文件夹fcitx5-rimeweasel
共享/usr/share/rime-data/<安装目录>\data
用户~/.local/share/fcitx5/rime%APPDATA%\Rime
同步installation.yaml同左
  • 用户文件夹结构
$ eza --tree ~/.local/share/fcitx5/rime
.
├── build # 构建缓存
├── cn_dicts # 词库
│   ├── *.dict.yaml
│   ├── moegirl.dict.yaml
│   ├── private.dict.yaml
│   ├── web-slang.dict.yaml
│   └── zhwiktionary.dict.yaml
├── en_dicts
│   ├── *.txt
│   └── *.dict.yaml
├── lua # Lua 脚本
│   └── *.lua
├── opencc # Emoji、繁简转换、字符映射
│   ├── emoji.json
│   ├── emoji.txt
│   └── others.txt
├── custom_phrase.txt # 自定义短语
├── default.yaml # 全局配置,不要修改
├── default.custom.yaml # 全局配置补丁
├── *.schema.yaml # 输入方案配置, e.g. rime_ice.schema.yaml
├── *.dict.yaml # 词库配置, e.g. rime_ice.dict.yaml
├── *.userdb # 用户词典, e.g. rime_ice.userdb
├── *.custom.yaml # 补丁, e.g. rime_ice.custom.yaml
├── installation.yaml # 安装配置,用于修改同步目录
└── user.yaml # 用户状态

迁移

🚨 Warning

下面的方法过于简单粗暴,而且受限于 OpenCC,更建议参考对应输入方案/词库的说明进行迁移。再不济也建议参考 rime-userdb-maker 写个一次性转换工具,避免后续反复排查用户词典的烦恼。

主要是用户词典迁移,词库只要在 schema.yaml 改改就能用,以明月拼音简体 -> 雾凇拼音的迁移为例。

# 切换到同步文件夹
cd path/to/sync_dir
# 重命名用户词典
cp luna_pinyin.userdb.txt rime_ice.userdb.txt
# 更新用户词典名称
sed 's/luna_pinyin/rime_ice/' rime_ice.userdb.txt > raw.txt
# 使用 OpenCC 进行简->繁转换
opencc -c t2s -i raw.txt -o mod.txt
# 检查处理结果
vim mod.txt
# 替换词库,删除中间产物
cp mod.txt rime_ice.userdb.txt
rm mod.txt raw.txt

Trime

  • 文件夹结构
    • 同步文件夹设置见 installation.yaml,不跟 Trime 设置走
    • rime 文件夹: /sdcard/Aka/rime
    • 同步文件夹: /sdcard/Aka/backup/trime
  • 配置(伪 YAML)
- schemata:
  - 雾凇拼音
  # - 仓·九宫格
  # - 小鹤双拼
- profile/storage/user directory: "/sdcard/emulated/0/Aka/rime/"
- candidates window: disable
- theme:
  - themes: 标准
  - colors: 孤寺改 / Lost Temple Kai
- clipboard:
  - clipboard:
    - history limit: 5
    - suggestion timeout: 10 s
  - draft:
    - history limit: disable

nimf

nimf 是韩国人开发的输入法,CJK 开箱即用,另有 nimf-i18n 拓展 100+ 语言的支持。 但是因为过于小众,只有零星的文档提及,稍微写个配置流程,以飨后人。 尝试在 Void 通过 xdeb 安装会吞 libnimf.so,没法测试,这里使用的是 Kali Live。

  • wiki
  • 下载 nimf_xxx_amd64-debian.trixie.deb,librime 在内的 CJK 支持已经附带在本体,不需要安装用于追加语言的 nimf-i18n
  • 直接 sudo dpkg -i + sudo apt --fix-broken install 不行,因为现在 Kali Weekly 不再提供 Live CD,需要先更一千多个软件包……
  • 于是先手动安装依赖再 sudo dpkg -i 并启动服务
# kali
sudo apt update
sudo systemctl enable ssh --now

# host
rsync -av ./nimf*.deb kali:~/
ssh kali

# kali
sudo apt install anthy libanthy1t64 libgtk2.0-0t64 libhangul1 libhangul-data librime1t64 fonts-noto-cjk
sudo dpkg -i nimf_1.4.13_amd64-debian.trixie.deb
sudo systemctl enable nimf --now
vim .xprofile
  • 参考 Installation Guide 配置环境变量,重启 log out & log in,检测一番环境变量设置都正常
# .xprofile
export XMODIFIERS=@im=nimf
export GTK_IM_MODULE=nimf
export QT_IM_MODULE=nimf
export QT_QPA_PLATFORM=xcb
export QT4_IM_MODULE=xim

# Wayland only, force X11 execution
# export GDK_BACKEND=x11
  • 运行 nimf-settings,发现没什么好配置的
  • Rime 配置文件和 iBus/fcitx5 一样,就是路径换下,复制到 ~/.config/nimf/rime 即可
  • 部署似乎需要进入 ~/.config/nimf/rime 运行 rime_deployer --build,保险起见我还手动设置了默认 schema,再次 log out & log in,可以输入中文
cd ~/.config/nimf/rime
rime_deployer --build
rime_deployer --set-active-schema rime_ice
  • ldd 看默认没链接 lua,但是 Kali Live 安装 rime 默认会安装 librime-plugin-lua,实际也能触发雾凇的 Lua 脚本,应该没什么问题
  • 其实在 X11 使用完全凸显不出 nimf 的优势,看 nimf 文档,它在 Wayland 的兼容性应该比 fcitx5-rime 要好,然鹅我还苟在 Xfce4,有生之年再测试

吐槽

很多人对 Rime 架构的理解都存在偏差,容易混淆的内容:

  • 输入方案
  • 词库/自定义短语/用户词典
  • 键位/皮肤
  • OpenCC 转换/emoji/符号映射
  • Lua 脚本

比如雾凇拼音,输入方案虽然有所涉及,但主要还是词库 + 符号映射 + Lua 脚本, 不少用户都是默默用全拼,就图个「词库」和「符号映射」, 小鹤双拼、小鹤音形、虎码这种才叫「输入方案」。

很多 Linux 发行版都打包了 fcitx5-rime 和 librime,但 librime-lua 支持比较玄学。 没打包、版本过时、依赖过时都很常见,想要最佳体验还是得自己编译,挺麻烦的…… 更不提 Wayland 和 Qt/GTK 等 GUI 框架的破事,很多时候 fcitx5-diagnose 没报错也不代表能用……

TODO

Vinfall's Geekademy

Sine īrā et studiō