使用Quickfix窗口处理Cscope结果

时间:2014-07-01 12:48:55

标签: vim cscope

我正在使用带有quickfix支持的cscope来设置set cscopequickfix=s-,c-,d-,i-,t-,e-〜/ .vimrc文件

来显示结果

我可以使用:cnext:cprevious命令在结果之间移动

我想要的是先在quickfix窗口中显示结果,然后在跳转到文件之前进行预览。

我尝试使用set switchbuf+=usetab,newtab,但这会产生不同的结果而没有帮助。

是否有可用于获取此行为的插件或命令。

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题并通过关闭它打开的缓冲区(第一个结果)来修复它,然后通过调用:cwindow在quickfix窗口中打开结果。

这是我的密钥重映射的样子:

nnoremap <leader>s yiw:cs find s <C-R>=expand("<cword>")<CR><CR>:bd<CR>:cwindow<CR>/<C-R>0<CR>

说明:

  • yiw - 将光标下的字词用于稍后突出显示
  • :cs find s <C-R>=expand("<cword>")<CR><CR> - 用于查找符号的标准csc​​ope命令
  • :bd<CR> - 删除缓冲区,以便关闭第一个搜索结果
  • :cwindow<CR> - 在新的quickfix窗口中打开搜索结果
  • /<C-R>0<CR> - 搜索符号,这样我就可以在quickfix窗口中看到我查找的符号,并且可以使用nN在quickfix窗口中移动。

我最后为此编写了一个小插件。你可以在这里查看 - https://github.com/ronakg/quickr-cscope.vim