跳转到内容

简介 ​

You don't pay for what you don't use.

只为你所需的功能买单。

这是源自于 C++ 的零开销(Zero-overhead)设计哲学。

原版万象拼音输入方案涵盖了丰富的功能,在“对标大厂体验”的同时也引入了具有“大厂风味”的庞大臃肿:其中大部分与输入无关的功能不会被绝大多数用户使用(我为什么要在一个输入法中计算时辰,且该功能花费了超 3000 行代码来实现?),却依旧会带来潜在的性能负担。此外,其“低内聚、高耦合”的混乱架构设计[1]也增加了用户的自定义难度及开发者的维护难度。

该 Fork 作为一个专注于输入的精简分支,移除了原版中与输入无关的功能,遵循 SOLID 原则重构了代码架构,并为全部 Lua 代码添加了完整的类型注解。该 Fork 已全部重写原版由 LLM 生成的低效代码,由自动化 CI/CD 定期同步上游词库,提供更轻量高效的输入体验。同时,该 Fork 重写了原版混乱的说明文档,以降低上手和自定义门槛。

支持拼音 / 辅助码方案 ​

支持任意组合以下拼音方案与辅助码方案。

  • 拼音方案:

    全拼 · 自然码 · 智能ABC · 小鹤双拼 · 微软双拼 · 搜狗双拼 · 紫光双拼 · 国标双拼 · 拼音加加 · 乱序17 · 蓝天双拼 · 大牛双拼 · 首道双拼 · 自然龙(反查为全拼) · 汉心龙(反查为全拼)

  • 辅助码方案:

    自然码 · 小鹤形码 · 墨奇码 · 汉心码 · 五笔前二 · 虎码首末 · 首右码 · 首右+ · 万象码

已移除功能 ​

输入相关 ​

功能描述移除原因 / 替代
仅 Base 词组直接辅助码输入两字词完整拼音后,直接追加辅助码筛选
辅助筛选排序优化辅助码完整命中单个字的候选排在前面
辅助筛选定点改字通过辅助码修改候选长句中的特定字仅针对长句输入
反查声调筛选按目标字的声调筛选部件或笔画反查结果无实用价值,反查仅用于查询未知读音的字词
上下文调频学习连续上屏词语组合影响候选可预测性
量词预测调频输入数字后提升单字量词权重影响候选可预测性
回删重输交换候选删除上屏词后再次输入相同编码时交换前两个候选影响候选可预测性
候选逐项排序通过快捷键向前或向后移动候选以候选置顶替代,性能更好、支持多设备同步
自动英文空格在英文单词前后自动添加空格受 Rime 限制,上游实现存在缺陷
整句英文输入连续输入多个单词,生成带词间空格的英文候选仅针对长句输入
空码回溯输入辅助码后无候选时显示上一首位候选隐式回退掩盖输入错误,易产生迷惑
固定已输入语句按下句号锁定当前候选,双击句号锁定上一次 N-1 字候选仅针对长句输入
循环切换分词重复按下分词键 ' 循环切换分词模式
输入长度限制限制重复按键输入或分词过多的编码无实际价值

快捷短语相关 ​

功能描述移除原因 / 替代
快符输入单字母 + / 上屏自定义符号
符号输入/ 前缀触发特殊符号候选
成对符号包裹输入末尾追加 \ + 映射键,将候选词用符号对包裹
随机标识与密码生成生成 UUID、ULID 或随机密码无密码学安全保证
多进制 Unicode 输入使用二、八、十进制 Unicode 码点输入字符以仅十六进制 Unicode 输入替代
字符编码转换将字符转换为 UTF-8、UTF-16、HTML、URL 等编码并输入
时间日期输入输入多种格式的时间与日期
中文大写数字输入将数字转换为中文大写数字或金额
短语格式化自定义短语中重复字符与动态变量(时间、日期等)格式化
超级替换通过自定义规则替换或派生候选以 OpenCC 替代,性能更好

提示相关 ​

功能描述移除原因 / 替代
超级 Tips表情、化学式、翻译等提示
反查字符区提示显示反查汉字所属的 Unicode 区段
计算器输入数学表达式得到计算结果
输入统计统计输入字数等数据

词库相关 ​

功能描述移除原因 / 替代
中英混合词输入输入由字母、汉字、数字、符号组合的词条词库质量低
简码输入按简码输入公共词条与成语

特殊布局相关 ​

功能描述移除原因 / 替代
T9 九宫格方案移动端九宫格输入方案
14 键 / 18 键移动端缩减键盘布局

鸣谢 ​

  • 万象拼音 — 该项目分叉自万象拼音输入方案。
  • Mira / 韵镜 — 该项目的自动化测试由 Mira 驱动。

  1. “高内聚、低耦合”是软件工程中的设计原则,指模块内部的元素应该紧密相关(高内聚),而模块之间的依赖关系应该尽量减少(低耦合)。此处“低内聚、高耦合”为其反义词。原版万象拼音输入方案采用了大量“超级模块”的设计,将互不相关的功能混杂在同一个模块中,而实现单个功能的代码却分散在各处,以毫无必要的方式增加了代码的复杂度和维护难度。 ↩︎

基于 CC-BY-4.0 许可发布