当前位置:  开发笔记 > 编程语言 > 正文

用Vim中的文件中的其他地方替换寄存器或行的内容

如何解决《用Vim中的文件中的其他地方替换寄存器或行的内容》经验,为你挑选了2个好方法。

我正在使用Vim,我想用一个长字符串替换一些占位符文本,该字符串跨越多行,这些行已经写入文件中的其他位置.

是否可以用寄存器的内容替换模式?就像是

:%s/foo/

否则,是否可以用一系列线代替?就像是

:%s/foo/

David Woleve.. 87

根据http://vim.wikia.com/wiki/Search_and_replace 显示:

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

此外,按下a将插入寄存器的内容a.

很酷 - 我从来不知道.好问题.

其他一些事情:http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R



1> David Woleve..:

根据http://vim.wikia.com/wiki/Search_and_replace 显示:

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

此外,按下a将插入寄存器的内容a.

很酷 - 我从来不知道.好问题.

其他一些事情:http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R


@Wernight我想做类似的事情,看看我是如何通过vim doc学习的,现在我能够找到我正在寻找的东西.`\ =`启动子替换表达式.当替换字符串以`\ =`开头时,它将字符串的其余部分视为表达式.因此,不要执行`%s/foo/xxx\= @ xxx/g`,而是执行以下命令:%s/foo /\="xxx".@一个 ."XXX"\g`.

2> Mykola Golub..:
:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有