问题描述
学习 vi / vim 和Linux以及学习:reg 和:let 的用法。我的问题是如何替换和替换(编辑)寄存器文本?我已经在线搜索并在vi / vim帮助中进行了尝试,但均未获得预期的结果...
Ex:
Register a:
"1. This is a sentence. This is another sentence. This is yet another sentence."
:.s/This/That/g
-当文本在文件中时,将整个行中所有出现的“ This”替换为“ That”。
如何在注册a时用“ That”替换“ This”?
预先感谢您的建议或答案...
马丁
解决方法
使用\=
可以替换表达式。该表达式可以是getreg()
函数的值。
因此用寄存器This
的内容替换a
:
:%s/This/\=getreg("a")/g
或
:%s/This/\=@a/g
如您所见,您还可以使用“ at”获取寄存器的内容
,我不知道这是否正是您想要的,但是请尝试一下:)
:let @a = substitute(@a,"This","That","g")
有关更多详细信息,您可以输入
:h substitute()