file-type - texto - vim linux
¿La mejor forma de organizar las configuraciones de tipo de archivo en.vim y.vimrc? (1)
$HOME/.vim/ftplugin/python.vim
mis configuraciones específicas de Python en $HOME/.vim/ftplugin/python.vim
, ya que no hago nada para entrar en conflicto con $VIMRUNTIME/ftplugin/python.vim
.
Mantener estas configuraciones en un archivo ftplugin
mantiene mi .vimrc
agradable y genérico y más fácil de mantener (sigue siendo bastante grande después de más de diez años de uso de Vim).
Si desea overrule lo que ftplugin
los ftplugin
con su distribución de Vim, entonces $HOME/.vim/after/ftplugin/python.vim
es lo que desea, ya que se lee after
estos.
Del mismo modo, $HOME/.vim/filetype.vim
obtendrá antes de $VIMRUNTIME/filetype.vim
y, a su vez, se obtendrá antes de $HOME/.vim/after/filetype.vim
.
Invocación :scriptnames
nombres de las secuencias de comandos enumerarán todos los nombres de secuencia de comandos fuente, en el orden en que se obtuvieron por primera vez.
:help filetype
proporciona información bastante completa sobre todo esto.
Estoy revisando mis vim dotfiles para ordenarlos. Me he dado cuenta de que a través del tiempo he agregado varias configuraciones específicas de tipos de archivos de varias maneras inconsistentes. Supongamos que estoy personalizando para Python:
au BufRead,BufNewFile *.py (do something)
. No me gusta porque algunos archivos Python pueden no tener la terminación .py.au FileType python (do something)
. Esta parece una mejor opción porque no depende de que el archivo tenga la terminación .py. El inconveniente es que Vim no conoce algunos tipos de archivos. Puedo hacer que Vim reconozca tipos de archivos adicionales, pero también tengo varias formas inconsistentes de hacerlo: un.vim/filetype.vim
, otro en.vim/after/filetype.vim
y varios comandosset filetype
.vimrc
en.vimrc
.Agregue un archivo
.vim/ftplugin/python.vim
con configuraciones específicas de tipo de archivo. Entiendo que$VIMRUNTIME/ftplugin/python.vim
puede anular cualquier configuración que haga aquí. Un problema es que no estoy seguro de cómo esto interactúa con.vim/filetype.vim
y.vim/after/filetype.vim
.Agregue un
.vim/after/ftplugin/python.vim
. Entiendo que esto se carga después de$VIMRUNTIME/ftplugin/python.vim
para que pueda sobrescribir la configuración desde allí. Como en el método anterior, no estoy seguro de cómo interactúa con los archivosfiletype.vim
.
Así que tengo al menos cuatro formas de hacerlo, sin mencionar los archivos de sintaxis y los complementos específicos de tipo de archivo. Me parece que la mejor manera de hacer esto es poner mi configuración específica de tipo de archivo after/ftplugin
para que no se sobrescriban, y filetypes.vim
after
por la misma razón.
Sin embargo, antes de continuar me gustaría preguntar si alguien tiene sugerencias sobre la mejor manera de lidiar con la configuración específica de tipo de archivo.