如何在 Vim 中同时执行两个搜索?

如何在 Vim 中同时执行两个搜索?

在 Vim 中,我经常发现自己执行一个搜索后立即执行另一个搜索。我想知道是否可以将两个搜索合并为一个命令。

例如,如果我想foobar在名为的函数中找到变量的第一个实例transmogrify,我会输入:

/def transmogrify
/foobar

或者如果我在日志文件中并且想要搜索特定日期之后发生的错误:

/2012-07-26
/ERROR

有没有更好的方法可以做到这一点?不,我不想录制宏。

答案1

最简单的可能是,例如

/def transmogrify/;/foobar

答案2

您可以使用|符号在搜索时进行或运算。

以你的第二个例子为例:

/2012-07-26\|ERROR

更好的是,如果你在 vimrc 中设置了这些:

" Make search expressions "very magic"
nnoremap / /\v
vnoremap / /\v

那么你就不必逃避了|。例如:

/\v2012-07-26|ERROR

相关内容