Non so come differenziare * liste Quickfix e posizione, ma al posto di verificare se la lista posizione viene visualizzata vorrei suggerire semplicemente chiuderlo e verificando se il numero di finestre mostrate è cambiato:
function! ToggleErrors()
let old_last_winnr = winnr('$')
lclose
if old_last_winnr == winnr('$')
" Nothing was closed, open syntastic error location panel
Errors
endif
endfunction
* se si sta bene con la soluzione che cercano lclose
se c'è ne è di controllo attivo per il buffer visualizzato con buftype quickfix:
function! ToggleErrors()
if empty(filter(tabpagebuflist(), 'getbufvar(v:val, "&buftype") is# "quickfix"'))
" No location/quickfix list shown, open syntastic error location panel
Errors
else
lclose
endif
endfunction
. Notare che lclose
non chiuderà l'elenco di rapide.
Per passare il Pannello di errore con Ctrl-e è possibile utilizzare il seguente mappatura
nnoremap <silent> <C-e> :<C-u>call ToggleErrors()<CR>
Come vede la pannello quickfix? Non sono sicuro che i documenti ne parlino. –
@AkshayAurora ': vimgrep',': grep', ': make' e così via tutti usano l'elenco delle correzioni rapide. ': copen' lo mostrerà. I documenti lo menzionano, ': vimgrep' è l'esempio nel secondo paragrafo di': h quickfix'. Ci sono delle controparti della lista di posizione per tutti questi comandi però: ': lvimgrep',': lgrep', ': lmake' e così via. – ZyX
Grazie. Tuttavia, quando si usa 'gvim -p' per modificare più file, ogni volta che si esce e si torna alla scheda, riappare l'elenco delle posizioni. Né il suo stato di visibilità né la sua altezza sono persistenti. Ad ogni modo, ho finito per impostare 'g: syntastic_auto_loc_list' su' 0' e ora lo attivo manualmente, quindi non mi dispiace. –