跳转至

成对符号包裹 (Paired Symbols):快速为候选添加成对符号

成对符号包裹用于在候选上屏前直接添加括号、引号、书名号或 Markdown 标记,减少上屏后再移动光标补符号的操作。

在输入书名、引用内容或 Markdown 标记时,通常需要先输入符号再填写内容,或者完成输入后再移动光标补上成对符号。

万象通过成对符号包裹 Lua,在拼音编码末尾追加“触发键 + 映射字符”,即可将当前第一候选按照预设格式包裹后直接上屏。


一、基本使用方式

操作流程

输入词汇编码按下触发键(默认 \输入映射字符(例如 k包裹第一候选并上屏

示例:输入《阿Q正传》

  1. 正常输入对应编码:sj mk lq lh ji,此时第一候选为“阿Q正传”。

  2. 按下触发键 \,当前第一候选保持锁定,等待后续包裹指令。

  3. 输入映射字符 k,Lua 根据 k 对应的书名号规则,将候选处理为《阿Q正传》并上屏。

图示:从正常输入到触发包裹,整个过程不需要回退光标补充成对符号。


二、通过 Patch 自定义包裹规则

万象预设了多种常用包裹形式,包括括号、引号、书名号以及部分 Markdown 标记。

如果需要修改触发键或增加自己的包裹规则,可以在 wanxiang.custom.yaml 中通过 Patch 覆盖对应配置。

触发键 (trigger) 设置

  • 触发键应设置为单个符号,用于结束当前拼音编码并进入成对符号处理流程。

  • Pro 用户注意:不建议将触发键设置为 /,因为 / 还可能承担辅助码、快符或其他功能的引导作用,容易产生按键冲突。

  • 默认使用 \ 作为触发键。在 YAML 双引号字符串中写反斜杠时,需要使用转义形式:"\\"

使用 | 指定候选插入位置

paired_symbols/symkey 的映射值支持两种处理方式:

  • 自动分割:如果映射值由两个字符组成,例如 a: "[]",Lua 会将其分成左右两部分,把候选插入中间,得到 [候选词]

  • 使用 | 指定位置:对于较长或不对称的符号,可以使用 | 明确指定候选插入点。例如 "**|**" 会生成 **候选词**

| 两侧都可以包含多个字符,也允许其中一侧为空。一个映射值中应只保留一个用于定位的 |

配置示例:

patch:
  "paired_symbols/trigger": "\\"       # 默认使用反斜杠作为触发键
  "paired_symbols/symkey/a": "【】"     # 自动分割:【候选词】

  # 使用 "|" 指定候选插入位置
  "paired_symbols/symkey/md": "**|**"       # Markdown 加粗:**候选词**
  "paired_symbols/symkey/qt": "> |"         # Markdown 引用:> 候选词
  "paired_symbols/symkey/lk": "[|](url)"    # Markdown 链接:[候选词](url)
  "paired_symbols/symkey/cb": "```|```"     # 代码块包裹

三、预设符号速查表

万象默认提供多种常用包裹形式,以下列出部分预设:

按键 包裹形态 适用场景
a [ ] 方括号
b 【 】 黑方头括号
g 「 」 直角引号
k 《 》 书名号
q ( ) 半角圆括号
w ( ) 全角圆括号
dy ' ' 英文单引号
sy " " 英文双引号
zs “ ” 中文双引号
fy ` ` 反引号 / 行内代码
jc ** ** Markdown 加粗
st ~~ ~~ Markdown 删除线

四、适合哪些场景?

成对符号包裹比较适合以下输入场景:

  • 书名和作品名:例如《书名》《电影名》。
  • 中英文引号:直接将当前候选包裹为引用内容。
  • 括号补充说明:减少上屏后再移动光标添加括号的操作。
  • Markdown 写作:快速生成加粗、删除线、引用和链接等结构。
  • 代码或技术文档:根据个人习惯增加反引号、代码块或其他自定义格式。

如果经常使用某一种固定格式,可以为它设置较短、容易记忆的 symkey,减少重复编辑操作。

成对符号包裹的作用,是在候选上屏前完成格式处理,让符号输入与正文输入保持在同一个流程中。