Я использую следующее, чтобы сказать, является ли окно быстрого исправления единственным оставшимся, если так, выход без приглашения.
if winbufnr(2) == -1
quit!
endif
Вот весь мой код из моего .vimrc:
autocmd BufEnter * call MyLastWindow()
function! MyLastWindow()
if &buftype=="quickfix"
" if this window is last on screen quit without warning
if winbufnr(2) == -1
quit!
endif
endif
endfunction
Вы можете изменить его так, чтобы он просто закрывал окно, если оно не было последним, и делал выход! если это. Очевидно, что он вызывается из вашего сопоставления, а не из autocmd.