有比在快速修复列表中跳转到下一个项目更短的键盘组合吗?

9

我正在使用Vim阅读一份庞大的C++代码库。

在一个文件内,我可以执行以下操作:

/foo
n
n
n

现在,如果我想在多个文件中搜索,我必须执行以下操作:

:vimgrep /foo/
:cn
:cn
:cn

现在,打 :cn 比打 n 不方便多了。有没有一种方法可以使用 n(像使用 / 进行搜索)来搜索 vimgrep 的结果,而不是使用 :cn

按下“.”通常会重复上一条命令。 - dirkgently
2
@dirkgently 我相信你在问最后一次编辑命令。重复上一个 ex 命令的快捷键不是有所不同吗? - Keith Pinson
2
@Kazark 实际上是的,@: 命令会重复上一个 ex 命令。 - glts
@glts 对,谢谢。不过这比 :cn 稍微短一点,如果你习惯按 @ 键的话,一个字符的差别随着时间会累积起来。 - Keith Pinson
1
@Kazark 对的。然而,在某些情况下,我需要重复上一个 ex 命令 再次(在 @: 之后),然后我可以使用 @@,这比再次键入 @: 稍微更有效率一些。 - glts
3个回答

9

使用 Quickfix List。它会自动填充找到的匹配项(无论您使用 :grep 还是 :vimgrep)。可以使用常规键进行导航(因此“下一个”键为 j 而不是 n)。

要打开它,请使用 :copen 命令。


当你有很多条目时,Copen非常有帮助。 - ATOzTOA

7

这是我在我的 .vimrc 文件中为了这个目的准确设置的内容:

nmap <F7> :cp^M
nmap <F8> :cn^M

+1 对于映射...我使用 noremap <F4> :<C-U>cnext <CR> 来完成同样的事情。 - johnsyweb

2

另一个选项: vim-unimpaired 插件将 ]q 绑定到 :cnext,将 [q 绑定到 :cNext,还有许多其他有用的按键映射。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接