VIM:插入行号,行号后面加空格
我需要使用Vim在每行文本前插入行号,行号后必须有一个空格。例如,如果这是TestFile:VIM:插入行号,行号后面加空格,vim,Vim,我需要使用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 nu
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('.')/
,但我不知道如何获得末尾的空间
有什么想法吗?你很接近
此替换将通过字符串'
对行号执行此操作:
%s!^!\=line('.').' '!
您可以使用宏。首先确保第一行前面有一个0,并将光标放在上面:
0 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
foo
bar
etc...
然后执行此键序列以将正确的宏存储在寄存器a中:qaywjP0q
。
现在按@a
执行宏。使用量词执行多次
键入
:帮助q
了解有关录制宏的更多信息。使用外部工具可能最容易做到这一点:
:%!nl -ba -w1 -s' '
谢谢!我使用+作为附加字符并获得errors@ncphillips:很乐意帮忙。字符串串联表达式是
。我添加了一个指向文档相关部分的链接。可能是因为您添加了!我没有/仍然理解你的意思,它起了作用。
是分隔替换的完全有效字符(请参阅)。如果我的回答对你有帮助,请将其标记为已被接受,以便帮助他人。@ncphilips:如果约翰西韦布的回答解决了你的问题,请接受他的回答。