阻止vim grep打开第一个匹配的文件

dal*_*ons 7 vim grep

所以,摆弄EasyGrep.vim插件,尝试让它进入适合我的状态.我正在使用它来递归搜索Rails项目.我几乎得到了我想要它,这是我修改的EasyGrep执行的grep命令的一个例子:

:grep -R -i  --include=*.rb --include=*.rbw --include=*.gem --include=*.gemspec --include=[rR]akefile --include=*.erb --include=*.rhtml SEARCH_WORD .
Run Code Online (Sandbox Code Playgroud)

在光标下找到该单词,并在快速列表中打开搜索结果.

唯一的问题是,:grep似乎会自动将包含第一个匹配的文件打开到当前缓冲区,我希望它这样做,因为那时我丢失了我刚才看到的文件.

有谁知道我怎么能防止这种行为?或者,至少一个hacky解决方法重新打开我正在搜索的文件?

:vimgrep不是一个选项 - 它太慢了.

Rei*_*chs 22

来自:help :grep:

Just like ":make", but use 'grepprg' instead of 'makeprg' and 'grepformat' instead of 'errorformat'.

来自:help :make:

If [!] is not given the first error is jumped to.

所以: :grep!

  • 我建议不要粘贴vim帮助文本.第一个模糊是一个完美的例子,它是多么无益.如果他们不知道make是如何工作的,那么在make中定义grep并没有帮助.:grep的!将是一个简单而完整的答案.虽然我不得不同意OP,但它有点不稳定.有时只是简单:grep不会打开第一个错误.哦,这太令人困惑了,他们被称为"错误",而不是"匹配". (4认同)