¿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?

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

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/


¿Podría dar un ejemplo de lo que hizo en su respuesta y por qué funciona?
— EvergreenTree
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.