Pregunta

Voy a través de mis dotfiles vim para poner en orden para arriba. Me he dado cuenta de que a través del tiempo he añadido varios ajustes de tipo de archivo específicos en diversas formas inconsistentes. Supongamos que estoy personalizando para Python:

  • au BufRead,BufNewFile *.py (do something). No hacerlo así porque algunos archivos de Python que no tenga la terminación .py.

  • au FileType python (do something). Esto parece una mejor opción, ya que no depende del archivo que tiene la terminación .py. El inconveniente es que Vim no sabe de algunos tipos de archivos. Puedo hacer que Vim reconocer tipos de archivos adicionales, pero también tengo varias formas inconsistentes de hacerlo:. .vim/filetype.vim un archivo, otra en .vim/after/filetype.vim y varios comandos set filetype en .vimrc

  • Añadir un archivo .vim/ftplugin/python.vim con los ajustes de tipo de archivo específicos. Entiendo la $VIMRUNTIME/ftplugin/python.vim puede anular la configuración hago aquí. Un problema es que no estoy seguro de cómo este interactúa con .vim/filetype.vim y .vim/after/filetype.vim.

  • Añadir un .vim/after/ftplugin/python.vim. Entiendo que esta se carga después $VIMRUNTIME/ftplugin/python.vim por lo que puede sobrescribir la configuración de allí. Al igual que en el método anterior no estoy seguro de cómo interactúa con los archivos filetype.vim.

Así que tengo al menos cuatro maneras de hacer esto, sin mencionar los archivos de sintaxis y plugins tipo de archivo específicos. Me parece la mejor manera de hacer esto es poner mi configuración de tipo de archivo específicos en after/ftplugin para que no se sobreescriben y filetypes.vim en after por la misma razón.

Sin embargo, antes de proceder me gustaría preguntar si alguien tiene sugerencias sobre la mejor manera de lidiar con los ajustes de tipo de archivo específicos.

¿Fue útil?

Solución

almaceno mi configuración específico de Python está en $HOME/.vim/ftplugin/python.vim , ya que no hago nada al conflicto con $VIMRUNTIME/ftplugin/python.vim .

La integridad de los ajustes en un archivo href="http://vimdoc.sourceforge.net/htmldoc/usr_41.html#ftplugin" rel="noreferrer"> ftplugin mantiene mi .vimrc agradable y genérico y más fácil de mantener (que sigue siendo bastante grande después de más de diez años de uso Vim) .

Si desea overrule lo que los ftplugins con su distribución de Vim estableció, a continuación, $HOME/.vim/after/ftplugin/python.vim es lo que quiere, ya que se lee after éstos.

Del mismo modo $HOME/.vim/filetype.vim se aplica antes $VIMRUNTIME/filetype.vim y que a su vez se aplica antes $HOME/.vim/after/filetype.vim.

:scriptnames mostrará una lista de todos los nombres de script de origen, en el orden en que fueron de origen primero.

:help filetype proporciona información muy amplia sobre todo esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top