进阶专题

配置分发与导入

配置片段、方案包、方案文本与短语文本:把一段配置、一个小方案或几条短语分享给别人,对方一步导入

v0.118.0

想把一套标点映射、几项候选窗调整、或一个自制小方案分享给别人,不必再指导对方手改文件——把内容做成下面四种载体之一发出去,对方导入时会看到逐项预览,确认后一步应用。

载体形态适合装什么
配置片段 0.118 新增一段 TOML 文本若干配置项。论坛帖、聊天消息、文档代码块里直接贴
方案包 0.118 新增.wpkg / .zip 文件完整方案连同词库、字体等资源,可附带配置片段
方案文本 0.118 新增一段 TOML 文本小方案(方案文件 + 小词库,总共几 KB 那种)
短语文本 0.118 新增几行纯文本几条自定义短语,含命令直通车。聊天窗口里直接贴

不论内容从哪个入口进来,走的都是同一条路:校验 → 逐项预览 → 确认 → 应用。没有哪个入口能跳过预览确认。

想先看个现成的

快符表示例三种装法都提供了:一键链接、下载 .wpkg、复制一段文本。它同时用到了方案文件、词库与随包配置,是这套机制的完整用例。

导入入口 0.118 新增

入口接受什么
设置 → 高级 → 导入与导出 → 导入文件….toml 片段文件、.zip / .wpkg 方案包,按内容自动识别
设置 → 高级 → 从剪贴板导入配置配置片段、方案文本或短语文本,按内容自动识别
设置窗口左侧栏 / 底栏空白处右键上面两项的快捷入口,不用翻到高级页
双击 .wpkg 文件方案包(需先在桌面集成注册关联)
网页上的 windinput:// 链接官方托管的方案包,见一键安装

配置片段 0.118 新增

一段 TOML 文本,内容是配置项的任意子集:

[ui.candidate]
per_page = 9
layout = "vertical"

[keys.key_actions]
backslash = "special:quick_symbols"

键名与写法同配置项参考,表结构或点分键(ui.candidate.per_page = 9)都行,两种写法等价。

导入流程

  1. 复制片段文本
  2. 设置 → 高级 → 从剪贴板导入配置(或在设置窗口侧栏空白处右键)
  3. 对话框里显示片段全文,可以就地修改,然后点校验预览
  4. 预览区逐项列出「配置项:当前值 → 新值」;有问题的行标红并写明原因(键名不存在、类型不对、取值越界)
  5. 应用,改动立即生效

有任何一项没通过校验,整个片段都不会应用——不存在「应用了一半」的状态。校验之后又改了文本,「应用」按钮会自动失效,重新校验即可。

应用与在设置页里改完全等价:绝大多数项立即生效,少数需要重启的项会在应用后提示。

映射表是逐条并入的

按键功能表(keys.key_actions,方案直达热键也在其中)、会话按键(keys.session_actions)、标点映射(input.punct.custom_mappings)这四个映射表,片段里写几条就只动几条:同名条目覆盖,你已有的其他条目全部保留。上面的示例只会设置 backslash 一条,不会碰其余按键绑定。

片段没法删除映射里的已有条目,删除请在设置页操作。

片段能带什么

只能带配置项参考里的键。方案文件、词库、主题不在 config.toml 里,分别走方案包 / 方案文本、词库导入主题导入

方案包:.wpkg 与随包配置 0.118 新增

方案包本身(打包了什么、怎么导出)见方案包格式。0.118 起有两处增强:

  • 新后缀 .wpkg。在桌面集成注册关联后,双击包文件直接进导入确认;.zip 后缀照旧接受,两者格式相同。
  • 包内可带一份 config_patch.toml(就是一份配置片段)。导入确认对话框会多出「将修改的配置」区块,逐项列出改动;确认后先落方案文件、再应用配置。方案作者可以用它把「装上方案」和「配好引导键」做成一步。

随包配置有错时,整个包会被拒绝导入

包里的 config_patch.toml 有任何一项校验不过,方案文件也不会导入。给分发者的提示:发布前自己先导一遍。

方案文本 0.118 新增

小方案可以整体变成一段纯文本:收到的人复制全文,走从剪贴板导入配置,校验时自动识别为方案文本,进入与方案包相同的导入确认。适合在论坛、文档里直接贴一个符号表、快捷短语方案这类小东西。

[package]
format_version = 2
kind = "schema_text"

[schema]
id = "kf"
version = "1.0"

[[files]]
path = "kf.schema.toml"
content = '''
(方案文件全文)
'''

[[files]]
path = "flypy/12_kf.dict.yaml"
content = '''
(词库文件全文)
'''
  • kind = "schema_text" 是识别标志,缺了它整段文本会按配置片段处理
  • [[files]]path 是用户方案目录(schemas\)下的相对路径,规则与方案包零前缀布局一致;content 是文件原文
  • 也可以带 path = "config_patch.toml" 的条目,语义同方案包的随包配置
  • 限制:全文不超过 2 MB、最多 64 个文件。装不下就改用 .wpkg

短语文本 0.118 新增

几条自定义短语可以直接贴进聊天窗口:收到的人复制全文,走从剪贴板导入配置,校验时自动识别为短语文本,进入短语导入确认。

wind:p1 我的直通车
kx (^▽^)
zw 早上好呀
zd $CC("知典 {last(1)}", proc.run("D:\\知典\\知典.exe", "--query", "{last(1)}"))
  • 首行 wind:p1 是识别标志,后面可以跟一句包名(可省)
  • 其后每行一条:行首到第一个空格是编码,剩下的整行都是内容
  • 内容里的空格、引号、括号、花括号原样保留;反斜杠的写法与设置页、词库文件完全相同,照搬不用换算
  • 只带编码与内容,不带权重和位置——导入的短语追加到你现有短语的末尾,不会打乱你自己排好的顺序
  • 已经存在的同款短语原样跳过,不会被改写

目前需要手写:对照短语列表里的编码与内容,按上面的格式敲一行。

导入前会逐条列出来

预览是一个平铺列表,按你写的行序逐条给出编码、完整内容、落点(新增 / 已存在跳过 / 会遮蔽同名系统短语)。命令内容不做截断——那是判断「这条要干什么」的唯一依据。

短语里可以是命令直通车,这不需要额外确认:短语不会自行执行,要触发得先打出它的编码、再从候选里选中它。

两样例外与「危不危险」无关:

  • 语法有错的条目一律不导入,预览里会标出来——装进去也只会在触发时失败,而那时离导入已经很远
  • 路径里的反斜杠只写了一个时提示一句,仍可照常导入

一键安装链接 0.118 新增

网页上形如 windinput://import/schema?url=… 的链接,点击后唤起设置程序,下载方案包并进入同一个导入确认对话框。

  • 下载地址仅接受 windinput.com 官方域(含子域)的 https 链接,第三方分享请用 .wpkg 文件或方案文本
  • 方案包下载上限 64 MB
  • 安装版启动时自动注册 windinput:// 协议;点过「取消注册」就不再自动恢复;便携版不注册。链接点了没反应时,到桌面集成查看协议状态

主题的一键安装(windinput://import/theme)早已可用,见主题

安全设计 0.118 新增

  • 所有入口汇入同一个预览确认,显示来源与逐项改动,确认前不落任何东西
  • 配置片段只能改配置项,不能写文件;方案包与方案文本的文件只能落进方案目录,带路径穿越的包直接拒绝
  • 内容能力越强,来源收得越紧:协议链接限官方域;本地文件与剪贴板由你自己的操作背书

相关阅读

本页目录