如何在vi中编辑的文件中添加行号?

时间:2018-01-20 07:54:09

标签: unix vi

我有一些文字,我在命令模式下使用:number来获取每行中的数字,除此之外我还希望在保存的输出中有这个数字。我可以使用什么方法/命令来实现这一目标?

3 个答案:

答案 0 :(得分:2)

利用vi过滤功能的Unix实用程序的强大功能。有几个实用程序对文本文件进行编号:nl(1),还有cat(1)(假设它支持非POSIX -n选项)。当您在vi时,运行此命令以通过cat -n过滤整个文件:

:%!cat -n

您也可以使用

:%!nl

但请注意,nl默认情况下不会为空行编号,而cat则为空。要使用nl对所有行进行编号,请使用

:%!nl -b a

答案 1 :(得分:1)

使用命令nl

即。

nl <in.txt > out.txt

答案 2 :(得分:1)

您可以使用this vim tip

%s/^/\=printf('%-4d', line('.'))