Vi编辑器文本对齐

时间:2018-11-30 22:33:41

标签: vim vi

我正在尝试将表格从Excel文件复制到VI编辑器文本文件。当前格式如下:

abcsddsds 1.2
aabb 2.3
wwwww 4.5.1
ab 2
c 1

我想要的样子:

abcsddsds 1.2
aabb      2.3
wwwww     4.5.1
ab        2
c         1

在搜索中,出现了我不明白的命令,例如:%!column -t。请帮忙。

2 个答案:

答案 0 :(得分:3)

您可以使用!<command>语法从Vim内部执行Unix命令。

column是unix命令,可将数据整齐地对齐到列中。您为其提供了一个-t参数,以便它自动检测文件中的列(按空格分割)。

因此,要进行分解,请在Vim中依次按以下键以实现所需的功能:

Esc进入(或确保您已经进入)命令模式
:%选择整个文件的内容
!运行紧随其后的unix命令
column -t实际上执行列格式化的unix命令。

或者,您可以在没有正确对齐的情况下将文件保存在Vim中,然后从终端运行命令column -t <source_file> > <aligned_file>

答案 1 :(得分:0)

使用vim tabular插件(godlygeek / tabular),您可以执行以下操作:

:Tabularize /\d.*