¿Es posible incluir archivos externos para obtener en el archivo vimrc?
¿Es tan simple como simplemente agregar source somefile
?
A diferencia :source
, :runtime
no necesita una ruta absoluta para trabajar. Es mucho mejor que :source
para construir configuraciones portátiles.
Ver :help :runtime
.
En el siguiente ejemplo, le decimos a Vim que busque un vimrc
archivo en los directorios dados por la runtimepath
variable. Dado que ~/.vim/
es el primer directorio de la lista, runtime vimrc
funciona igual que :source ~/.vim/vimrc
sin la necesidad de proporcionar una ruta dependiente del sistema.
En ~/.vimrc
:
runtime vimrc
La respuesta debe depender de lo que desee dispersar en varios archivos. Hay algunas formas diferentes de tener una configuración en varios archivos. Nota: la diferencia entre runtime
y source
se ha descrito, no volveré a decir nada sobre este tema.
Entonces. También deberás tener en cuenta el qué. Hoy en día, rara vez tenemos necesidad de usar so
o ru
de .vimrc. Sin embargo, todavía lo hago en solo dos casos:
Para los otros casos:
Al final, tengo en mi .vimrc:
:set
Sí, o incluso solo so somefile
. Ver :help so
.
Como complemento, tengo estas líneas en mi vimrc que pueden interesarle. Lo uso para obtener un vimrc local que no guardo en mi control de origen de archivos de puntos:
" Source a local vimrc {{{
if has('win32')
let $MYLOCALVIMRC = $HOME . "/_local.vim"
else
let $MYLOCALVIMRC = $HOME . "/.local.vim"
endif
if filereadable($MYLOCALVIMRC)
source $MYLOCALVIMRC
endif
" }}}
La primera parte que define el nombre del archivo a la fuente puede no ser interesante para usted, pero la segunda parte, que verifica si el archivo puede obtenerse antes de obtenerlo, podría ser interesante.
Tenga en cuenta que :h source
dice:
Lea los comandos Ex de {archivo}. Estos son comandos que comienzan con un ":"
Esto le permitirá obtener un archivo que contiene vimscript, pero no puede obtener directamente un archivo que contenga otro idioma con este método, incluso si la primera línea contiene el shebang correcto ( #!/bin/...
)