英文方案配置
英文方案的词频调整策略、调频记账方式与上屏后自动加空格
方案 → 英文方案配置 0.114 新增。「清风英文」0.122 新增(方案 ID english,0.121 及以前叫「英文」)是一个普通的可切换方案,和五笔、拼音一样出现在方案列表里:启用后用循环键或直达热键切过去,输入字母出英文候选(词库补全)。
对应配置段是 config.toml 的 [schema.english],完整键名与默认值见方案与引擎配置。
怎么用上它
英文方案就在方案页的列表里(不需要勾「显示特殊方案」,它不是特殊方案),默认未启用。两种用法:
- 把它加入已启用列表,用
Ctrl + Shift + E循环切换 - 或者不启用,只给它配一个直达热键——按热键切过去打一段,再按循环键或另一个热键切回来。这样它不占循环位置
首次切过去时会现加载词库,可能有短暂停顿,之后就缓存住了。
词频调整
| 选项 | 说明 | 出厂 |
|---|---|---|
| 启用词频调整 | 总开关 | 关 |
| 仅记录次数 0.126 新增 | 不调整候选顺序,只记录每个字词的上屏次数,供词库页「词频」查看、导出。仅「启用词频调整」关闭时可用,见只记次数、不调序 | 关 |
| 调频策略 | 位次渐进 / 一次到顶 / 逐次提升 | 位次渐进 |
| 补全词参与调频 | 前缀补全候选是否参与提升。仅「位次渐进」下可用 | 全部 |
| 热度衰减半衰期 | 使用记录衰减到一半的小时数,0 = 内置 72 小时。仅「位次渐进」下可用 | 0 |
| 调频记账方式 | 按整词 / 按编码,见下 | 按整词 |
默认策略与码表刻意不同
码表侧出厂是「置顶」,英文出厂是「位次渐进」。原因是英文候选几乎全是前缀匹配——打 hel 出 hello / help / helper。
「一次到顶」「逐次提升」这类「用过一次即整体跳到没用过的那批之前」在这里过于激进:一次误选就把词顶到很显眼的位置,而且这类策略的「用过」不衰减,错了就一直错。「位次渐进」每次只前移一半、久不用会回落,更适合前缀匹配为主的方案。
同理「补全词参与调频」出厂是「全部」:英文候选本来就几乎全是前缀补全,收窄到「仅单词」等于把调频关掉大半。
英文没有「首选保护」
码表那组「一简位 / 二简位保护前 N 项」是简码位的首选保护,判据是本次输入的码长。英文没有简码位这回事——一个 a 后面跟的是几万个词而不是钦定首选,所以这一组在英文里不存在。
调频记账方式
| 取值 | 语义 | 效果 |
|---|---|---|
| 按整词(默认) | 记成 (hello, hello) | 打 hel 选过 hello 后,打 he 也受益——跨码位共享 |
| 按编码 | 记成 (hel, hello) | 各前缀独立学习,与码表侧同口径 |
这一项按候选来源生效——混输方案里混进来的英文候选同样按它记账。
打全后直接上屏、短前缀也能排上来 0.123 新增
两条都只在开了词频调整时生效,英文方案、临时英文、快捷输入里的英文一致:
- 打全一个词后直接按空格上屏(上屏的是首选原文,或你选了大小写变形),只要它对应词库里的词,就按那个词记一次,与从列表里选中它等效——打
Translation上屏记到translation。不是词库词的原文不记。 - 用过的词在短前缀下也会被补进候选:单字母前缀下候选成百上千,只取前几百条,用过的长词原本可能根本不在里面,调频无从下手。现在「按整词」记账时,用过的词即使不在取回的那批里,也会补到候选末尾再按「位次渐进」前移——例如在
t下用过 5 次的translation会出现在第 2 页。「按编码」记账时各前缀独立学习,不跨前缀补。
候选面:原文与大小写 0.119 新增
| 选项 | 说明 | 出厂 |
|---|---|---|
| 首选为输入原文 | 三档 0.122 新增:把你打的那串字母本身钉在所有词库候选之前,见三档怎么选 | 总是 |
| 大小写变形候选 | 另补出全小写/首字母大写/全大写三条 | 关 |
| 候选跟随输入的大小写 0.121 新增 | 打 Hi 出 Hill、打 WoW 出 WoWed,见下 | 开 |
跟随输入的大小写 0.121 新增
打 Hi 出 Hill、打 WoW 出 WoWed——词库候选按你实际按下的大小写逐位改写,出厂开。
只跟大写:你打的小写位保持词库原文,China、iPhone、Hi-Fi 这类词自带的大写不会被压平。候选与输入逐位对不上的整条保持原样,不产出既非词库形态、也非你所打形态的杂合体。
它与词频调整、置顶隐藏都不冲突:那些按词库原文认词,改写只发生在最后的呈现上,所以把 Hill 顶到首位之后,你打 hi 拿到的仍是它。
想临时要全大写或全小写,配一个切换候选大小写的键,它对英文方案和临时英文同时生效。
为什么英文方案需要「首选为输入原文」
英文的特殊之处是输入即内容——你打的 hel 本身就是可以上屏的文本,这一点码表和拼音都没有。
于是开了词频调整之后会出现一个别处不会有的困境:hello 被顶到首位是你想要的,但这样一来想上屏 hel 本身就只剩回车,而回车在连续输入里很打断节奏。把原文钉在最前就解决了这件事——词频照常在词库那一段里生效,只是不越过原文。
关掉它则回到「候选全部来自词库」的形态,适合几乎只打完整单词的人。
两项都关且词库没命中时,候选是空的
这不是故障:此时按空格会直接上屏你打的那串字母。
与临时英文那几项的关系
同名的两项在临时英文下另有一份,两边各自独立,改一边不影响另一边。默认值还刻意相反:
| 英文方案 | 临时英文 | |
|---|---|---|
| 首选为输入原文 | 开 | 开 |
| 大小写变形候选 | 关 | 开 |
| 候选跟随输入的大小写 0.121 新增 | 开 | 开 |
变形那项的差别是场景决定的:临英是「中文里插一个英文词」,Hello 这种首字母大写是刚需,而且只打一两个词,多几条候选不碍事;英文方案是长时输入,每条变形都吃掉一个候选位,一整屏候选里有三分之二是同一个词的三种大小写就很浪费。
两边都可以按自己的习惯改。
三档怎么选 0.122 新增
| 取值 | 什么时候出原文候选 |
|---|---|
| 总是(出厂) | 恒出,钉在所有词库候选之前 |
| 仅当它是词库词 | 只有你打的这串本身就是词库里的词时才出,且恒排第一、不受调频影响;不是词库词就一条都不出 |
| 不显示 | 从不出。想上屏所打原文按回车 |
中间那档补的是另外两档各只对一半的缺口:打 hel(词库里没这个词)时「总是」会多出一条占位的 hel;打 hell(词库里有)时「不显示」又让它被用得更多的 hello 顶下去。
⚠️ 判据按字面、区分大小写:打 usa 时词库里只有 USA,usa 这个字面不在词库中,于是不出原文候选、USA 成为首选。想要小写的 usa,按回车上屏原码。
词组分词输入 0.122 新增
用 ' 把词组切成几段,每段只打前缀,两头一打就定位到长词组:
| 打 | 得到 |
|---|---|
bue'air | Buenos Aires |
ip'max | iPhone 15 Pro Max |
ip'pro | iPhone 15 Pro(允许跳词,不必写成 ip'15'pro) |
段的顺序要与词的顺序一致,且第一段必须是词组的第一个词——否则打 pro 会把所有含 Pro 的词组都招来。
出厂关闭。临时英文另有独立的一份。
- 快捷输入里的英文改读临时英文那份,这份只管英文方案 0.123 新增
开启后 ' 不再是第三候选键
' 要被收进缓冲当分词符,所以它不再是「选第 3 个候选」的别名。用数字键 3 代替。
含撇号的词不受影响:分词是追加的一条查询,不是改道——打 o'c 会同时拿到 OS X El Capitan(分词命中)与 o'clock(词库原路径命中)。
上屏后自动加空格
开启后上屏一个英文词会自动补一个空格,连续打词不必手动按。补与不补的边界:
| 场景 | 补空格 |
|---|---|
| 空格、数字键、次/三选键、鼠标点选中候选 | ✅ 都补 |
| 空格上屏原码(打了词库里没有的自造词、缩写) | ✅ 补,与选中候选保持一致 |
| 回车上屏原码 | ❌ 不补——回车是终结性动作,多伴随换行或提交 |
| 标点键顶屏 | ❌ 不补——打 hello 直接按 , 得到 hello,,不会被空格断开 |
这一项按当前方案生效:只在英文方案下补空格,中文输入中途插个英文词不会平白多出空格。
自 0.122 起临时英文有自己的一份「上屏后自动加空格」0.122 新增,与本项各配各的——中文里插一个英文词,补上的空格往往还得退格删掉。⚠️ 从 0.121 及以前升级上来、本项原本开着的,临英那侧会变成不补,要补得另外打开临英那份。
英文方案的用户词库 0.114 新增
英文方案有自己的用户词库,收专有名词、缩写、项目内部词汇这些词库里不会有的词。编码就是单词本身的小写——英文词库以小写码做大小写不敏感的前缀匹配,加 WindInput 后打 wind 就能出。
三种词加不进去,加词会提示无法计算编码:
-
带空格的(如
thank you)—— 带空格的编码会让前缀查询永远命中不到 -
非 ASCII 的(如
café)—— 英文词库的编码空间就是 ASCII -
一个字母都没有的(如
123)—— 纯数字或纯符号不是英文词 -
0.124 及以前英文没有临时词库,词库页只有「用户词库 / 词频 / 候选调整」三个子标签。
-
有了自动造词以后,英文也有临时词库 0.125 新增,词库页多出「临时词库」子标签。
自动造词 0.125 新增
打了一个词库里没有的词(Immortalwrt、项目代号、缩写),上屏一次它就被记下,下次打前几个字母就能补出来。设置在 方案 → 英文方案配置 → 自动造词,出厂关闭。
- 一个开关管两处:英文方案和临时英文共用同一套词库,造出来的词两边都查得到。临时英文没有自己的开关,同临时拼音跟随拼音方案的「自动学习」。
- 什么算造词:上屏了词库里没有的原文——选中原文那一格(或它的大小写变形)、回车或空格上屏所打的字母、按标点顶屏原文。切换中英文时顺带上屏的不算。
- 先进临时词库,再晋升:新词先进英文临时词库(有条数上限,用得少的会被挤掉,拼错一次不会永久留下);累计用到「晋升次数」(出厂 3 次,含造词那一次)就转进用户词库。设成 0 表示一直留在临时词库。
- 存原形、码是小写:打
Immortalwrt记下的就是Immortalwrt,打immo能补出来。已经有了Immortalwrt时再打小写的immortalwrt上屏,不会另记一条,而是算作那一条又用了一次。 - 不记的:词库里已有的词(不分大小写)、单个字母、纯数字、超过 32 个字符的、带符号或空格的串(
C++、don't、thank you)。 - 快捷输入里的英文不在此列:那里打的原文进快捷输入历史,不会造英文词;但在快捷输入里选中已经造好的英文词,同样算用了一次。
造出来的词和手工加的用户词一样,会排在词库自带的补全词前面。
相关页面
- 临时模式 · 临时英文——中文输入中途插英文
- 混输方案配置 · 启用英文候选——让英文候选混进五笔拼音
- 词频与候选排序——位次渐进策略的完整说明
对这篇文档有疑问,或发现内容有误?
欢迎到文档仓库提 issue,写明问题时附上本页链接即可。