Vim转到多个文件的下一个搜索结果?

CK *_*vir 2 vi vim

当我之前使用源洞察时,当我搜索某些单词时,我可以按"向前搜索"按钮跳转到所有项目文件的下一个匹配.

例如:

  1. 搜索"苹果"
  2. Source Insight列出所有项目包含"apple"字样(例如:15结果)
  3. 按"搜索前进按钮"
  4. 光标跳转到下一个搜索结果,根据需要重复以查看所有15个结果

但是使用带有cscope的vim,我需要这样的东西:

  1. :cs找到"苹果"
  2. cscope list 15结果
  3. 输入"1"并跳转到第一个结果
  4. :cs找到"苹果"
  5. cscope list 15结果
  6. 输入"2"并跳转到第二个结果

这非常复杂.

在Vim中有更好的方法吗?

rom*_*inl 8

Vim允许您使用该'cscopequickfix'选项将cscope的输出重定向到quickfix窗口.以下是建议值:help 'cscopequickfix':

set cscopequickfix=s-,c-,d-,i-,t-,e-
Run Code Online (Sandbox Code Playgroud)

从那里,您可以搜索apple:

:cs f s apple
Run Code Online (Sandbox Code Playgroud)

查看匹配列表:

:cw[indow]
Run Code Online (Sandbox Code Playgroud)

跳转到下一场比赛:

:cn[ext]
Run Code Online (Sandbox Code Playgroud)

跳转到上一场比赛:

:cp[revious]
Run Code Online (Sandbox Code Playgroud)

当然,使用鼠标或键盘在quickfix窗口中选择条目.

奖励:将此添加到您vimrc的跳过:cwindow步骤:

augroup qf
    autocmd!
    autocmd QuickFixCmdPost * cwindow
augroup END
Run Code Online (Sandbox Code Playgroud)