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?


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.


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)


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.


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>


Isso fechará apenas uma lista de locais: a da janela ativa, se houver.
CHES
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.