vim - Vim搜索和替换效率

标签 vim replace

我经常想像这样在vim中搜索和替换:

:%s/<search_pattern>/<search_pattern>_foo/g

有没有一种方法可以使此语法更有效,以便我可以在replace值中引用<search_pattern>?我认为这将类似于通过组名称/号码进行反向引用,但是我找不到关于此的任何文档。

最佳答案

使用&字符表示替换中的匹配模式:

:%s/<search_pattern>/&_foo/g

或者,您可以使用\0,它是整个匹配模式的后向引用,因此可能更容易记住:
:%s/<search_pattern>/\0_foo/g

参见:help sub-replace-special
而且,由于有了@kev,您可以使用\zs强制在搜索字符串的末尾使用一个空模式,在替换中将其替换为__foo_:
:%s/<search_pattern>\zs/_foo/g

这意味着:用__foo_替换搜索字符串的末尾。

关于vim - Vim搜索和替换效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11992279/

相关文章:

vim - 如何在vim中列出当前文件中的函数

javascript - 如何使用 javascript 在正则表达式替换中表示大括号

Python 处理终端和文件中的颜色

linux - 在 centos 中使用 vim 时创建的第二个备份文件

regex - Vim:按空格对齐列

ubuntu - vim 减慢 yaml 文件的 autocompop 速度

javascript - 替换字符串中的前 N ​​次出现

Python替换二维数组中的元素=键

javascript - 使用替换方法javascript

使用 TextWrangler 的正则表达式删除重复的行开头