如何用Vim中的空间组分隔符进行表格化

时间:2013-10-13 18:23:08

标签: vim

我有一些像这样的行

abc  defg  hijklmnopq
abc    defghi  jklmn opq
abc  defgh  ijklmno pq

我希望将它们列为最多三列,列之间至少有两个空格,即

abc  defg    hijklmnopq
abc  defghi  jklmn opq
abc  defgh   ijklmno pq

我应该在Vim中使用什么Tabularize命令?

1 个答案:

答案 0 :(得分:4)

根据您的输入和输出样本,以下命令应该这样做。

:Tab /\s\+\zs\s/l1c0

您可以将:Tabularize缩写为:Tab以保存一些按键。正则表达式依赖于数据的属性,即分隔列的空格字符不止一个;否则就不可能知道哪个文本属于哪个列。

我们选择最后一个空格作为分隔符,然后将左边的文本与填充为1对齐。\s用作第二个填充空间。

将来,和往常一样,请考虑:help:help tabular具有广泛且非常易读的文档,详细描述了上述所有内容。