成对符号包裹 (Paired Symbols):快速为候选添加成对符号¶
成对符号包裹用于在候选上屏前直接添加括号、引号、书名号或 Markdown 标记,减少上屏后再移动光标补符号的操作。
在输入书名、引用内容或 Markdown 标记时,通常需要先输入符号再填写内容,或者完成输入后再移动光标补上成对符号。
万象通过成对符号包裹 Lua,在拼音编码末尾追加“触发键 + 映射字符”,即可将当前第一候选按照预设格式包裹后直接上屏。
所以这是一个“玩”的性质的功能,他不是前端能实现的那种输入成对符号并移动贯标到中间的能力。
一、基本使用方式¶
操作流程
输入词汇编码 → 按下触发键(默认 \) → 输入映射字符(例如 k) → 包裹第一候选并上屏
示例:输入《阿Q正传》
-
正常输入对应编码:
sj mk lq lh ji,此时第一候选为“阿Q正传”。 -
按下触发键
\,当前第一候选保持锁定,等待后续包裹指令。 -
输入映射字符
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 |
 |
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,减少重复编辑操作。