我把gvim和portable python存储在多台机器的Dropbox文件夹中。Dropbox文件夹在每台计算机上的位置不同。但是,我希望能够设置.vimrc,以便它自动引用正确的python文件夹,不管它在哪台计算机上。
例如,我在c:\dropbox\gimportable中有gvim。
在my.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应用程序,它将始终位于同一位置。
我可以使用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环境变量中。