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/ 里的词库数据。

相关推荐
星恒随风12 小时前
Linux网络编程基础(二):彻底理解局域网通信、MAC与IP地址、数据封装、端口号、网络字节序及Socket接口
linux·网络·笔记·学习·tcp/ip·1024程序员节
CHHH_HHH12 小时前
【Linux网络篇】初识网络与Socket编程基础
linux·服务器·c语言·开发语言·网络·后端·1024程序员节
郭涤生13 小时前
Jetson Orin 启动链
linux·jetson
东城居士13 小时前
理解Linux LCD驱动编程
linux·嵌入式系统·1024程序员节
星恒随风13 小时前
Linux线程同步与互斥:彻底理解读者写者问题、读写锁原理、读者优先与写者优先(附pthread完整实验)
linux·服务器·笔记·1024程序员节
_upupup13 小时前
Linux中的进程
linux·服务器·1024程序员节
虚无的纽扣14 小时前
【Linux】线程同步:条件不满足时,线程该怎么等
linux·服务器·1024程序员节
爱好曙光14 小时前
生产延迟尖刺排查:用 bpftrace 抓系统调用与调度延迟
linux·ebpf·延迟·性能排查·bpftrace
Ruiery14 小时前
Linux 6.6内核并发与同步(一):原子操作与内存屏障 — 内核同步的硬件底座
linux·运维·服务器·1024程序员节
码完就睡14 小时前
Linux——IP协议与路由选择
linux·网络·tcp/ip·1024程序员节