1

我安装了 rvm 和几个 rubies,因为我正在处理基于不同项目的项目。然后在项目目录中创建 .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​​@宝石。Hance .rvmrc 尚未得到处理。有谁知道是否可以使 .rvmrc 文件与 vim NERDTree 一起使用?

4

1 回答 1

2

我不是 ruby​​ist,因此对 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 没有拾取任何新的环境变量,所以你不知何故在同一个地方和同一个环境。

但我可能完全不在了。

Tim Pope 的这个插件应该会有所帮助。

于 2012-07-16T12:30:04.587 回答