vim - 快速修复列表未打开文件

标签 vim

我正在尝试使用 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 searchergit grep通过 Fugitive.vim:Ggrep命令。

如需更多帮助,请参阅:

:h quickfix
:h :lwindow
:h 'grepformat'
:h :map-verbose

关于vim - 快速修复列表未打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31077157/

相关文章:

Vim "yank"似乎不起作用

html - NERD_Commenter 的不理想评论,评论 javascript 嵌入 html 文件

vim - vi/vim 中的 s、c 和 r 命令有什么区别?

vim - 如何每隔一行删除,并在选择后粘贴删除的结果?

vim - 这是什么,它有哪些相关的 vimscript 函数?

vim - vim中如何删除当前文件?

vim - 如何在 vim 中映射 _(下划线)?

unix - 如何快速关闭不同 GNU-Screen 选项卡中的多个 VI 实例?

vim - 如何在vim中的多行开头添加一个单词?

vim 键映射被回车触发