Tengo un script de Vim que llama a un script de shell externo y lee el resultado en el búfer actual. Funciona bien en sistemas Unix. Intento que el guión sea independiente del sistema operativo, por lo que también quiero que funcione para los usuarios de Windows. Aquí está la línea relevante de la secuencia de comandos:¿Cómo usar las variables de entorno de Windows en el script de Vim?
:exe ":0r !$HOME/bin/shell_script"
De acuerdo con documentos de Vim, $HOME
debería traducirse bien para los usuarios de Windows también. Usando gvim en Win XP en modo comando, haciendo
:echo $HOME
produce de hecho "C: \ Documents and Settings \ my_user".
Sin embargo, mi script de Vim (ajustado por barras invertidas) falla en la máquina Windows con un mensaje en la ventana cmd.exe DOS diciendo
$ HOME \ bin \ shell_script" no encontrado.
En otras palabras, Vim no parece ser la ampliación del valor de $HOME
antes de pasarla a cmd.exe.
no puedo usar %APPDATA%
ya sea porque Vim interpreta %
como el curre nt archivo y pre/añade el nombre del archivo al APPDATA
. Weird that Vim does expande %
pero no expande $HOME
.
¿Cómo obtengo $HOME
expandido correctamente? ¿Es porque estoy usando exe
en la secuencia de comandos vim?
Esta pregunta no es sobre (hacia atrás) reduce drásticamente.El problema aquí es que el shell simplemente no comprende '$ HOME' – doubleDown