微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测VIM中是否存在quickfix缓冲区

简单的问题(我希望).
这让我疯了.我正在尝试在我的 vimrc中创建一个简单的脚本来映射:

&LT前导> e

打开quickfix窗口.如果当前打开,我还希望关键组合关闭quickfix窗口.
问题是,bufexists命令似乎跳过了quickfix缓冲区.
你能否就如何检测是否已经打开quickfix窗口给我一些建议?

解决方法

:cwindow命令可能就是你要找的东西.从帮助:

*:cw* *:cwindow*
:cw[indow] [height] Open the quickfix window when there are recognized
                    errors.  If the window is already open and there are
                    no recognized errors,close the window.

但是,如果要关闭quickfix窗口,即使仍有错误,请查看this Vim Tip,它提供以下代码段:

command -bang -nargs=? QFix call QFixToggle(<bang>0)
function! QFixToggle(forced)
  if exists("g:qfix_win") && a:forced == 0
    cclose
    unlet g:qfix_win
  else
    copen 10
    let g:qfix_win = bufnr("$")
  endif
endfunction

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐