我有一些文本,其中有兩列和兩個或更多的行。第一列名稱只打印一次。之後,它在後續行中留空,直到它再次更改。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