tabular.vim匹配第一次出现的分隔符,但不对齐它

时间:2015-01-28 15:15:51

标签: vim vim-tabular

我想使用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原子的效果。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,但如果其他人可以更有说服力或描述性地回答,请做。

我实际上并没有匹配冒号,我将所有内容与[^:]的冒号相匹配。 \zs原子正在做它应该做的事情。

:Tab /^[^:]*: