2011-11-05 93 views
3

我使用的紅寶石v1.9.1的與vim結合相關文件,我執行我的腳本:紅寶石需要

:!ruby "%" 

我的腳本運行良好,如果我補充一下:

$:.unshift File.dirname(__FILE__) 

到將這個文件的路徑添加到ruby的LOAD_PATH中。如果我省略了這一行,我的require聲明不再適用於本地腳本。

有沒有辦法將文件的路徑傳遞給rubys LOAD_PATH?喜歡的東西(完全地虛構的):

:!ruby "%" --add-to-load-path 

我做了一些研究之前和在require_relative stubled,但是這有同樣的效果,需要和不工作。

回答

3

可以使用紅寶石可執行文件的-I選項,並寫類似以下內容:

:!ruby -I%:p:h. % 

進一步的信息和file modifiersruby --help

被修改:查看評論。

+0

似乎是正確的選擇,但您的示例只會將我的主目錄添加到LOAD_PATH而不是我的腳本文件所在的目錄。它可能像'':!ruby%-I。 「%:p:h」''但這也行不通(LOAD_PATH沒有加任何內容)。 – apparat

+2

你可能想''!!ruby%-I%:p:h'雖然我不能真的測試這個。 –

+1

差不多:)'':!ruby -I%:p:h%''的作品。感謝你們。 – apparat