vi vim 替换寄存器中的文本

Mar*_*ter 7 linux vi vim

学习vi/vim和 Linux 并学习使用:reg:let。我的问题是如何替换和替换(编辑)寄存器的文本?我在网上和 vi/vim 帮助中进行了搜索,并进行了一些尝试,但没有预期的结果......

Ex:

Register a:
"1.  This is a sentence.  This is another sentence.  This is yet another sentence."
Run Code Online (Sandbox Code Playgroud)

:.s/This/That/g - 当文本在文件中时,将整行中所有出现的“This”替换为“That”。

注册a时如何用“那个”替换“这个”?

预先感谢您的建议或答案...

马丁

Pet*_*den 4

你可以用\=一个表达式来代替。该表达式可以是函数的值getreg()

因此用This寄存器的内容替换a

:%s/This/\=getreg("a")/g
Run Code Online (Sandbox Code Playgroud)

或者

:%s/This/\=@a/g
Run Code Online (Sandbox Code Playgroud)

如您所见,您还可以使用“at”来获取寄存器的内容