Pregunta

He estado usando Vim y patógeno por un tiempo, y todo funcionó bien, pero recientemente comencé a tener problemas con el orden de carga con la configuración de mi ftplugin.

El problema específico que tengo ahora es que modo Python está anulando mi configuración de ftplugin.tengo un ~/.vim/ftplugin/python.vim que contiene la siguiente línea:

setlocal textwidth=119

python-mode viene con su propio archivo ftplugin, que también configura textwidth, en ~/.vim/bundle/python-mode/ftplugin/python/pymode.vim.

El problema es que Vim ahora está cargando el archivo ftplugin del modo Python. después mi archivo ftplugin, así que estoy terminando con su textwidth=79. Recientemente tuve que reinstalar MacPorts y creo que algo debe haber cambiado en la configuración original.

He probado varios trucos que implican desactivar la detección de tipo de archivo/complemento antes de invocar el patógeno, según varios otro respuestas, pero ninguna de ellas ayuda.

Mediante el uso de verbose set textwidth? y algo echomsg Al depurar, sé que se están invocando ambos archivos ftplugin y que se están invocando en el orden incorrecto (para mis necesidades).

¿Hay alguna forma de obligar a Vim/pathogen a invocar mis archivos ftplugin después de los de los complementos?

Incluso he intentado poner mi configuración en ~/.vim/after/plugin/pymode.vim, pero se carga inmediatamente después de que el patógeno configura el complemento, por lo que aún se ejecuta antes ftplugin archivos, que solo se cargan una vez que edito un archivo Python.

¿Fue útil?

Solución

Resulta que tal vez esto nunca funcionó como pensaba.No me di cuenta de que Vim también era compatible ~/.vim/after/ftplugin, así que pude mover mis anulaciones a ~/.vim/after/ftplugin/python.vim y obtener el comportamiento que esperaba.Detesto responder mis propias preguntas sobre SO, pero espero que esto ayude a alguien más.

Otros consejos

Plain Vim carga los scripts del complemento en alfabético orden.Esto es de :help load-plugins

... all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.

Para que pueda configurar el orden de carga de los complementos cambiando el nombre <filetype>_plugin.vim a <filetype>/35plugin.vim.35 es el orden de carga que desea.Creo que esto también debería funcionar con Pathogen cambiando el nombre de los directorios de complementos dentro bundle, pero no lo he probado.

Todavía estoy buscando una respuesta más general a este problema de orden de carga

Por lo que sé, realmente no puedes hacerlo con patógeno.Es realmente fácil con Neobundle.El patógeno es realmente mínimo, no le proporciona mucha flexibilidad, solo hace una cosa y lo hace bien.Si está buscando configurabilidad, creo que está utilizando la herramienta incorrecta.

Editar: No estoy realmente seguro de FTPLUGINS, pero los paquetes en general se cargan a medida que los especifican (con vundle / neobundle).Así que me doy cuenta de que esto tal vez no sea el más relevante de las respuestas.

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