用RVM(Ruby 1.9.3)在终端中安装了brew、Vim、MacVim和Command-T

3
我正在使用RVM (1.17.7)和Ruby 1.9.3p362。 长期来看,我想在带有Tmux的终端中改用Vim。 我正在尝试学习如何安装和运行插件,而不是默认选择Janus,只是为了全面了解它,而不是成为一个机械程序员。
我通过brew安装了Vim git clone Command-T(我正在使用Pathogen),同时设置Ruby为1.9.3 ... 在终端中使用Vim和Command-T一切正常。 当我在终端Vim中运行:ruby puts RUBY_VERSION时,它返回1.9.3。 Command-T也很好用。
但是当我在Macvim中使用相同的Command-T时,它会崩溃,终端会显示: Vim: Caught deadly signal SEGV Vim: Finished.
我在1.9.3中使用brew install macvim,但当我从终端启动mvim并运行:ruby puts RUBY_VERSION时,会返回1.8.7。 我知道Wincent建议使用系统版本的Ruby来安装Command-T,并且我已经阅读过必须匹配Ruby版本,无论哪种方式。 当我拥有系统ruby时,我设法让它们两个都运作良好,但在具有1.9.3版本的RVM版本上无法将其两者都设置好...这是否可能? 我应该忘记MacVim,坚持在终端中使用Vim吗?
我想,其他可以做的事情是拥有一个禁用的文件夹,并将不同的Command-T安装移入和移出。 或者也可以为“gui_running”执行if,然后针对不同的安装进行操作。 帮助我找到正确的方法将不胜感激。
我已经安装了Tim Pope的rvm.vim并且可以设置Ruby版本,但这似乎无法阻止在MacVim中调用:CommandT时崩溃。
1个回答

4
我猜测在安装所有其他内容之前,您先安装了macvim包,然后安装了vim包。这可以解释为什么终端模式下它能够正常工作。这是两个不同的软件包,它们有自己的构建选项。
运行:
vim --version

并将输出与以下内容进行比较:

mvim --version

特别是要注意最后一行(以Linking:开头)。您可能会看到mvim链接了ruby-1.8,而vim链接了ruby-1.9.1(请注意,1.9.3报告的是1.9.1;这是C API版本,而不是Ruby版本)。
如果所有这些都是真的,请通过执行以下操作进行修复:
brew uninstall macvim
brew install macvim

它应该按照你的1.9.3配置构建。在执行此操作之前,请确保rvm current报告1.9.3。


1
如果你愿意,可以选择只使用 vim,避免因为稍有不同的版本而带来的麻烦,并且开始学习喜欢上 tmux。 - Jim Stewart
谢谢Jim!查看两个版本的--version确实有所帮助。在我发帖之前,我尝试了几次使用我的RVM Ruby设置进行brew卸载和安装,因此我想我会按照MacVim Github构建页面的方式长时间构建MacVim。我正在运行10.8,并找到了一个补丁,用于--enable-rubyinterp \,可以设置我的RVM ruby! - kaplan
我还将mvim脚本从MacVim构建中移动到/usr/local/bin目录,以便我可以从终端打开MacVim。当我查看版本时,一切似乎都很好。我已经将这个放在了Gist上,供自己和其他可能遇到类似问题的人使用。 - kaplan
很高兴你解决了它。我敢打赌brew只是回退到你的系统Ruby上。对于brew来说,尊重RVM是没有意义的。我会看看能否确认这一点。 - Jim Stewart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接