理解并在 vim 搜索和替换中使用 \&

理解并在 vim 搜索和替换中使用 \&

我遇到了以下 vim 模式说明符http://vimregex.com/

\&-- 下一行,其中先前使用的替代模式匹配

不太确定查找下一行的示例是什么。在搜索和替换中使用它的示例是什么,它是如何工作的?我使用\/\? 来获取上一个/下一个搜索模式,但我不太确定使用代换模式会喜欢,或者允许一个人去做。

答案1

这确实很奇怪,因为在其他地方,Vim 不会区分搜索模式(例如来自/search*)和替代模式(即命令{pattern}中的部分:substitute/{pattern}/{text}/{flags});两者都存储在最后的搜索模式登记 (:help quote/)。

我对 Ex 命令范围中这种区别的最佳猜测是,当范围的开头已经使用过搜索时,它允许在范围的后续部分重用替换模式:

:substitute/bar/xxx/
:/foo/,\&print

在这个例子中,\/已经被前面的/foo/搜索破坏了,而 则\&保留了原始模式。但是,我可以通过插入前一个模式来解决这个问题:help c_CTRL-R反而:

:/foo/,/<C-R>//print

相关内容