2011-10-23 11 views
6

¿Cuál es la diferencia entre la colocación:autocmd FileType vs ftplugin

autocmd FileType ruby setlocal ts=2 

en mi colocación y ~/.vimrc:

setlocal ts=2 

en ~/.vim/ftplugin/ruby.vim?

Si no hay diferencia, ¿dónde debo colocar los comandos que son específicos de un tipo de archivo?

+0

No es un buen ejemplo porque 'g: rubycomplete_buffer_loading' es una variable * global * que se va a poner en vimrc sin preceder a' autocmd Filetype ruby'. – ZyX

Respuesta

5

Por lo que sé, no hay realmente una diferencia entre los dos.

Prefiero poner comandos como ese en ftplugin y mantener mi principal idioma .vimrc-agnóstico ... Pero no hay reglas fijas. Una ventaja de mantenerlo en su vimrc sería que su configuración de vim sería más fácil de mover (por ejemplo, puede obtener todas las configuraciones de vim en una nueva máquina simplemente copiando su .vimrc, en lugar de .vimrc +). Obviamente ponerlos en su .vimrc también tendrá una penalización de rendimiento menor (es decir, se cargarán + ejecutados por cada archivo, no solo archivos ruby) ... Pero realmente no me preocuparía por eso.

+0

Gracias por la respuesta. He estado colocando código en 'ftplugin' y creo que continuaré haciéndolo para mantener mi' .vimrc' simple. –

Cuestiones relacionadas