如何用vim中的yanked行替换搜索到的行?

Kev*_*Lee 3 vim

如果我有一个文件:

aaa / new replacement line
AAA / old target line
random line
random line 
BBB / old target line
CCC / old target line
Run Code Online (Sandbox Code Playgroud)

在这个例子中有4个替换,所以最终文件最终应该像:

aaa / new replacement line
aaa / new replacement line
random line
random line 
aaa / new replacement line
aaa / new replacement line
Run Code Online (Sandbox Code Playgroud)

我试着在下面给出答案,但也希望看到你对此的意见.也许有一种我不知道的更成功的'vim golf'方法.也许我只是真的很蠢,而且有一个简单的命令.

基本上,问题是:如果我将一条线拉入寄存器,如何完全替换匹配"旧目标线"的搜索线?

pb2*_*b2q 6

使用0y$猛拉您更换线-这将不包括换行符.

然后使用:

%s/.*old target line.*/\=@"
Run Code Online (Sandbox Code Playgroud)

unnamed寄存器的内容替换目标行,其中包含最后一个yank.