2011-10-23 12 views
6

Qual è la differenza tra immissione:autocmd FileType vs ftplugin

autocmd FileType ruby setlocal ts=2 

nella mia collocazione ~/.vimrc e:

setlocal ts=2 

in ~/.vim/ftplugin/ruby.vim?

Se non c'è differenza, dove devo inserire comandi specifici per un tipo di file?

+0

Non è un buon esempio perché 'g: rubycomplete_buffer_loading' è una variabile * globale * che deve essere inserita in vimrc senza precedere' autocmd Filetype ruby'. – ZyX

risposta

5

Per quanto ne so, non c'è davvero una differenza tra i due.

Preferisco mettere comandi come quello in ftplugin e mantenere il mio principale .vimrc linguaggio-agnostico ... Ma non ci sono regole hard-and-fast. Un vantaggio nel mantenerlo nel tuo vimrc sarebbe che le tue impostazioni di vim sarebbero più facili da spostare (es. Potresti ottenere tutte le tue impostazioni di vim su una nuova macchina semplicemente copiando il tuo .vimrc, invece di .vimrc + .vim). Ovviamente metterli nel tuo .vimrc avrà anche una leggera penalizzazione delle prestazioni (cioè, saranno caricati + eseguiti per ogni file, non solo per i file ruby) ... Ma non mi preoccuperei davvero di quello.

+0

Grazie per la risposta. Ho inserito il codice in "ftplugin" e penso che continuerò a farlo per mantenere il mio '.vimrc' semplice. –

Problemi correlati