我安装了rvm和一些红宝石,因为我正在处理基于不同项目的项目。然后在项目目录中创建.rvmrc文件,当我在我的终端中'cd'到项目文件夹时它们工作正常:
~$ cd workspace/prox/
~/workspace/prox$ rvm current
ruby-1.9.3-p194@prox
~/workspace/prox$ cd ../cto/
~/workspace/cto$ rvm current
ruby-1.8.7-p358@openservice
~/workspace/cto$
现在我正在尝试使用vim + NERDTree作为我的新ide来提高性能,但我遇到了.rvmrc的问题: 当我在NERDTree中cd到一个项目的文件夹并获得CWD已经更改的确认时,我最终得到了默认的ruby @ gemset。 Hance .rvmrc尚未处理完毕。 有没有人知道是否有可能使.rvmrc文件与vim NERDTree一起工作?
答案 0 :(得分:2)
我不是rubyist,因此没有RVM的实际经验。
但我似乎记得它通过设置一堆环境变量来起作用,这些变量本应在启动时由Vim拾取。我对吗?
IMO问题在于,更改Vim中的目录并更改shell中的目录根本不相关。 AFAIK,Vim不关心您的.rvmrc
,也不会通知您的shell :cd
。
请参阅以下命令序列:
$ cd
$ pwd
/home/username
$ vim
:pwd
/home/username
:cd Dropbox
:pwd
/home/username/Dropox
:q
$ pwd
/home/username
当您在Vim中工作时更改为另一个目录时,退出时您将回到原点。因为你的shell没有注意到你所有的旅行而且Vim没有拾取任何新的环境变量,所以你在某个地方使用相同的环境。
但我可能会完全离开。
蒂姆·波普的This plugin应该提供帮助。