Ruby 为什么vim和zsh中的$PATH不同?

Ruby 为什么vim和zsh中的$PATH不同?,ruby,vim,path,Ruby,Vim,Path,在我的rails应用程序文件夹foo中,ruby-v是ruby 2.0.0p195(2013-05-14修订版40734)[x86\u 64-darwin12.3.0],但是在vim中打开foo,:!ruby-v是ruby 1.8.7(2012-02-08 patchlevel 358)[universal-darwin12.0] 有人能帮忙吗 谢谢 您应该设置shell vim用于运行命令: set shell=/bin/sh 您可以将其放入~/.vimrc中,或者手动运行以首先测试它 这样

在我的rails应用程序文件夹foo中,
ruby-v
ruby 2.0.0p195(2013-05-14修订版40734)[x86\u 64-darwin12.3.0]
,但是在vim中打开foo,
:!ruby-v是ruby 1.8.7(2012-02-08 patchlevel 358)[universal-darwin12.0]

有人能帮忙吗


谢谢

您应该设置shell vim用于运行命令:

set shell=/bin/sh
您可以将其放入~/.vimrc中,或者手动运行以首先测试它


这样,您将在vim中获得与交互式shell相同的环境。

也许,您是否在
.zshrc
中编写了$PATH?如果是这样,您应该使用
.zshenv

当从vim和某些应用程序调用脚本命令时,
.zshrc
不会加载


或者您正在OS X上使用zsh。您应该将/etc/zshenv移动到/etc/zshrc。

您是否正在使用某种虚拟环境(例如python的
virtualenv
,不知道它在ruby中如何调用),或者
rvm
?您是否检查了
echo$PATH
(在shell中)和
的输出:!echo$PATH
(在vim中)?@NadirSampaoli echo$PATH在vim和shell中是不同的,我使用的是oh my zshpossible的副本