我喜欢linters和quickfix窗口,但有时候我不想修复任何东西而只是想退出文件。当前的问题是,当我关闭文件时,quickfix窗口保持打开状态。我知道我可以使用:qa同时退出,但我经常忘记。
我花了几个小时试图找出如何关闭quickfix缓冲区,如果它是唯一打开的窗口/缓冲区,但没有运气。
其他人都知道如何更好地处理这个问题吗?
答案 0 :(得分:1)
该功能是我的vim-qf插件的一部分,但你真的不需要一个完整的插件来完成这样一个平凡的任务。实际上,互联网上已经存在很多片段。这是一个:
augroup MyGroup
autocmd!
if exists('##QuitPre')
autocmd QuitPre * if &filetype != 'qf' | silent! lclose | endif
endif
augroup END
基本上,它会关闭当前的quickfix / location窗口(如果它是当前标签页中的最后一个剩余窗口)。
参考:
:help :augroup
:help :autocmd
:help exists()
:help QuitPre
答案 1 :(得分:0)
if version >= 700
" automatically close quickfix if it's the only window left
autocmd WinEnter * if winnr('$') == 1 && &buftype == "quickfix" | quit | endif
endif