2013-07-07 13 views
24

Come è possibile impostare una scelta rapida da tastiera per attivare il pannello Elenco posizioni di errore Syntastic in vim.Attiva/disattiva il pannello Posizione errore in syntastic

:Errors - indica la posizione del pannello

:lclose - Nasconde la posizione del pannello

Sono molto nuovo a VimScript, se ci sarebbe un modo per visibilità controllo del pannello delle agenzie. Questo dovrebbe essere abbastanza facile da fare.

risposta

21

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> 
+0

Come vede la pannello quickfix? Non sono sicuro che i documenti ne parlino. –

+1

@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

+0

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. –

Problemi correlati