我正在尝试使我的 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
操作不起作用。
答案1
您可以使用amix 的建议:(我知道MySys
可以用不同且更好的方法来实现这个方法,但我想你可以明白这个想法)
fun! MySys()
return "windows"
endfun
set runtimepath=~/vim_local,$VIMRUNTIME
source ~/vim_local/vimrc
$VIMRUNTIME这里的方法真的很有趣。检查amix 的 vimrc另外,还有一些跨平台技巧可以帮助您入门。
答案2
我认为,如果您使用反斜杠作为目录分隔符,那么您将会破坏任何非 Windows 的东西。
let viminfopath=$VIM."\\_viminfo"
我会努力
let viminfopath=$VIM."/_viminfo"
相反。这在 Windows 上应该也能正常工作。
当然,这只是猜测,但我将从这里开始。