我正在使用支持 QuickFix 的 cscope,通过设置 set cscopequickfix=s-,c-,d-,i-,t-,e-
~/.vimrc 文件来显示结果
我可以使用 :cnext
和 :cprevious
命令在结果之间移动
我想要的是先在quickfix窗口中显示结果,并在跳转到文件之前进行预览。
我尝试使用 set switchbuf+=usetab,newtab
但这给出了不同的结果并且没有帮助。
是否有插件或命令可用于实现此行为。
最佳答案
我遇到了同样的问题,并通过关闭它打开的缓冲区(第一个结果)来修复它,然后通过调用:cwindow
在快速修复窗口中打开结果。 .
这是我的按键重新映射的样子:
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>
- 用于查找符号的标准 cscope 命令 -
:bd<CR>
- 删除缓冲区,因此这将关闭第一个搜索结果 -
:cwindow<CR>
- 在新的快速修复窗口中打开搜索结果 -
/<C-R>0<CR>
- 搜索符号,这样我就可以在快速修复窗口中突出显示我查找的符号,并且可以使用n
在快速修复窗口中移动和N
.
我最终为此编写了一个小插件。您可以在这里查看 - https://github.com/ronakg/quickr-cscope.vim
关于vim - 使用 Quickfix 窗口处理 Cscope 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24510721/