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 comandi set 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 file filetype.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.

È stato utile?

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 ftplugins 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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top