Completamente uscita Lista posizione (LCL) creato da Syntastic così il buffer principale quando si usa: q,: q! oppure: wq! in VIM
Domanda
Sto usando plug Syntastic. Ho alcuni file con alcuni errori (Avvertenze) che io non posso cambiare. Quando ho un file aperto con i messaggi di errore, e ho smesso il file (buffer) premendo: q, i messaggi di errore sono ancora visibili (un altro buffer), quindi devo stampa:. Q due volte per completamente l'uscita quando si modifica un file
Quindi, come si fa premere I: q solo una volta con un file con un tampone contenente il mio file e un altro buffer (elenco posizione) contenente errori Syntastic? Ho cercato un po 'e il comando per chiudere l'elenco posizione è : LCL .
Quando esco un buffer con: q, se la lista posizione per quel buffer è attiva, voglio chiudere con l'elenco posizione all'interno, chiamando: LCL. Sto leggendo alcuni autocmd BufLeave
e BufWinLeave
e cercando di creare una mappatura per questo, ma Non posso sapere la differenza tra i due. Può qualcuno aiutarlo?
Ricordare, :w, :q, :q!, :wq
dovrebbe tutto il lavoro come previsto.
Soluzione
Come opera LCL, anche se non v'è alcuna finestra di errore è possibile mappare q per LCL e q
cnoremap q<cr> \|lcl\|q<cr>
Come suggerito l'abbreviazione sembra migliore
cabbrev q lcl\|q
(notare la \ prima |, senza di essa fa la sigla quindi chiudere)
Altri suggerimenti
Mi rendo conto che questa domanda è vecchio e che la risposta è stata accettata qualche tempo fa. Ho provato ad utilizzare la risposta accettata, ma non sembra funzionare più.
I ha tuttavia trovare una soluzione alternativa da questa domanda , dovrebbero gli altri correre dentro a questo.
In sostanza, utilizzare uno script per controllare se ci sono tutte le altre finestre rimanendo aperti e se l'ultima finestra che rimane è una posizione-list, smettere.
:autocmd WinEnter * if &buftype ==# 'quickfix' && winnr('$') == 1 | quit | endif
Credo che questo potrebbe non essere l'ideale, ma funziona abbastanza bene nel frattempo.