Me gustaría modificar mi .vimrc
para leer el valor de una variable de un archivo externo. ¿Cómo puedo hacer esto?
Específicamente, un amigo y yo compartimos un repositorio de git con nuestros .vim
archivos, pero hay algunas pequeñas diferencias en lo que queremos en nuestras configuraciones. Entonces, la mayor parte del archivo es común, pero usamos sentencias if para determinar si se cargan secciones específicas del usuario, como esta:
let whoami = "user2"
if whoami == "user1"
...
Después de verificar nuestro .vimrc
control de fuente común, cada uno de nosotros tiene que cambiar la let whoami
asignación para que se cargue nuestra propia sección. En cambio, me gustaría mantener un archivo separado, que puede ser diferente para cada uno de nosotros, y desde el cual vim cargará ese valor de variable.
Quizás otro ángulo sobre esto sea:¿Vim leerá automáticamente todos los archivos de mi .vim
directorio?Si es así, cada uno de nosotros podría colocar un enlace simbólico llamado nombre de usuario.vim y vincularlo a un archivo externo que sería diferente para cada uno de nosotros.
Respuesta1
en su archivo principal .vimrc:
source otherVimScriptFilePath.vim
luego simplemente coloque su declaración de variable en ese archivo:
" otherVimScriptFilePath.vim
let whoami = "user1"
Respuesta2
Usando un intento/captura
Desde que hice esta pregunta, se me ocurrió otro caso de uso para cargar un archivo externo: ajustes específicos de la máquina.
Dado que es posible que necesite o no realizar ajustes en una máquina determinada, estoy usando a try/catch
para cargar el archivo externo; si no existe tal archivo, lo dejo fallar silenciosamente.
" If there are any machine-specific tweaks for Vim, load them from the following file.
try
source ~/.vimrc_machine_specific
catch
" No such file? No problem; just ignore it.
endtry
Respuesta3
Para responder a la última pregunta, los archivos ~/.vim
no se cargan automáticamente, pero todos los archivos ~/.vim/plugin
sí lo hacen.
Respuesta4
el nombre del usuario que inició sesión está disponible en la variable de entorno $USER. puedes acceder a esa variable fácilmente:
:echo $USER
entonces, solo usa
execute "silent! source vimrc." . $USER
en su vimrc y coloque la configuración específica de su usuario en
vimrc.joe
o cualquiera que sea su nombre de usuario