Melaton's Blog

Rime中文输入法的最终解决方案

Table of Contents

分享一套自用的Rime输入法配置

默认的Rime-Ice已经足够日常使用,但它的词库仍然偏通用。如果你经常输入热门游戏专有名词、二次元作品名、角色名、网络词,单靠原版Rime-Ice会明显不够用

在这里我推荐把Zhwiki和Moegirl词库接进Rime-Ice。这样既保留雾凇拼音原本比较舒服的日常输入体验,也能补上专有名词和ACG相关词汇

如果你使用Arch,可以直接从AUR安装,词库会跟随系统滚动更新,非常方便

yay -S rime-ice-git rime-pinyin-zhwiki rime-pinyin-moegirl

如果你不是Arch,只要保证下面这些词库文件能被Rime找到即可。常见位置是 /usr/share/rime-data/

rime_ice.dict.yaml
zhwiki.dict.yaml
zhwikisource.dict.yaml
zhwiktionary.dict.yaml
moegirl.dict.yaml

# 配置

Fcitx5 Rime的用户配置目录一般在这里

~/.local/share/fcitx5/rime

如果你用的是其它前端,路径可能不同,例如IBus常见的是 ~/.config/ibus/rime

## 新建扩展词库

创建 rime_ice.extended.dict.yaml

# Rime dictionary
---
name: rime_ice.extended
version: "1.0"
sort: by_weight
use_preset_vocabulary: true

import_tables:
  - rime_ice
  - cn_dicts/8105
  - cn_dicts/base
  - cn_dicts/ext
  - cn_dicts/tencent
  - cn_dicts/others
  - zhwiki
  - zhwikisource
  - zhwiktionary
  - moegirl

这里最重要的是不要只写:

import_tables:
  - rime_ice
  - zhwiki
  - moegirl

看起来这样也能部署成功,但可能会出现一个很恶心的问题:安装大词库以后,原本的常用词推荐反而变少

例如输入 fanle,原本应该优先出现「犯了」,但错误配置下可能只剩「反了」「烦了」之类的候选。这不是前端皮肤的问题,也不是候选页数的问题,而是扩展词库编译后没有完整带上Rime-Ice原本的 cn_dicts/base 等基础词库

所以在扩展词库里,我建议直接把雾凇拼音原本导入的几个 cn_dicts/* 也列出来,再把Zhwiki和Moegirl放到后面。这样可以保留原来的高频日常词权重,同时补充大词库

## 切换Rime-Ice使用扩展词库

创建或修改 rime_ice.custom.yaml

patch:
  translator/dictionary: rime_ice.extended

如果你还想使用雾凇拼音的默认方案列表和菜单配置,可以在 default.custom.yaml 里加入:

patch:
  __include: rime_ice_suggestion:/

# 部署

修改完之后重新部署Rime

rime_deployer --build ~/.local/share/fcitx5/rime /usr/share/rime-data ~/.local/share/fcitx5/rime/build
fcitx5-remote -r

也可以直接在Fcitx5托盘菜单里点“重新部署”

如果你用的不是Fcitx5,把上面的用户目录换成你的Rime用户目录即可

# 验证

最简单的验证方法就是切到Rime输入法,直接输入:

fanle

正常情况下,「犯了」应该能回到靠前的位置

如果你想确认是不是编译表的问题,可以反编译生成的词库表:

rime_table_decompiler ~/.local/share/fcitx5/rime/build/rime_ice.extended.table.bin /tmp/rime_ice.extended.txt
rg '^犯了\tfan le' /tmp/rime_ice.extended.txt

正常应该能看到类似结果:

犯了    fan le    75830

如果查不到,说明扩展词库没有正确带上基础词库。回去检查 rime_ice.extended.dict.yaml 里的 import_tables,尤其是 cn_dicts/base

# 一点取舍

Zhwiki和Moegirl词库非常大,第一次部署会明显变慢,编译出来的 table.bin 也会变大。这是正常的

如果你只想补充百科词条,可以只保留Zhwiki。如果你经常输入二次元作品和角色名,再加Moegirl。对我来说两个都开是最省心的方案

最终效果就是:日常输入仍然维持Rime-Ice原本的手感,专有名词和作品名又不需要频繁手动造词