在 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