繁体   English   中英

vi vim 替换寄存器中的文本

[英]vi vim substitute text in register

学习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时如何用“那个”替换“这个”?

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

马丁

使用\\=您可以替换表达式。 该表达式可以是getreg()函数的值。

所以用寄存器a的内容替换This

:%s/This/\=getreg("a")/g

或者

:%s/This/\=@a/g

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

我不知道这是否正是你想要的,但试试看:)

:let @a = substitute(@a, "This", "That", "g")

有关更多详细信息,您可以键入

:h substitute()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM