Eu vejo essas mesmas variáveis no Ubuntu 9.10 com o Vim 7.2 e sob o Cygwin 1.7 com o Vim 7.2 no Vista.
Observe que MYVIMRC
pode não estar presente se não houver arquivo .vimrc
.
De dentro do Vi / Vim, eu posso digitar:
:shell
para cair em um shell.
Existe alguma maneira de detectar que estou em uma subcamada gerada por Vi?
A variável ambiental SHLVL é 2, mas isso não me diz explicitamente que estou em um subshell de Vi / Vim gerado.
No OS X, as seguintes variáveis também são definidas: MYVIMRC
, VIMRUNTIME
, VIM
.
Como são universais estes? Posso contar com eles sendo configurados em qualquer sistema, se e somente se eu estiver em um subnível Vi / Vim?
Se não, existe alguma maneira portátil, robusta e esperançosamente eficiente de dizer que eu estou em um subshell Vi / Vim?
Obrigado.
Eu vejo essas mesmas variáveis no Ubuntu 9.10 com o Vim 7.2 e sob o Cygwin 1.7 com o Vim 7.2 no Vista.
Observe que MYVIMRC
pode não estar presente se não houver arquivo .vimrc
.
Eu não conheço muito bem o OSX, mas se ele tiver um sistema de arquivos / proc, você provavelmente poderá verificar o nome do processo pai, assim:
parent=$(</proc/$PPID/exename)
if expr match $parent $(which vim) > /dev/null
then
...
fi