Fermez la liste de tous les emplacements ou les fenêtres de correction rapide dans vim

10

Existe-t-il un moyen de fermer toutes les listes d'emplacements et les fenêtres de correction rapide avec une seule commande dans vim / gvim?

vonhogen
la source
Parlons-nous de fenêtres ou de tampons? Parce que je cherche quelque chose de similaire mais des tampons.
Adrien

Réponses:

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

Cela exécutera la commande: lclose dans toutes les fenêtres qui n'afficheront pas les listes de correctifs ou d'emplacement. Je n'avais pas un ensemble de listes d'emplacements pour le tester, j'ai donc testé avec un type de tampon différent et cela a fonctionné dans ce cas.

Vous voudrez probablement en faire également une commande ou un raccourci dans votre .vimrc.

deterb
la source
lclosene ferme pas les listes quickfix, donc cela ne fonctionnerait pas pour celles-ci.
trysis
1

Je mappe ceci à <F11>:

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

Fondamentalement: dans chaque fenêtre, exécutez lcl(fermer la liste des emplacements) et ccl(fermer le quickfix)

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

Cela exécutera la :lclosecommande dans toutes les fenêtres sans affichage de liste de correctifs ou d'emplacement. Je n'avais pas un ensemble de listes d'emplacement pour le tester, j'ai donc testé avec un type de tampon différent et cela a fonctionné dans ce cas.

garyjohn
la source
Relisez la question, il demande de fermer toutes les fenêtres de correction rapide, de ne pas tout fermer sauf elles.
deterb
0

:ccl | lcl

Mappez-le à <Leader>c:

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

Mike Rapadas
la source
Cela ne fermera qu'une seule liste d'emplacements: celle de la fenêtre active, s'il en existe une.
ches