2011-11-05 94 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