【问题标题】:Cscope result handling with Quickfix window使用 Quickfix 窗口处理 Cscope 结果
【发布时间】:2014-07-01 12:48:55
【问题描述】:

我正在使用支持 quickfix 的 cscope 通过设置 set cscopequickfix=s-,c-,d-,i-,t-,e- ~/.vimrc 文件来显示结果

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

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

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

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

【问题讨论】:

    标签: vim cscope


    【解决方案1】:

    我遇到了同样的问题并通过关闭它打开的缓冲区(第一个结果)来修复它,然后通过调用 :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 &lt;C-R&gt;=expand("&lt;cword&gt;")&lt;CR&gt;&lt;CR&gt;- 用于查找符号的标准 cscope 命令
    • :bd&lt;CR&gt;- 删除缓冲区,这样就关闭了第一个搜索结果
    • :cwindow&lt;CR&gt;- 在新的快速修复窗口中打开搜索结果
    • /&lt;C-R&gt;0&lt;CR&gt;- 搜索符号,因此我在 quickfix 窗口中突出显示了我查找的符号,我可以使用 nN 在 quickfix 窗口中移动。

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

    【讨论】:

    • 好!我刚刚删除了 :bd 部分,因为如果我将它与 NERDTree 一起使用,那么当前缓冲区将关闭并且它会与 windows 混淆。
    猜你喜欢
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 2015-08-04
    相关资源
    最近更新 更多