2011-04-09 14 views
17

Estoy tratando de usar el complemento vim-coffee-script https://github.com/kchmck/vim-coffee-script pero no está detectando un archivo de prueba como un tipo de archivo coffeescript. Sin embargo cuando lo hago manualmente¿Por qué VIM no detecta mi tipo de archivo coffescript?

:set ft=coffee 

funciona. ¿Que esta pasando?

.vimrc y test.coffee https://gist.github.com/911087

+2

¿Instaló también la parte ftdetect del complemento? coffee.vim es la parte que hace esto, como puede ver: 'autocmd BufNewFile, BufRead * .coffee set filetype = coffee' – Cascabel

+0

¡Gracias! sin embargo, lo descubrí ... como un submódulo git, así que todo estaba presente, pero ftdetect no se cargaba. La pregunta estaba más en la línea de, por qué no se estaba cargando ... pero ahora lo es. Gracias – noli

Respuesta

20

lo he descubierto .. tuve que forzar la recarga del tipo de archivo mediante el establecimiento de

filetype off 
filetype on 

En concreto, he tenido que hacer esto después de ejecutar

syntax on 

Esto se explica principalmente en el archivo Léame del patógeno

http://www.vim.org/scripts/script.php?script_id=2332

+0

Huh. No uso patógeno, pero parece extraño. Si solo vuelcas todos esos archivos en los directorios correctos, funcionará solo, sin necesidad de ningún truco vimrc. – Cascabel

+1

No sé qué decir ... es ciertamente algo sutil ... pero subí el repositorio de vim-coffee-script, y no funcionó ... con ese cambio, sí. Dicho esto, probablemente sea un error en mi configuración previa de .vimrc con la que nunca tuve que lidiar antes ... – noli

+1

@Jefromi Acabo de cambiar de Pathogen a Vundle y vi la * introducción * de este error. Usar la solución de noli solucionó el error por mí. –

10

solución de Noli me funcionó veces. En otros momentos o para otros tipos de archivos, se rompió. Esto me estaba poniendo furioso.

La solución es mover syntax enable a la parte inferior de vimrc.

Explicación: Siguiendo la lógica de noli un poco más allá, comprobé el pathogen docs on Github. Una cosa que me llamó la atención

execute pathogen#infect() 
syntax on 
filetype plugin indent on 

Todo está encendida después de haber instalado plugins. Noté que este no era el caso en mi vimrc, así que moví syntax y filetype a la parte inferior de mi vimrc. Problema resuelto (hasta ahora)

+0

Gracias, muy útil. Tenía que hacer TANTO tu solución como la solución de noli para que funcione. Específicamente, tuve que incluir 'filetype off' justo antes de 'sangrado de complemento de tipo de archivo'. –

+0

Para mí, esto comenzó a suceder después de que cambié a Vundle. Me di cuenta de que las líneas 'sintaxis' y' tipo de archivo' estaban antes de todas las líneas 'Bundle', así que las moví a después y las cosas comenzaron a funcionar nuevamente. –

+0

La solución de Eric Hu funcionó para mí también. No tuve que mover 'sintaxis en 'todo el camino hasta la parte inferior, moviéndolo a la línea después de' filetype plugin indent on 'era suficiente. – dmoench

3

Probé todas las soluciones propuestas aquí, pero nadie trabajó para mí. La solución que funcionó para mí es añadir lo siguiente al archivo snippit ~/.vimrc

syntax on 
filetype on 
au BufNewFile,BufRead *.coffee set filetype=coffee 

y problema resuelto.

+0

Esa última línea en mi .vimrc funcionó gracias – nykc

Cuestiones relacionadas