本文根据 Devhints / Vim Easyalign 翻译。代码示例及版本范围沿用原文。
命令模式
按分隔符对齐
:EasyAlign : " preset characters (\=:.,&#|)
:EasyAlign |
:EasyAlign \ " \ means space
按正则表达式对齐
:EasyAlign /[:;]+/
指定对象
:EasyAlign | " align by 1st `|`
:EasyAlign 3 | " align by 3rd `|`
:EasyAlign * | " align by all `|`s
添加选项
:EasyAlign * | l4r1
l4 " lN - left_margin
r1 " rN - right_margin
" spaces to the left/right of `|`
ar " a[lrc] - align
" align left/right/center
dr " d[lrc] - delimiter_align
" alignment of the delimiter itself
空格可选
:EasyAlign * /[;:]+/ l3
:EasyAlign*/[;:]+/l3
示例
:EasyAlign = dr (分隔符右对齐)
apple = 1
banana += apple
cake ||= banana
:EasyAlign : (适用于 JSON 或 YAML)
url: jdbc:mysql://localhost/test
database: test
:EasyAlign *| (Markdown 表格)
| `<Enter>` | right align |
| `1` | on 1st occurrence |
| `2` | on 2nd occurrence (and so on) |
交互模式
{Visual} ⏎ | 针对选区激活 |
ga {motion} | 针对移动指令/文本对象激活 |
然后选择选项(如有),接着指定分隔符。
交互模式选项
⏎ | 设置 alignment |
<ctrl-l> 4 ⏎ | 设置 left_margin (位于分隔符左侧) |
<ctrl-r> 4 ⏎ | 设置 right_margin |
↓ | 无间距 |
示例
gaip<ctrl-l>8⏎=- 在等号前插入 8 个空格