检测VIM中是否存在quickfix缓冲区
简单的问题(我希望如此)。 它快把我逼疯了。我试图在vimrc中创建一个简单的脚本来映射:检测VIM中是否存在quickfix缓冲区,vim,Vim,简单的问题(我希望如此)。 它快把我逼疯了。我试图在vimrc中创建一个简单的脚本来映射: e 打开“快速修复”窗口。如果quickfix窗口当前处于打开状态,我还希望该组合键关闭该窗口。 问题是,bufexists命令似乎跳过了quickfix缓冲区。 您能给我一些关于如何检测是否有快速修复窗口已打开的建议吗?您可能正在寻找:cwindow命令。从帮助中: *:cw* *:cwindow* :cw[indow] [height] Open
e
打开“快速修复”窗口。如果quickfix窗口当前处于打开状态,我还希望该组合键关闭该窗口。
问题是,bufexists命令似乎跳过了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.
但是,如果要在仍然存在错误的情况下关闭“快速修复”窗口,请签出,该窗口提供以下代码段:
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
command-bang-nargs=?QFix调用QFixToggle(0)
功能!QFixToggle(强制)
如果存在(“g:qfix_-win”)&&a:forced==0
克洛斯
unlet g:qfix_win
其他的
科本10
设g:qfix_win=bufnr(“$”)
恩迪夫
端功能