我想使用Tabular.vim来对齐Ruby简写哈希。这需要匹配第一个冒号但不对齐它。
#from
foo: bar
bazz: grault
a: b
#to
foo: bar
bazz: grault
a: b
将\zs
原子用作/:\zs
可得出所需的结果。我的理解是\zs
在那个位置开始比赛。
如果我使用/^[^:]*\zs
来匹配第一个:
,我会失去\zs
在第一个示例中的效果。我想了解为什么并得到我想要的对齐。
#from
foo: bar[:bar]
bazz: grault[:grault]
a: a[:a]
#to
foo: bar[:bar]
bazz: grault[:grault]
a: a[:a]
这similar question让我参与其中,但匹配第一个冒号似乎失去了/zs
原子的效果。
答案 0 :(得分:0)
回答我自己的问题,但如果其他人可以更有说服力或描述性地回答,请做。
我实际上并没有匹配冒号,我将所有内容与[^:]
的冒号相匹配。 \zs
原子正在做它应该做的事情。
:Tab /^[^:]*: