Feche todas as listas de locais ou janelas de correção rápida no vim

10

Existe uma maneira de fechar todas as listas de locais e janelas de correção rápida com um único comando no vim / gvim?

vonhogen
fonte
Estamos falando de janelas ou buffers? Porque estou procurando algo semelhante, mas para buffers.
Adrien

Respostas:

4
:windo if &buftype == "quickfix" || &buftype == "locationlist" | lclose | endif

Isso executará o comando: lclose em todas as janelas que não exibem listas de correção rápida ou localização. Eu não tinha um conjunto de listas de locais para testá-lo, então testei com um tipo de buffer diferente e funcionou nesse caso.

Você provavelmente desejará torná-lo um comando ou atalho no seu .vimrc também.

deter
fonte
lclosenão fecha listas de correções rápidas, portanto isso não funcionaria para elas.
trysis
1

Eu mapeio isso para <F11>:

nmap <F11> :windo lcl\|ccl<CR>

Basicamente: em cada janela, execute lcl(fechar a lista de locais) e ccl(fechar a correção rápida)

Mark K Cowan
fonte
0
:windo if &buftype != "quickfix" | lclose | endif

Isso executará o :lclosecomando em todas as janelas que não exibem listas de correção rápida ou localização. Eu não tinha um conjunto de listas de locais para testá-lo, então testei com um tipo de buffer diferente e funcionou nesse caso.

garyjohn
fonte
Releia a pergunta, ele está pedindo para fechar todas as janelas de correção rápida, não fechar tudo, menos elas.
deterb
0

:ccl | lcl

Mapeie-o para <Leader>c:

noremap <Leader>c :ccl <bar> lcl<CR>

Mike Rapadas
fonte
Isso fechará apenas uma lista de locais: a da janela ativa, se houver.
CHES