我有一些文字,我在命令模式下使用:number
来获取每行中的数字,除此之外我还希望在保存的输出中有这个数字。我可以使用什么方法/命令来实现这一目标?
答案 0 :(得分:2)
利用vi过滤功能的Unix实用程序的强大功能。有几个实用程序对文本文件进行编号:nl(1),还有cat(1)(假设它支持非POSIX -n
选项)。当您在vi
时,运行此命令以通过cat -n
过滤整个文件:
:%!cat -n
您也可以使用
:%!nl
但请注意,nl
默认情况下不会为空行编号,而cat
则为空。要使用nl
对所有行进行编号,请使用
:%!nl -b a
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以使用this vim tip:
%s/^/\=printf('%-4d', line('.'))