2011-11-02 10 views
7

Mi piacerebbe avere la Tagbar VIM plugin di lancio quando apro certi tipi di file, così ho aggiunto il seguente al mio Vimrc:Ottenere VIM Tagbar per lanciare durante l'apertura di determinati tipi di file

if has("gui_running") 
    autocmd BufEnter *.hs nested TagbarOpen 

Tuttavia, questo non funziona come mi aspettavo. Apre una finestra laterale, ma la finestra laterale non visualizza nulla e il mio cursore è intrappolato al suo interno. Non posso cambiare windows con un clic o con i comandi di movimento CTRL-W.

Tuttavia, quando eseguo TagbarOpen manualmente, funziona perfettamente.

Chiunque altro ha provato questo, o è il comando errato sopra riportato?

risposta

6

Interessante, questo è un effetto collaterale di una funzionalità di comodità che non avevo previsto. Quello che succede è questo: se TagbarOpen viene chiamato mentre la finestra è già aperta, Tagbar fa passare il cursore alla sua finestra invece di non fare nulla (per comodità come ho detto). Quindi ogni volta che provi a lasciare la finestra passando alla finestra di Haskell, l'autocomando lo fa tornare indietro. Ho spinto un cambiamento che rimuove questa funzionalità - probabilmente non era così utile all'inizio. Quindi se dai la versione di sviluppo su GitHub una prova (https://github.com/majutsushi/tagbar), dovrebbe funzionare.

Che la finestra sia vuota ha un motivo diverso: Haskell non è supportato dai Ctag esuberanti per impostazione predefinita. Ma qualcuno ha scritto una bella alternativa per Haskell che funziona con Tagbar qui: https://github.com/bitc/lushtags.

3

In realtà ho questa configurazione esatta per configurare il mio vimrc per i file php. Tagbar si apre con funzioni/variabili caricate, il cursore rimane nel file sorgente PHP quando Vim carichi:

autocmd FileType php call SetPHPOptions() 
function! SetPHPOptions() 
setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab makeprg=php-xdebug\ % 
    :call tagbar#autoopen(0) 
endfunction 

sostitutivi 'php' per 'SA' o qualsiasi altro tipo di file che si desidera. Elenco dei tipi di file a:

$VIMRUNTIME/filetype.vim 

eseguirla sui MacVim (snapshot 72, Vim 7.4), e la versione più recente di Tagbar da https://github.com/majutsushi/tagbar

Problemi correlati