如何在通过MacVim执行时运行正确版本的Ruby(!ruby)

前端之家收集整理的这篇文章主要介绍了如何在通过MacVim执行时运行正确版本的Ruby(!ruby)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我看到Gary Bernhardt展示了他用来从 vim中执行 Ruby代码的vim快捷方式.捷径是
:map,t :w\|:!ruby %<cr>.

看来这个方法总是执行系统Ruby,在我的例子中是1.8.7.我对升级它犹豫不决,因为我听说改变System Ruby解释器会导致一些不稳定的问题.反正有没有让这个命令使用RVM目录的版本设置?

指定ruby的最直接方法是在其中给出其完整路径名:命令(而不是依赖于在PATH目录中首先找到的ruby):

>在/ path / to / your / preferred / ruby​​中使用Ruby:

:!/path/to/your/preferred/ruby %

>使用RVM安装的ruby-1.9.2-head:

:!~/.rvm/bin/ruby-1.9.2-head %

>在rails3-dev gemset中使用RVM安装的ruby-1.9.2-head:

:!~/.rvm/bin/ruby-1.9.2-head@rails3-dev %

所以你的map命令可能会像这样结束:

:map,t :w\|:!~/.rvm/bin/ruby-1.9.2-head@rails3-dev %<cr>

通常也可以调整PATH环境变量的有效值,以便找到您想要的第一个ruby,但它可能并不总是如您所愿.具体来说,:!命令由shell Vim选项配置的shell处理(:set shell?以查看其值).该shell的配置文件可能会修改Vim为shell提供的PATH值(将Vim的PATH(:echo $PATH)与PATH进行比较:!命令最终使用(:!echo $PATH)来查看shell的配置文件可能正在调整PATH).

您可以尝试修改Vim及其子代使用的PATH,如下所示:

:let $PATH = $HOME . '/.rvm/wrappers/ruby-1.9.2-head@rails3-dev:' . $PATH

您应该使用以下命令检查有效PATH:!echo $PATH和:!ruby以查找您的shell是否正在进一步修改PATH(如果您遇到此问题,可以:set shell = / bin / sh).

注意:我从未见过RVM的包装器目录的这种特殊用途,未来版本的RVM可能会破坏它.正常的用法是创建一个包装器并直接从〜/ .rvm / bin调用它(类似于本文的第一部分),而不是在PATH中放置〜/ .rvm / wrapper / whatever.

猜你在找的Bash相关文章