¿Es posible y útil dividir vimrc?

22

Según el título, ¿es posible dividir el vimrcarchivo en varios subarchivos? ¿Mantener archivos separados para grupos de configuraciones que conciernen a una cosa ? Esta cosa podría ser cualquier cosa, cualquier tipo de grupo definido por el usuario de configuración. Por ejemplo,

[actualizado]

  • mantener todas las configuraciones relacionadas con Python (-mode)vimrc.python-mode ?
  • mantener la configuración de la utilidad Calendario para vim en vimrc.calendar?
  • mantener la configuración de color en un archivo separado?
  • Mantener asignaciones (atajos aka?) en un archivo separado?
Nikos Alexandris
fuente
3
El otro lado: agrupación basada en ubicación en lugar de basada en tipo de archivo. Ver vi.stackexchange.com/q/77/205
muru
¿Podría la respuesta que estoy buscando estar en algún lugar entre vi.stackexchange.com/a/3152/1963 ? ¿Archivos de origen que contienen la configuración que deseo para cosas específicas que necesito?
Nikos Alexandris
Se eliminó la filetypeetiqueta, ¿por ahora tal vez? Hace que los lectores piensen que las preguntas son sobre tipos de archivos específicos, lo cual no es el caso.
Nikos Alexandris
parecía apropiado dada la pregunta original.
muru
@muru Sí, no te preocupes. Podríamos agregar eso más adelante también. Gracias.
Nikos Alexandris

Respuestas:

22

Sí, esto es posible y útil e incluso se considera la mejor práctica. Se llaman complementos de tipo de archivo en el habla de Vim. Y Vim incluso viene con muchos complementos de tipo de archivo (así como archivos de sangría y sintaxis) para varios idiomas.

Necesitas habilitar esto en tu .vimrccomo este:

filetype plugin on

luego coloque su configuración específica de tipo de archivo en un archivo (creando directorios no existentes) llamado ~/.vim/ftplugin/python.vimconfiguración de python. Esto también está cubierto en las preguntas frecuentes .

Actualización (13.11.2015) También existe otra posibilidad (si no desea utilizar opciones específicas de tipo de archivo): si desea agrupar algunas opciones en un archivo específico, puede utilizar el comando sourceo runtime. Por ejemplo, my .vimrccontiene esta línea:

" This script contains plugin specific settings
source ~/.vim/plugins.vim
" This script contains mappings
source ~/.vim/mapping.vim
" additional helper functions:
source ~/.vim/functions.vim
" For abbreviations read in the following file:
source ~/.vim/abbrev.vim
Christian Brabandt
fuente
Bien, ya tengo esto! Pero en realidad nunca tuve una mirada cercana. Entonces, bombeé vimrc. Sin embargo, ¿qué pasa con las configuraciones que no conciernen a un tipo de archivo específico?
Nikos Alexandris
2
Es posible que necesite :he autoloady :he source? Consulte también esta respuesta stackoverflow.com/a/805242/1821490
Alex Kroll
@AlexKroll no es para complementos de tipo de archivo.
Christian Brabandt
@ChristianBrabandt para todo lo que quieras. Puede obtener cualquier script en .vimrc. Simplemente coloque la source my-funy-useful-script.vimlínea en su .vimrcy Vim la carga después de reiniciar (o :so $MYVIMRCcomando). También te :he writing-library-scriptspuede ayudar.
Alex Kroll
@AlexKroll Creo que esto está más cerca de la respuesta que estoy buscando. ¿Te importaría editar la respuesta actual y expandirla? ¿O hacer una respuesta por separado? No busco solo tipos de archivos específicos. Espero que esto quede claro en mi pregunta.
Nikos Alexandris
5

Es completamente posible hacer lo que quieras. Algunos de los otros han dicho sobre los complementos de tipo de archivo que funcionan bien para eso.

Pero puede obtener el archivo fuente y .vim en su vimrc para poder dividir el archivo .vimrc en tantos archivos como desee. Solo busca el archivo y funcionará. Como ejemplo, aquí está mi (probablemente no muy útil) dotfiles. https://github.com/dspecht/dotfiles/

Spector
fuente
¿Podría dar un ejemplo de lo que hizo en su respuesta y por qué funciona?
EvergreenTree