与
:%s/^/\=line('.')/
编辑:总结评论。
此命令可以根据需要进行调整。
假设您要在视觉选择(V move)的行前添加数字,并且希望编号从42开始。
:'<,'>s/^/\=(line('.')-line("'<")+42)/
如果你想在该行和旧文本之间添加一个字符串,只需要连接(与。在VimL中)到number-expression:
:'<,'>s/^/\=(line('.')-line("'<")+42).' --> '/
如果你需要这样排序为文本,你可能想填零的结果,这可以使用printf为0001,0002 …而不是1,2 …例如:
:%s/^/\=printf('%04d',line('.'))/
无论如何,如果你想要更多的信息,只需打开vim help::h:s并按照链接(| subreplace-special |,…,| submatch()|)