如何在通过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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |