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?


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.


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)


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.


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>


Cela ne fermera qu'une seule liste d'emplacements: celle de la fenêtre active, s'il en existe une.
ches
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.