¿Se puede dividir .vimrc en varios archivos?


11

Supongamos que tengo unos cientos de reasignaciones personalizadas iabpara Java y otras cientos de reasignaciones para Haskell, luego me gustaría dividirlas en diferentes archivos para que sea más manejable. Lo que estoy buscando es crear algo como esto:

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

Donde .vimrc podría verse algo así

import java
import haskell

¿Es posible hacer algo como esto o simplemente estoy complicando demasiado las cosas? Supongo que lo que estoy tratando de lograr es lo que uno hace en LaTeX con el \inputcomando ...


2
¿Hay alguna razón por la que no los pones ~/.vim/after/ftplugin/$language.vim?
wchargin

1
En realidad no, ¿debería? ¿Qué se supone que debe entrar after/ftplugin?
lindhe

2
Si escribe un archivo llamado, por ejemplo, ~/.vim/after/ftplugin/java.vimse ejecutará automáticamente cada vez que abra un javaarchivo. Esto parece ser lo que quieres.
wchargin

Respuestas:



11

Sí, el comando vim que está buscando es :sourceo :runtimepara extraerlos runtimepath.

Por ejemplo, podría hacer esto en su .vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

presumir ~/.vimestá en su runtimepath(que es por defecto).

También puede colocar sus scripts en el ~/.vim/plugindirectorio; ver plugin de escritura en los documentos. Vim ejecuta automáticamente todos los scripts en el directorio de complementos.


Frio. ¿Existe alguna convención de nomenclatura para lo que he llamado aquí custom, que no son complementos sino archivos que también podrían haber estado .vimrc?
lindhe

1
@ Lindh-E No que yo sepa. Probablemente desee usar algo que está seguro de que una futura versión vim no le dará sentido. Como se esfuerzan por mantenerse compatibles con los nombres de archivo 8.3, sugeriría un nombre de directorio> 8 caracteres.
derobert
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.