Вы должны быть в состоянии прочитать все фактические переменные среды, например,
:!echo $PATH
Ваша проблема связана с личными переменными среды.
Почему вы пытаетесь читать переменные окружения в gvim? Там может быть лучший способ сделать вещи.
Область переменных среды
Когда вы входите в свой компьютер, bash получает файл .bash_profile.
Когда вы запускаете терминал, он получает файл .bashrc, поэтому ваши персональные переменные среды доступны в этом терминале и во всех подоболочках.
Если вы не экспортируете переменные из вашего .bashrc, эти переменные не будут доступны в общей среде, и они будут доступны только после того, как вы запустите терминал, если вы их экспортируете.
Поскольку вы запускаете gvim через панель запуска приложений, ничто не читает ваш файл .bashrc, чтобы создать эти переменные среды для вас.
Некоторые информация о переменных среды оболочки Bourne см. В разделе 9.1.2
Итак, хорошее место для размещения:
MYENVIRONMENTVARIABLE=new value of environment variable
export MYENVIRONMENTVARIABLE
находится в .bash_profile, и затем, если вы хотите внести какие-либо изменения в переменную, убедитесь, что вы экспортируете их снова (и если вы хотите, чтобы изменения были постоянными, отредактируйте .bash_profile).
Обратите внимание, что значение этой переменной среды будет доступно для любых новых оболочек, но существующие оболочки, вероятно, не будут перечитывать переменные среды.