我需要使用Vim在每行文本之前插入行号,并且行号后面必须有一个空格。例如,如果这是TestFile:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
看起来应该是这样的
1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
2 Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
我一直在使用带有许多变体的:%s/^/\line('.')/
命令,但我无法弄清楚如何在最后获得空间。
有什么想法吗?
答案 0 :(得分:8)
答案 1 :(得分:1)
使用外部工具可能最简单:
:%!nl -ba -w1 -s' '
答案 2 :(得分:0)
您可以使用宏。首先确保在第一行之前有一个0并将光标放在它上面:
0 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
foo
bar
etc...
然后执行此键序列以将正确的宏存储在寄存器a:qaywjP0<C-A>q
中。
现在按@a
执行宏。使用量词可以多次执行。
输入:help q
以了解有关录制宏的更多信息。