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 git con nuestros .vim
archivos, pero hay algunas pequeñas diferencias en lo que queremos en nuestras configuraciones. Por lo tanto, 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 control común .vimrc
fuera de la fuente, cada uno 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 variable.
Quizás otro ángulo sobre esto es: ¿leerá vim automáticamente todos los archivos en mi .vim
directorio? Si es así, podríamos poner un enlace simbólico llamado username.vim, y vincularlo a un archivo externo que sería diferente para cada uno de nosotros.
let whoami = ""
justo antes de lasource
línea, de modo que si no puede cargar el archivo externo, la variable existe y recibo el mensaje de error que habíamos configurado previamente para la variable que no se está configurando.silent! source
parteUsando un try / catch
Desde que hice esta pregunta, se me ocurrió otro caso de uso para cargar un archivo externo: ajustes específicos de la máquina.
Como puedo o no necesitar hacer ajustes en una máquina determinada, estoy usando a
try/catch
para cargar el archivo externo; Si no hay tal archivo, dejo que falle en silencio.fuente
Para responder a la última pregunta, los archivos
~/.vim
no se cargan automáticamente, pero todos los archivos sí~/.vim/plugin
.fuente
after
,autoload
)Puede hacer que su ~ / .vimrc cargue otro archivo usando el
:source
comando. Por ejemplo, cada uno podría poner sus comandos únicos en ~ / .myvimrc y cargar esos comandos conO, como estaba pensando, cada uno podría poner su nombre en ese archivo así:
y luego pon esto en tu ~ / .vimrc:
Sin embargo, en lugar de poner sus nombres en archivos, puede usar $ USER como sugirió akira, o configurar
user
usandowhoami
, de esta manera:La función sustituto () es necesaria porque la salida del sistema () generalmente tiene un '\ n' agregado al final.
fuente
whoami
no funciona en windowswhoami
genera un nuevo proceso, cuando abre su editor, debe ser rápido y no (inútil) hacer el trabajo varias veces nuevamente.El nombre del usuario conectado está disponible en la variable de entorno $ USER. puedes acceder a esa variable fácilmente:
entonces, solo usa
en su vimrc y ponga su configuración específica de usuario en
o cualquiera que sea su nombre de usuario
fuente
No estoy seguro de cómo se ve su vimrc, por lo que esto puede no ser factible, pero si hay partes grandes que usted y su amigo comparten, es posible que desee dividirlos en complementos separados. Puede agregar archivos al
~/.vim/plugin
directorio para cargarlos en el inicio. (Se cargan en orden alfabético; úselos:scriptnames
para verificar).De esa manera, cada uno puede tener un vimrc que es completamente único, pero todas sus configuraciones comunes están en complementos. Si los separa lógicamente, también facilita compartir con otros.
fuente