Chiudi l'elenco di tutte le posizioni o le finestre di correzione rapida in vim


10

C'è un modo per chiudere tutti gli elenchi di posizioni e le finestre di correzione rapida con un singolo comando in vim / gvim?


Stiamo parlando di finestre o buffer? Perché sto cercando qualcosa di simile ma per i buffer.
Adrien,

Risposte:


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

Ciò eseguirà il comando: lclose in tutte le finestre che non visualizzano gli aggiornamenti rapidi o gli elenchi di posizioni. Non avevo una serie di elenchi di posizioni con cui testarlo, quindi ho provato con un diverso tipo di buffer e ha funzionato per quel caso.

Probabilmente vorrai renderlo un comando o un collegamento anche nel tuo .vimrc.


lclosenon chiude gli elenchi di correzioni rapide, quindi non funzionerebbe per quelli.
trysis

1

Lo associo a <F11>:

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

Fondamentalmente: in ogni finestra, esegui lcl(chiudi l'elenco delle posizioni) e ccl(chiudi la correzione rapida)


0
:windo if &buftype != "quickfix" | lclose | endif

Ciò eseguirà il :lclosecomando in tutte le finestre che non visualizzano gli aggiornamenti rapidi o gli elenchi di posizioni. Non avevo una serie di elenchi di posizioni con cui testarlo, quindi ho provato con un diverso tipo di buffer e ha funzionato per quel caso.


Rileggi la domanda, sta chiedendo di chiudere tutte le finestre di correzione rapida, non chiudere tutto tranne loro.
deterb

0

:ccl | lcl

Mappalo a <Leader>c:

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


Questo chiuderà solo un elenco di posizioni: quello per la finestra attiva, se esiste.
ches
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.