我经常想像这样在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/