Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VIM:插入行号,行号后面加空格_Vim - Fatal编程技术网

VIM:插入行号,行号后面加空格

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

我需要使用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('.')/
,但我不知道如何获得末尾的空间

有什么想法吗?

你很接近

此替换将通过字符串
'
对行号执行此操作:

%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:如果约翰西韦布的回答解决了你的问题,请接受他的回答。