Il modo migliore di organizzare le impostazioni filetype in .vim e Vimrc?
Domanda
che sto passando le mie dotfile vim per riordinare in su. Ho notato che nel tempo ho aggiunto varie impostazioni specifico tipo di file in vari modi inconsistenti. Supponiamo che sto personalizzazione per Python:
-
au BufRead,BufNewFile *.py (do something)
. Non mi piace questo perché alcuni file Python potrebbero non avere la terminazione .py. -
au FileType python (do something)
. Questa sembra una soluzione migliore, perché non dipende il file con la terminazione .py. Lo svantaggio è che Vim non sa su alcuni tipi di file. Posso fare Vim riconoscere tipi di file aggiuntivi, ma ho anche diversi modi inconsistenti di farlo:. Un file.vim/filetype.vim
, un altro in.vim/after/filetype.vim
e vari comandiset filetype
in.vimrc
-
Aggiungere un file con le impostazioni
.vim/ftplugin/python.vim
tipo di file specifici. Capisco la$VIMRUNTIME/ftplugin/python.vim
può ignorare tutte le impostazioni che faccio qui. Un problema è che io non sono sicuro di come questo interagisce con.vim/filetype.vim
e.vim/after/filetype.vim
. -
Aggiungi un
.vim/after/ftplugin/python.vim
. Capisco che questo viene caricato dopo$VIMRUNTIME/ftplugin/python.vim
in modo che possa sovrascrivere le impostazioni da lì. Come nel metodo precedente non sono sicuro di come interagisce con i filefiletype.vim
.
Così ho almeno quattro modi di fare questo, senza menzionare i file di sintassi e plugin filetype-specifici. Mi sembra il modo migliore per farlo è quello di mettere le mie impostazioni filetype specifiche after/ftplugin
in modo che non vengono sovrascritti, e filetypes.vim
in after
per lo stesso motivo.
Tuttavia, prima di procedere vorrei chiedere se qualcuno ha suggerimenti sul modo migliore per affrontare con le impostazioni di tipo di file specifici.
Soluzione
devo conservare le mie impostazioni specifiche di Python è in $HOME/.vim/ftplugin/python.vim
, dal momento che non faccio niente in conflitto con $VIMRUNTIME/ftplugin/python.vim
.
Mantenere queste impostazioni in un file di href="http://vimdoc.sourceforge.net/htmldoc/usr_41.html#ftplugin" rel="noreferrer"> ftplugin mantiene mio .vimrc
bello e generico e più facile da mantenere (è ancora abbastanza grande dopo oltre dieci anni di uso Vim) .
Se desideri overrule ciò che i ftplugin
s con la vostra distribuzione di Vim istituito, allora $HOME/.vim/after/ftplugin/python.vim
è ciò che si vuole, come si legge after
questi.
Allo stesso modo $HOME/.vim/filetype.vim
verrà prelevato prima $VIMRUNTIME/filetype.vim
e che a sua volta verrà prelevato prima $HOME/.vim/after/filetype.vim
.
:scriptnames
elencherà tutti i nomi degli script di provenienza, nell'ordine in cui sono sono stati prima di provenienza.
:help filetype
fornisce informazioni piuttosto completa su tutto questo.