2010-06-05 60 views
2

我有幾個機器上的DropBox文件夾中存儲gVim和便攜式python。 DropBox文件夾的位置在每臺計算機上都不相同。但是,我希望能夠設置.vimrc,以便它自動引用正確的python文件夾,而不管它在哪個計算機上。有沒有辦法在.vimrc中的變量上使用子字符串函數?

例如,我有gVim在C:\ DropBox \ gVimPortable。

在我的.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

在回答這個問題(但不是問題),我可能會使用平臺特定的VIMINIT。 http://vimdoc.sourceforge.net/htmldoc/starting.html#VIMINIT – msw 2010-06-05 03:07:36

回答

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環境變量中。

相關問題