我将gVim和便携式python存储在多台机器上的DropBox文件夹中。 DropBox文件夹的位置在每台计算机上是不同的。但是,我希望能够设置.vimrc,以便它自动引用正确的python文件夹,无论它在什么计算机上。
例如,我在C:\ DropBox \ gVimPortable中有gVim。
在我的.vimrc中,我有以下内容:
let s:pp = 'C:\DropBox\PortablePython_1.1_py2.5.4' " netbook
if (has('win32') || has('win64')) && isdirectory(s:pp)
let $PATH .= ';' . s:pp
endif
有没有办法做类似以下的事情?
let s:pp = $VIMRUNTIME.substring(0, regex.match(/gVimPortable/))."\PortablePython_1.1_py2.5.4"
if (has('win32') || has('win64')) && isdirectory(s:pp)
let $PATH .= ';' . s:pp
endif
基本上,我不想硬编码python运行时所在的文件夹。它总是与gVim应用程序位于相同的位置。
答案 0 :(得分:2)
我能够使用strpart和strlen函数完成我需要的工作。
let s:pp = strpart($VIMRUNTIME, 0, strlen($VIMRUNTIME)-strridx($VIMRUNTIME, "DropBox")+1) . "\\Apps\\PortablePython_1.1_py2.5.4\\App"
if (has('win32') || has('win64')) && isdirectory(s:pp)
let $PATH .= ';' . s:pp
endif
上面的脚本会自动将python添加到相对于gVIM可执行文件的PATH环境变量中。