跳转至

成对符号包裹 (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": "```|```"     # 代码块包裹

三、预设符号速查表

万象默认提供多种常用包裹形式。默认触发键为 \,在 YAML 中写作 \\,实际使用时输入单个反斜杠即可。

基本括号与引号

按键 包裹形态 适用场景
a [ ] 方括号
b 【 】 黑方头括号
c ❲ ❳ 双大括号 / 装饰括号
d 〔 〕 方头括号
e ⟮ ⟯ 小圆括号 / 装饰括号
f ⟦ ⟧ 双方括号 / 数学集群括号
g 「 」 直角引号
i 『 』 双直角引号
j < > 尖括号
k 《 》 双书名号
l 〈 〉 单书名号
m ‹ › 法文单书名号
n « » 法文双书名号
o ⦅ ⦆ 白圆括号
p ⦇ ⦈ 白方括号
q ( ) 半角圆括号
r 〖 〗 花括号扩展 / 装饰括号
s [ ] 全角方括号
t ⟨ ⟩ 数学角括号
u 〈 〉 数学尖括号
v ❰ ❱ 装饰角括号
w ( ) 全角圆括号
x { } 全角花括号
y ⟪ ⟫ 双角括号
z { } 花括号

扩展引号

按键 包裹形态 适用场景
dy ' ' 英文单引号
sy " " 英文双引号
zs “ ” 中文弯双引号
zd ‘ ’ 中文弯单引号
fy ` ` 反引号

双字母括号族

按键 包裹形态 适用场景
aa 〚 〛 双中括号
bb 〘 〙 双中括号(小)
cc 〚 〛 双中括号,可用于 Lua 匹配
dd ❨ ❩ 小圆括号装饰
ee ❪ ❫ 小圆括号装饰
ff ❬ ❭ 小尖括号装饰
gg ⦉ ⦊ 双弯方括号
ii ⦍ ⦎ 双弯方括号
jj ⦏ ⦐ 双弯方括号
kk ⦑ ⦒ 双弯方括号
ll ❮ ❯ 小尖括号装饰
mm ⌈ ⌉ 上取整 / 数学符号
nn ⌊ ⌋ 下取整 / 数学符号
oo ⦗ ⦘ 双方括号装饰
pp ⦙ ⦚ 双方括号装饰
qq ⟬ ⟭ 小双角括号
rr ❴ ❵ 花括号装饰
ss ⌜ ⌝ 数学上角符号
tt ⌞ ⌟ 数学下角符号
uu ⸢ ⸣ 装饰方括号
vv ⸤ ⸥ 装饰方括号
ww ﹁ ﹂ 中文书名号 / 注释引号
xx ﹃ ﹄ 中文书名号 / 注释引号
yy ⌠ ⌡ 数学 / 程序符号
zz ⟅ ⟆ 数学 / 装饰括号

Markdown / 标记

其中 | 表示插入位置。

按键 包裹形态 适用场景
md **\|** Markdown 粗体
jc **\|** Markdown 加粗
it __\|__ Markdown 强调 / 斜体标记
st ~~\|~~ Markdown 删除线
eq ==\|== 高亮标记
ln `\|` 行内代码
cb ```\|``` 代码块
qt > \| Markdown 引用
ul - \| 无序列表项
ol 1. \| 有序列表项
lk [\|](url) Markdown 链接
im ![\|](img) Markdown 图片
h # \| 一级标题
hh ## \| 二级标题
hhh ### \| 三级标题
hhhh #### \| 四级标题
sp \\\| 反斜杠转义
br \| Markdown 换行
cm <!--\|--> HTML / Markdown 注释

运算与标记符

按键 包裹形态 适用场景
pl ++ 双加号
mi -- 双减号
sl // 双斜杠
bs \\ 双反斜杠
at @@ 双 At 符号
dl $$ 双美元符号 / 数学公式标记
pc %% 双百分号
an && 逻辑与符号
cr ^^ 双脱字符
cl :: 双冒号
sc ;; 双分号
ex !! 双感叹号
qu ?? 双问号
sb sb 字面字符串 sb

四、适合哪些场景?

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

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

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

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