如何在Vim中对齐(表格形式)行?

如何在Vim中对齐(表格形式)行?,vim,vi,text-alignment,Vim,Vi,Text Alignment,我有一个如下格式的文本文件: line one 1 Sun line two 22 Mon line three 33 Tue line four 444 Wed 如何在特定位置垂直对齐列(例如,第三个单词)?所需输出为: line one 1 Sun line two 22 Mon line three 33 Tue line four 444 Wed 更新:目的是为了一个本机Vim解决方案。我知道一些基于插件的解决方案。请参阅下面的注释,以了解对我有效的所选解决方案。我在命令模

我有一个如下格式的文本文件:

line one 1 Sun
line two 22 Mon
line three 33 Tue
line four 444 Wed
如何在特定位置垂直对齐列(例如,第三个单词)?所需输出为:

line one   1 Sun
line two   22 Mon
line three 33 Tue
line four  444 Wed

更新:目的是为了一个本机Vim解决方案。我知道一些基于插件的解决方案。请参阅下面的注释,以了解对我有效的所选解决方案。

我在命令模式下会做什么(不完全是您要求的):


有关在Vim上进行自定义对齐的灵活方法,请参阅。例如,在您的示例中,可以使用
:normal 2W9i
将前导空格插入第三列,然后从第三列左对齐(使用视觉块模式和
感谢您推荐的类似问题。我使用了此答案中的解决方案:OP只想在单个列上对齐…添加免责声明我相信您的答案的更简单版本是
%!column-t
显然,
由Cygwin bash支持。但是,
-t
选项将每个单词确定为一个单独的列,这不是我想要的(请参见示例输出)。具体地说,在我的实际情况中,我希望在赋值运算符(
=
)处“列化”,以便使用
--output separator
命令选项定义该字符。
%!column -t