rime-lua-aux-code 是一套基于 librime Lua 接口开发、音码与形码完全分离的通用辅助码插件,彻底解决传统音形方案需要预生成海量混合词库、切换辅码就得重制码表的痛点。传统小鹤 / 自然音形会把「拼音 + 辅码」全部预编译进 dict ,词库体积爆炸、切换辅码成本极高;本插件采用独立辅码文本文件 + 运行时动态过滤架构,拼音词库与形码辅码完全解耦,任意拼音 / 双拼方案都能快速挂载小鹤、自然码、墨奇、仓颉等辅码,无需改动原有主词库。

插件核心逻辑:正常打字只输入拼音,遇到重码多的字词时,输入分隔符(默认;)追加字形辅码,实时过滤候选,大幅减少翻页;支持全平台 Windows/macOS/Linux/ 安卓同文 / 小企鹅 Rime 前端,是目前兼容性最强的通用辅码 Lua 工具。

核心设计

传统音形方案痛点

  1. 音码 + 辅码预组合,词库条目指数级膨胀,部署、更新缓慢;
  2. 更换辅码体系(自然码→小鹤)必须重新生成整套 yaml 词库;
  3. 自定义新词无法自动生成音形组合,需要手动造词。

本插件创新分离模式

  1. 拼音主词库完全独立:继续使用雾凇、万象等原生拼音 / 双拼词库,不做任何修改;
  2. 辅码单独存放 txt 文件汉字=两位形码极简格式,新增、修改辅码只需编辑 txt ;
  3. 运行时动态匹配过滤:输入拼音 + 分隔符 + 辅码,脚本实时筛选匹配字词,不污染原始词库;
  4. 多辅码表共存,切换仅需修改配置命名,无需重制词库。

核心功能

1. 多套主流辅码内置,开箱即用

仓库自带成熟辅码文本,覆盖绝大多数音形使用者:

  • ZRM_Aux-code_4.3:自然码辅码(默认 fallback )
  • flypy_full.txt:小鹤双配套小鹤形码
  • moqi_aux_code.txt墨奇音形辅码
  • 仓颉五笔辅码、繁体仓颉辅码,按需加载

辅码文件格式极简:汉字=辅码 1 辅码 2,用户可自行扩充、修改私人字形规则。

2. 灵活分隔符触发机制

  • 默认触发键 ;:输入拼音 ++辅码,筛选后自动记入用户词库,长期打字自动调频;
  • 次触发键 ;;:仅临时筛选,本次上屏不更新个人词库,适合临时冷门字词;
  • 支持自定义任意半角符号作为触发键,兼容不同用户打字习惯。

3. 整词全域辅码匹配(核心优势)

不限制仅匹配词组首字,支持词语任意字辅码检索

例:输入 bairi; i 可筛选「白日依山尽」,用末尾「尽」的辅码即可定位长句;

插件自动遍历词组所有汉字辅码,命中全部相关候选,长文本写作大幅降低翻页。

4. 候选辅码提示开关

候选栏可自动标注当前汉字对应的形码,如 椰子蟹(蟹:ij),新手学习辅码不用单独查表;熟练用户可在 yaml 配置关闭提示,界面更简洁。

5. 智能输入流处理

选中字词上屏后,插件自动清除已输入的辅码与分隔符,无需手动删分号,可无缝连续输入;输入纯拼音时插件完全静默,不干扰正常打字流程。

6. 全平台完整适配

  • 桌面: Windows 小狼毫、 mac 鼠须管、 fcitx5/ibus-rime ;
  • 移动端:安卓同文、 F-Droid 小企鹅输入法( Rime 插件);
  • 统一一套 lua 脚本,无平台差异化代码。

7. 完善自定义配置项

可在方案.custom.yaml自由调整:

  1. 切换辅码文件(小鹤 / 自然 / 墨奇一键切换);
  2. 修改;/;;触发符号;
  3. 开启 / 关闭候选辅码提示;
  4. 调整翻页按键冲突(防止逗号句号同时做翻页 + 辅码分隔);
  5. 适配繁简转换顺序,解决繁体方案辅码匹配错乱问题。

部署流程

1. 仓库文件目录结构

rime 配置根目录/
├─ lua/
│  └─ aux_code.lua       # 主过滤脚本
├─ aux_code/             # 辅码文本存放目录
│  ├─ flypy_full.txt
│  └─ ZRM_Aux-code_4.3.txt
└─ double_pinyin_flypy.custom.yaml # 方案补丁

2. 方案补丁配置示例(以小鹤双拼为例)

在你的输入方案自定义文件(*.custom.yaml)添加:

patch:
  engine/filters/+:
    - lua_filter@*aux_code@flypy_full # @后对应辅码文件名
  speller/alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;
  key_binder/+:
    aux_code_learn_trigger: ";"
    aux_code_no_learn_trigger: ";;"
    bindings:
      - { when: has_menu, accept: minus, send: Page_Up }
      - { when: has_menu, accept: equal, send: Page_Down }
  show_aux_notice: true # 关闭改为 false 隐藏辅码提示

修改完成后,右键输入法「重新部署」即可生效。

3. 安卓小企鹅特殊说明

必须安装 F-Droid 原版小企鹅,启用 Rime 插件后,将 lua 、 aux_code 文件夹放入移动端用户资源目录,配置规则与桌面完全一致。

繁简方案适配注意事项

脚本执行顺序直接影响匹配准确性:

  1. 简体方案推荐顺序 lua 辅码过滤 → 繁简转换 (simplifier) → 去重
  2. 繁体朙月方案推荐顺序 繁简转换 → lua 辅码过滤 若顺序颠倒会出现「繁体字辅码匹配简体、筛选失效」问题,配置时注意调整 filters 队列。