我有一些文本,其中有两列和两个或更多的行。第一列名称只打印一次。之后,它在后续行中留空,直到它再次更改。Vim搜索并替换可变行数
例如
name1 xxx
zza
yyy
zzz
name2 ggg
xxx
name3 xxx
zza
ggg
yyy
zzz
我想更改上述各行打印的列名,如下所示:
name1 xxx
name1 zza
name1 yyy
name1 zzz
name2 ggg
name2 xxx
name3 xxx
name3 zza
name3 ggg
name3 yyy
name3 zzz
注:在开始提到的,线条与空白的第一列中的数字是变量。可以是任意数量的上述2
以下方式将工作,如果反复应用:
:%s/\(^\S\+ \)\(.*\n\)\s\+/\1\2\1/
不过,当然,这只会更改一行的时间,我必须重复,直到所有比赛已更新。
我的问题:是否有一个命令来完成上述转换的行数是可变的。
而不是'%',您可以指定要操作的行号。 例如:':12,16s/toto/titi/g' – Coconop