我遇到了以下 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