Я пытаюсь сделать свою gVim установку максимально портативной, и при этом я хочу поместить _viminfo
файл в $VIM
каталог, а не $HOME
. Я довольно плохо знаком со взламыванием vimrc конфигурации, но здесь - то, что я пробовал:
let viminfopath=$VIM."\\_viminfo"
execute "set viminfo='1000,n".escape(viminfopath, ' ')
" Some other portability stuff.
set nobackup
set nowritebackup
if has("win32") || has("win64")
set directory=$TMP
else
set directory=~/tmp
end
Это, кажется, не работает, хотя; у кого-либо есть какие-либо подсказки?
Спасибо!
Править: выполнение :echo viminfopath
дает результат F:\Programs\Vim\_viminfo
, таким образом, сам путь допустим, по крайней мере. Это должно быть execute
операция это не работает.
Можно использовать предложения amix: (Я знаю MySys
подход может быть сделан различными и лучшими способами, но я думаю, что можно получить идею),
fun! MySys()
return "windows"
endfun
set runtimepath=~/vim_local,$VIMRUNTIME
source ~/vim_local/vimrc
$VIMRUNTIME является подходом здесь, действительно интересный. Проверьте vimrc amix также, существуют некоторые перекрестные-plataform подсказки для запущения Вас.
Я думаю, что, если Вы используете обратную косую черту в качестве своего разделителя каталога, Вы собираетесь повредить что-либо, что не является Windows.
let viminfopath=$VIM."\\_viminfo"
Я стрелял бы для
let viminfopath=$VIM."/_viminfo"
вместо этого. Это должно работать в Windows, а также чем-либо еще.
Предоставленный, это - предположение, но это - где я запустил бы.