我正在尝试使用 gvim 中的 quickfix 列表进行 grep 搜索。这是在 Windows 上,我通过在我的 vimrc 文件中设置以下内容来使用来自 cygwin 的 grep:
set grepprg=C:/cygwin64/bin/grep
当我这样做时,grep 工作正常:
:grep -R 'LOG' **/*cpp
我看到第一场比赛并执行 :copen 打开快速修复列表。一旦我到了那里并想参加比赛,按 Enter 就什么也没做。点击 Ctrl+W+Enter 会打开一个空白的新窗口。如何做到这一点,以便当我按 Enter 或 Ctrl+W+Enter 时,它会打开一个窗口到匹配的位置?
最佳答案
quickfix 窗口中的默认 Vim 映射正如你所说的 <cr>
和 <c-w><cr>
(如 :h :lwindow
中所列)。
如果这些 map 不起作用,则可能会出现一些问题:
- 您有一些映射掩盖了 native Vim 映射。检查是否有
<cr>
的任何映射通过:verbose nmap <buffer> <cr>
在快速修复窗口中和:verbose nmap <cr>
.对<c-w><cr>
做同样的事情. - 结果可能会被忽略。判断匹配是否被忽略的一个好方法是,该行将以
||
开头.这通常是由于'grepformat'
/'grepprg'
设置不正确。
根据我的个人笔记,我发现了 grep
过去慢,现在用ag the silver searcher或 git grep
通过 Fugitive.vim的:Ggrep
命令。
如需更多帮助,请参阅:
:h quickfix
:h :lwindow
:h 'grepformat'
:h :map-verbose
关于vim - 快速修复列表未打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31077157/