Есть портативные Vim, Python и данная структура каталогов с ними в Windows:
C:.
├─── portable_programs
│ ├─── vim
│ │ ├─── vim82
│ │ │ └─── vim.exe
│ │ ├─── vimfiles
│ │ ├─── _vimrc
│ ├─── portable_python
│ │ ├─── App
│ │ │ ├─── Python
│ │ │ │ └─── python.exe
Задача: Запускать файл .py прямо из портативного Vim'а одной кнопкой с помощью портативного Python'а.
"Попытка 1"
let $HOME=$VIM
map <F5> :! "~\.\..\..\portable_python\App\Python\python.exe" %<CR>
"Попытка 2"
map <F5> :! "$VIM\..\portable_python\App\Python\python.exe" %<CR>
"Попытка 3"
$PYTHON = "C:\\portable_programs\\portable_python\\App\\Python\\python.exe"
map <F5> :e $PYTHON %<CR>
Учитывая, что вышеописанные способы не работают, а данный работает:
map <F4> :e $VIM\_vimrc <CR>
понял, что проблема в несовместимости переменных Vim'a и терминала.
Есть другие способы это сделать, не меняя концепцию полной портативности?