让Tabulize忽略一些行并对齐其他行

时间:2016-04-11 10:49:43

标签: regex vim tabular

我希望Tabulize忽略没有特定字符的行然后对齐/表格化行。

text1_temp = text_temp;
temporary_line;
text2    = text_temp;

最后我想要以下内容:

text1_temp = text_temp;
temporary_line;
text2      = text_temp;

//第二个" ="相对于第一个" ="

的间距/标签

如果我跑步":Tabularize / ="对于3行,我得到了:

text1_temp     = text_temp;
temporary_line;
text2          = text_temp;

两行" ="相对于中线的长度对齐

有什么建议吗??

PS:我编辑这篇文章可能更好地解释了这个问题。

1 个答案:

答案 0 :(得分:1)

我不确定如何直接使用Tabular执行此操作。您可以使用Christian Brabandt的NrrwRgn插件,仅使用=过滤:NRP行,然后运行:NRM。这将为您提供一个只包含=行的新缓冲区,以便您可以运行:tabularize/=/然后保存缓冲区(:w:x等)。

:g/=/NRP
:NRM
:tabularize/=/
:x

最简单的选择可能是使用vim-easy-align,它支持开箱即用的这种行为。使用EasyAlign的示例(使用ga作为EasyAlign映射你):

gaip=