tutorial texto seleccionar linea insertar inicio buscar file-type vim ftplugin

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 comandos set 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 archivos filetype.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.