Schließen Sie alle Standortlisten- oder Schnellkorrekturfenster in vim

10

Gibt es eine Möglichkeit, alle Standortlisten zu schließen und Fenster mit einem einzigen Befehl in vim / gvim schnell zu reparieren?

vonhogen
quelle
Sprechen wir über Fenster oder Puffer? Weil ich etwas Ähnliches suche, aber nach Puffern.
Adrien

Antworten:

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

Dadurch wird der Befehl: lclose in allen Fenstern ausgeführt, in denen keine Quickfix- oder Standortlisten angezeigt werden. Ich hatte keine Reihe von Standortlisten, mit denen ich es testen konnte, also habe ich mit einem anderen Puffertyp getestet und es hat in diesem Fall funktioniert.

Möglicherweise möchten Sie es auch in Ihrer .vimrc-Datei zu einem Befehl oder einer Verknüpfung machen.

abschrecken
quelle
lcloseschließt keine Quickfix-Listen, daher würde dies für diese nicht funktionieren.
Tryse
1

Ich ordne dies <F11> zu:

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

Grundsätzlich gilt: Führen Sie in jedem Fenster lcl(Standortliste schließen) und ccl(Quickfix schließen) aus.

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

:lcloseDadurch wird der Befehl in allen Fenstern ausgeführt, in denen keine Quickfix- oder Standortlisten angezeigt werden. Ich hatte keine Reihe von Standortlisten, mit denen ich es testen konnte, also habe ich mit einem anderen Puffertyp getestet und es hat in diesem Fall funktioniert.

Garyjohn
quelle
Lesen Sie die Frage noch einmal durch und er bittet Sie, alle Schnellreparaturfenster zu schließen, nicht alle außer ihnen.
Deterb
0

:ccl | lcl

Ordnen Sie es zu <Leader>c:

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

Mike Rapadas
quelle
Dadurch wird nur eine Standortliste geschlossen: die für das aktive Fenster, falls vorhanden.
ches