2011-11-02 26 views
7

me gustaría tener el plugin de Tagbar VIM lanzamiento al abrir ciertos tipos de archivos, por lo que añade lo siguiente a mi .vimrc:Conseguir VIM Tagbar para poner en marcha al abrir ciertos tipos de archivos

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

Sin embargo, esta no está funcionando como esperaba Abre una ventana lateral, pero la ventana lateral no muestra nada y mi cursor queda atrapado dentro de ella. No puedo cambiar ventanas con un clic o con los comandos de movimiento CTRL-W.

Sin embargo, cuando ejecuto TagbarOpen manualmente, funciona bien.

¿Alguien más ha intentado esto, o es el comando incorrecto el que está por emitir?

Respuesta

6

Interesante, es un efecto secundario de una funcionalidad de conveniencia que no había anticipado. Lo que sucede es esto: si se llama a TagbarOpen mientras la ventana ya está abierta, Tagbar hace que el cursor salte a su ventana en lugar de simplemente no hacer nada (por comodidad como dije). Así que cada vez que intenta salir de la ventana al cambiar a la ventana de Haskell, el comando automático hace que vuelva directamente. He impulsado un cambio que elimina esta funcionalidad, probablemente no fue tan útil para empezar. Entonces, si le das una oportunidad a la versión de desarrollo en GitHub (https://github.com/majutsushi/tagbar), debería funcionar.

El hecho de que la ventana esté vacía tiene un motivo diferente: Haskell no es compatible con Exuberant Ctags de forma predeterminada. Pero alguien escribió una buena alternativa para Haskell que funciona con Tagbar aquí: https://github.com/bitc/lushtags.

3

De hecho, tengo esta configuración exacta configurada mi vimrc para archivos php. Tagbar abre con funciones/variables cargadas, el cursor permanece en el archivo fuente PHP cuando las cargas de Vim:

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

sustitutos 'php' para 'SA' o cualquier otro tipo de archivo que desea. Lista de tipos de archivos en:

$VIMRUNTIME/filetype.vim 

tenerlo funcionando en MacVim (instantánea 72, Vim 7.4), y la última versión de Tagbar de https://github.com/majutsushi/tagbar

Cuestiones relacionadas