个性化

自定义短语

用简短编码上屏常用文本——添加、管理短语,理解触发方式与字符组

短语(PhraseLayer)让你用一个简短编码上屏一段常用文本:邮箱、地址、签名、常用回复等。短语是全局共享的,不区分方案,写入后跨所有输入方案立即生效,无需编辑方案文件。

短语存储在哪里

所有短语——系统预置的和你自建的——统一存储在用户数据目录的 userdata.redb 中,同一张表里靠一个「是否系统短语」标记区分。

系统短语的种子是安装目录下的 data\system.phrases.toml(TOML 格式,不是 YAML)。启动时会比对种子文件的内容哈希,发现变化才同步进库。

%APPDATA%\WindInput\ 放一份同名文件可以整份替换这个种子(见同结构覆盖机制),适合成套定制系统短语。但它只决定"初始有哪些系统短语"——日常添加和修改短语一律通过设置工具完成,数据存在库里,不会回写这个文件。

同步遵循「归属先到先得」,用户数据永不被覆盖:

情形结果
种子里有、库里是系统条目更新权重与 position,保留你的启用开关
种子里有、库里已是用户条目整条跳过,不动
库里是系统条目但种子已删除从库中删除
用户新增的条目系统同步永不删除、永不改写

所以「覆盖系统短语」的正确做法有三种:关掉那条系统短语;用同编码但不同内容新增一条更高权重的用户短语;或直接编辑那条系统短语的权重(会就地改写系统条目本身)。

管理短语

打开设置工具(Ctrl + Shift + ])→「词库」页,顶部「词库类型」选择快捷短语。快捷短语是全局数据,分两个子标签。

系统短语

内置短语(如日期、表情等),只读

  • 启用开关 —— 逐条开启或关闭
  • 查看 —— 弹窗查看完整编码与内容(可复制)
  • 恢复默认 —— 重置所有系统短语的启用状态

用户短语

自定义短语,支持完整管理:

操作说明
添加 / 编辑填写编码(缩写)、短语内容(支持多行)、权重
启用开关逐条开启或关闭
删除 / 清空移除条目
导入 / 导出使用 WindDict YAML 格式(.wdict.yaml)备份或迁移;导入时自动合并并提示导入 / 跳过条数

触发方式

短语的编码就是你为它设定的缩写。在中文输入状态下键入该编码,短语内容会作为候选出现,按空格或数字键即可上屏。例如把编码 dz 绑定到你的地址,输入 dz 即可选出整段地址。

编码可以与方案的正常编码共存:短语候选与码表 / 拼音候选一同排序,按各自权重呈现。给短语选一个不易与自然词碰撞的编码(例如较长的字母组合),能让它更稳定地出现在你想要的位置。关于短语与方案候选如何一起排序,见词库与词频

短语权重

添加 / 编辑对话框中的权重字段决定短语在同编码候选中的排序,默认 1000。在码表方案下,提高权重可让短语在同编码候选中靠前。

系统种子与设置页的默认权重不同

system.phrases.toml 里省略 weight 时取 1000;而通过设置页新增短语时,若未填写权重,后端兜底值是 1——远低于系统短语。新增短语时请显式填写权重,不要依赖默认值。

position:仅在权重相同时起作用

短语除权重外还有一个 position 字段,缺省为 0。它的作用范围非常窄,用错方向是常见误解:

精确语义

同一编码下的多条短语,先按权重降序排列;只有当权重完全相同时,才按 position 升序 决定先后。

权重不同时,position 完全不起作用——它是纯粹的同权 tie-break,不是优先级字段。

# 同为 code = "dz",权重相同 → 按 position 升序
dz  weight=1000  position=0   →  北京市朝阳区……      ← 排在前
dz  weight=1000  position=1   →  上海市浦东新区……

# 权重不同 → position 被忽略
dz  weight=1000  position=9   →  北京市朝阳区……      ← 仍排在前
dz  weight=500   position=0   →  上海市浦东新区……

还有三条边界需要知道:

  • 跨编码、跨来源无效 —— position 只在同一编码的短语内部生效。短语与码表候选、拼音候选之间的先后由权重等因素决定,position 不参与
  • 前缀导航列表不看 position —— 输入 zzco 这类前缀列举出的候选,按「权重降序、完整编码字母序升序」排列,position 无效
  • 与候选置顶的 position 不是一回事 —— 设置页「候选调整」里的置顶位置也叫 position,那是页内插入下标,语义完全不同,别混用

拼音方案下的置顶

拼音候选权重是百万级,单纯把短语权重调到几千不足以稳定压过常用拼音词。更可靠的做法是使用一个不易与自然词碰撞的精确编码(例如 4 字母的 cobd),让短语只在该精确编码下出现。

字符组

短语内容支持字符组语法,把一组字符打包在同一个编码下。例如:

$AA("标点", "、。·…")

该组内所有字符候选的权重都等于这条短语条目的权重值,组内字符的相对顺序由字符串顺序决定,与权重无关。命令候选、字符组、模板短语等更进阶的短语形态与命令直通车相关,详见命令直通车

短语不影响码表生僻字过滤

在码表方案的生僻字过滤路径下,短语永远保留、也不计入「同编码下是否有常用字」的判定。因此配置短语(例如 dz = 我的地址)不会副作用地改变同编码码表候选的过滤行为。

本页目录