如何在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