设置说明方案设置

英文

英文方案的词频调整策略、调频记账方式与上屏后自动加空格

v0.127.0

方案 → 英文 0.114 新增。「清风英文」0.122 新增(方案 ID english,0.121 及以前叫「英文」)是一个普通的可切换方案,和五笔、拼音一样出现在方案列表里:启用后用循环键或直达热键切过去,输入字母出英文候选(词库补全)。

对应配置段是 config.toml 的 [schema.english],完整键名与默认值见方案与引擎配置。

它和「临时英文」不是一回事

  • 英文方案——切过去打一整段英文,再切回中文。走常规输入路径,出词库候选,有自己的用户词库与词频
  • 临时英文——中文输入中途插几个英文单词,打完自动回中文

两者共用词库与学习数据:本页的词频调整从 0.118 起同时管辖临时英文,临英里选过的词切到英文方案照样排在前面,反之亦然。 ⚠️ 自动加空格自 0.122 起不再共用 —— 临英有它自己的开关,见临时英文。

各管各的只有两处:临英独有的按键语义(符号数字入码、空格作输入)在临英那边;候选面那三项(原文候选、大小写变形、跟随输入的大小写)两侧各有一份、互不影响。

怎么用上它

英文方案就在方案页的列表里(不需要勾「显示特殊方案」,它不是特殊方案),默认未启用。两种用法:

  • 把它加入已启用列表,用 Ctrl + Shift + E 循环切换
  • 或者不启用,只给它配一个直达热键——按热键切过去打一段,再按循环键或另一个热键切回来。这样它不占循环位置

首次切过去时会现加载词库,可能有短暂停顿,之后就缓存住了。

候选按常用程度排序 0.128 新增

自带的英文主词库只有词、没有权重,以前前缀补全按字母序出(打 produc 先出 produce、produced)。现在词库里没写权重的词按一份英文词频名次表排序:常用的在前,打 produc 先出 product。英文方案、临时英文、拼音 / 码表里的英文候选用的是同一份词库,一致受益。

  • 词库里写了权重的词(如扩展词库的 iPhone、macOS)权重不变。其中权重只有个位数的(macOS 各版本名、ID / I'd 这类)以前压在所有没权重的词之上,现在排到常用词之后,彼此先后不变;
  • 你的用户词与自动造的临时词与同编码的系统词相比仍排在前面,与以前一样——导入的词表没有权重、或手填了很小的权重,也照样在前;
  • 名次表在安装目录 data/schemas/english/en_freq.txt(一行一词、行序即名次),在用户目录的 schemas/english/ 放一份同名文件即可整体替换;改了它,下次加载英文词库时(重启或重新部署方案)缓存自动重建;
  • 在拼音 / 码表里选中混进来的英文候选,词频也记进这里(开着本页的「词频调整」时),与英文方案、临时英文是同一份学习数据。

词频调整

总开关是「调频与造词」小节里的「词频调整」一行,其余各项在它的 扩展设置 对话框里(方案 → 英文 → 词频调整 → 扩展设置)。对话框里的项不随总开关置灰,总开关关着时对话框顶部会提示「『词频调整』未开启,以下设置暂不生效」。

选项说明出厂
词频调整总开关关
仅记录次数 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'airBuenos Aires
ip'maxiPhone 15 Pro Max
ip'proiPhone 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,写明问题时附上本页链接即可。

去提 issue →

本页目录