【发布时间】:2012-06-20 04:31:58
【问题描述】:
在使用 Vim 时,你可以通过以下方式进行 shell 输出
:!<command_name>
这是我的问题。
我已将当前的 Ruby 设置为
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]
这是来自
的输出ruby -v
在 Terminal.app 或只是终端中。
一旦我加载 MacVim 并输入
:!ruby -v
我明白了
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
Vim 从哪里得到它的上下文?
它似乎不符合我在.zshrc 中指定的设置。
这些设置似乎都没有加载或生效。
我什至创建了一个函数来通过命令行获取我的点文件
:!source ~/.zshrc
但无济于事!
我不明白这里到底发生了什么。我遇到了一个问题,因为 Vim 使用 Ruby 1.9.3p0,但 RVM 设置为不同的 Ruby。这当然是破坏 对 Rails 的任何调用。
/usr/lib/ruby/1.9.1/rubygems.rb:314:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /usr/bin/rails:19:in `<main>'
shell returned 1
谁能告诉我如何覆盖它?
在 Vim 和终端中,甚至我的 rails 版本也不同。
# Terminal output
which rails
# prints - /Users/adubb/.rvm/gems/ruby-1.9.3-p194/bin/rails
# Vim/MacVim output
:!which rails
# prints - /usr/bin/rails
【问题讨论】:
-
如何启动 MacVim?当您使用 Finder.app(双击、右键单击 > 打开方式...)执行此操作时,MacVim 的启动环境与您在 Terminal.app 中执行
$ vim filename时的环境不同。试试捆绑的mvim脚本:$ mvim filename。 -
如你所说,我通过终端的 mvim 命令启动。
-
请比较
:!echo $PATH在Vim和MacVim中的输出。 -
是的,我已经看到很多关于同一问题的问题。如果您查看右侧的列表,您会发现很多人都有类似的问题。 RVM 可能是一个好主意,但它似乎有很多限制。也许蒂姆·波普的this plugin 会帮助你。
-
经过一番谷歌搜索后,我找到了这个
So MacVim has a workaround for this: turn on 'Launch Vim processes in a login shell' in the preferences and it should work.-> groups.google.com/d/msg/vim_mac/wSS_1zujSyo/eC_JOgI2gq4J