rime-雾凇拼音-配置记录

雾凇拼音(rime-ice)配置记录

环境:Linux(KDE Plasma / fcitx5 5.1.12 / librime 1.13.1)

记录时间:2026-09-16


一、配置背景

原有方案:fcitx5 + Rime + 朙月拼音简体(luna_pinyin_simp),系统自带词库,

痛点:词库质量差,常用词靠后,新词/网络用语缺失,候选排序不稳定。

最终方案:fcitx5 + 雾凇拼音(rime-ice)全拼,只用全拼,不要双拼/英文混输。


二、安装过程

1. 克隆雾凇拼音仓库

bash 复制代码
cd ~/.local/share/fcitx5/rime
git clone --depth 1 https://github.com/iDvel/rime-ice.git rime-ice

2. 拷贝文件到 user 目录

把以下文件拷入 ~/.local/share/fcitx5/rime/:

  • default.yaml(完整官方版,不能用精简版)
  • rime_ice.schema.yaml
  • rime_ice.dict.yaml
  • cn_dicts/(词库目录,含 8105、base、ext、tencent、others)
  • en_dicts/(英文词库,后来已删除)
  • lua/(lua 脚本目录)
  • opencc/(繁简转换配置)
  • squirrel.yaml(可选)
  • symbols_v.yaml / symbols_caps_v.yaml
  • punctuation.yaml / key_bindings.yaml / pinyin.yaml(从 /usr/share/rime-data/ 拷入)

⚠️ 系统共享目录的 punctuation.yaml 和 key_bindings.yaml 必须拷进 user 目录,

雾凇的 schema 靠 __include: default:/punctuator 引用它们,缺了就构建失败。

3. 精简 default.yaml

保留方案列表:

yaml 复制代码
schema_list:
  - schema: rime_ice    # 雾凇全拼
  - schema: melt_eng    # 英文(后来已删除)

双拼、九键、仓、元书全部注释掉。

4. user.yaml 设置默认方案

yaml 复制代码
var:
  default_schema: rime_ice
  previously_selected_schema: rime_ice

5. 重建部署

bash 复制代码
cd ~/.local/share/fcitx5/rime
rm -rf build sync
pkill -u $(id -u) fcitx5
setsid nohup fcitx5 -d -u $(id -u) > /tmp/fcitx5.log 2>&1 < /dev/null &
sleep 12   # tencent 大词库首次部署需 10-30 秒

三、踩过的坑(重点)

坑 1:精简版 default.yaml 导致构建失败

自己手写的精简 default.yaml 漏了 punctuator、key_binder、recognizer、

ascii_composer 等段落,雾凇 schema 通过 __include: default:/punctuator 引用,

缺字段直接报 unresolved dependency 构建失败。

修法 :换回雾凇官方完整版 default.yaml,只注释不需要的方案行。

坑 2:rime_ice.schema.yaml.custom patch 机制不生效

试过用 *.schema.yaml.custom 文件做 patch(Rime 官方推荐的配置覆盖方式),

在本环境的 fcitx5-rime 5.1.10 上不生效,build 结果完全没应用 patch。

修法 :直接改 user 目录下的 rime_ice.schema.yaml 本体。

坑 3:候选词右侧有拼音注释(corrector.lua)

雾凇默认开启 lua_filter@*corrector(错音错字提示),

配合 always_show_comments: true + spelling_hints: 8,

候选词右侧一直显示拼音注释,干扰使用。

修法 (直接改 rime_ice.schema.yaml):

yaml 复制代码
# 删掉这行:
- lua_filter@*corrector

# 改这三处:
spelling_hints: 0
always_show_comments: false
comment_format: []

坑 4:英文混输干扰中文候选

雾凇默认挂载 melt_eng(英文词库)和 cn_en(中英混输词库)两个次翻译器,

打 bus、bug 这种短字母串时英文词直接赢过中文候选。

修法 (改 rime_ice.schema.yaml):

yaml 复制代码
# translators 段注释掉:
# - table_translator@melt_eng
# - table_translator@cn_en

同时删除 melt_eng.schema.yaml、melt_eng.dict.yaml、en_dicts/ 目录,

并从 default.yaml 的 schema_list 删掉 melt_eng。

坑 5:用户词库功能被禁用(无记忆)

雾凇主 translator 默认 enable_user_dict: false,

删掉 rime_ice.userdb 后打多少遍候选都不变,永远按初始词库权重走。

修法 (改 rime_ice.schema.yaml 主 translator 段):

yaml 复制代码
enable_user_dict: true

改完重建,rime_ice.userdb 会生成,之后每次选词都会记入用户词库。

坑 6:lua 插件未安装(置顶候选、长词优先全部失效)

Debian 官方 librime1t64 包没有编译 Lua 支持 ,

所有 lua_filter / lua_processor 静默报错,日志满屏

error creating filter: 'lua_filter',pin_cand_filter(置顶候选)、

long_word_filter(长词优先)全部失效。

修法:

bash 复制代码
sudo apt install librime-plugin-lua

装完重建 fcitx5,日志里 lua 报错消失,功能恢复正常。


四、Shift 切英文 / 打英文

默认配置里 Shift_L 是 commit_code(Shift+回车上屏),不能临时切英文。

修法 (改 default.yaml 的 ascii_composer 段):

yaml 复制代码
switch_key:
  Shift_L: inline_ascii   # 按 Shift 时临时英文,松开自动回中文

注意:之前误把 ascii_composer 整段注释掉了导致 Shift 完全失效,

后来恢复 ascii_composer 并改 Shift_L 为 inline_ascii。


五、重置词频 / 清理污染

bash 复制代码
cd ~/.local/share/fcitx5/rime
rm -rf rime_ice.userdb sync build
pkill -u $(id -u) fcitx5
setsid nohup fcitx5 -d -u $(id -u) > /tmp/fcitx5.log 2>&1 < /dev/null &
sleep 12

rime_ice.userdb 是用户词库(Leveldb 格式),记录每个词的使用频率,

删掉就是完全重置。sync/ 是 Rime 的内部同步目录,也一并清掉。


六、当前 user 目录最终状态

复制代码
~/.local/share/fcitx5/rime/
├── build/                    # 构建产物(可删重建)
├── cn_dicts/                 # 雾凇中文词库(8105字表、base、ext、tencent、others)
├── custom_phrase.txt         # 自定义短语
├── default.yaml              # 全局配置(只保留 rime_ice)
├── installation.yaml
├── key_bindings.yaml         # 从系统共享目录拷入
├── lua/                      # lua 脚本(需要 librime-plugin-lua 支持)
├── opencc/                   # 繁简转换配置
├── pinyin.yaml               # 从系统共享目录拷入
├── punctuation.yaml          # 从系统共享目录拷入
├── radical_pinyin.*          # 部件拆字反查
├── rime_ice.dict.yaml        # 雾凇主词库配置
├── rime_ice.schema.yaml      # 雾凇全拼方案(已修改,见上)
├── rime_ice.userdb/          # 用户词库(动态生成,记录词频)
├── squirrel.yaml
├── symbols_caps_v.yaml
├── symbols_v.yaml
└── user.yaml                 # default_schema: rime_ice

已删除的文件:

  • melt_eng.schema.yaml / melt_eng.dict.yaml
  • en_dicts/ 目录
  • sync/ 目录(每次重置时删)

七、快捷操作备忘

操作 命令
重置词频(清 userdb) cd ~/.local/share/fcitx5/rime && rm -rf rime_ice.userdb build sync && pkill -u $(id -u) fcitx5 && setsid nohup fcitx5 -d -u $(id -u) > /tmp/fc5.log 2>&1 &
重新部署(拉取新词库后) cd ~/.local/share/fcitx5/rime && rm -rf build && pkill -u $(id -u) fcitx5 && setsid nohup fcitx5 -d -u $(id -u) > /tmp/fc5.log 2>&1 &
查看 fcitx5 日志 `grep -aE "error
查看当前 build 里 lua 是否生效 `strings ~/.local/share/fcitx5/rime/build/rime_ice.schema.yaml

八、升级雾凇词库

bash 复制代码
cd ~/.local/share/fcitx5/rime
# 重新 clone 到临时目录,只拷词库文件(保留已改的 schema)
git clone --depth 1 https://github.com/iDvel/rime-ice.git /tmp/rime-ice-upd
cp /tmp/rime-ice-upd/cn_dicts/*.dict.yaml cn_dicts/
rm -rf /tmp/rime-ice-upd
# 重建
rm -rf build && pkill -u $(id -u) fcitx5
setsid nohup fcitx5 -d -u $(id -u) > /tmp/fc5.log 2>&1 < /dev/null &

⚠️ 升级词库不要覆盖 rime_ice.schema.yaml(已大量修改),只更新 cn_dicts/ 里的词库数据。

相关推荐
殷色玫瑰3 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++
忆挽篱笙歌4 小时前
gcc,g++
linux
l1t4 小时前
修复WSL CreateInstance/E_UNEXPECTED和 mounted read-only 错误
linux·windows·wsl
Ruiery4 小时前
Linux 6.6内核 CPU 深度解析(九):时钟与 TSC — 内核怎么从 PIT/HPET 切到 TSC
linux·运维·服务器
91刘仁德5 小时前
Linux网络编程从入门到实战:UDP/TCP协议与socket编程全解析
linux·网络·笔记·tcp/ip·udp
水饺编程5 小时前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
牢姐与蒯6 小时前
一点小碎片——每个线程独有的东西——上下文+栈
linux·运维·服务器
小此方6 小时前
Linux网络(二十):TCP拥塞控制与延迟应答详解:从拥塞窗口到TCP性能优化,理解TCP与UDP的效率差异
linux·网络·php
yunwei376 小时前
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息
linux·后端·性能优化