好的,伙计们,一切都很好。让我概述一下解决问题的步骤。首先,非常感谢@romainl 和@mpapis 的帮助。@romainl,我做的第一件事是尝试 RVM 插件,但这没有帮助。然后我查看了@mpapis 发布的链接,在那里我了解了 MacVim 的隐藏设置。好吧,我不能马上找到这个设置,因为当他们提到偏好时,他们并不是在谈论 UI(通常映射到 Command + ,热键)。他们在谈论
:h macvim
我在扫描上述帖子后发现了这一点。
进入 macvim 帮助部分后,我搜索了世界“shell”。
/shell
我在 3. Preferences 部分下找到了两个设置。
==============================================================================
3. Preferences macvim-prefs macvim-preferences
Some settings are global to the MacVim application and would not make sense as
Vim options. These settings are stored in the user defaults database and can
be accessed via the "MacVim.Preferences..." menu item.
macvim-user-defaults
Not all entries in the user defaults database are exposed via the preference
panel, usually because they should not be changed by the user under normal
circumstances. These options can still be changed with the "defaults" command
by opening Terminal and typing
defaults write org.vim.MacVim KEY VALUE
Check the man page on "defaults" for more information on this command as well
as general information regarding Mac OS X user defaults.
Here is a list of relevant dictionary entries:
...more entries
MMLoginShellArgument login shell parameter [string]
MMLoginShellCommand which shell to use to launch Vim [string]
...more entries
MMLoginShellArgument 和 MMLoginShellCommand 设置引起了我的注意。所以我尝试了其中一种设置
defaults write org.vim.MacVim KEY VALUE
语法,但无济于事。
然后我搜索了“mmloginshell command macvim”,这是我在 MacVim 帮助的首选项部分找到的 2 个设置之一。
第一个链接是 Stackoverflow 问题。
到达那里后,我遇到了这个答案,对我来说,这是 MacVim Github wiki 上的这个页面。
在那里,我按照 Björn Winckler(MacVim 核心开发人员)的故障排除指南中的步骤进行操作;特别是标题为“对于 zsh 用户”的部分。
正是在这里,我了解了这两个文件:
/etc/zshenv
/etc/zprofile
人们会期望在加载 MacVim 并且 zsh 是当前 shell 时会读取/获取 ~/.zshrc 的内容,但事实并非如此。一旦我意识到这两个文件之一(/etc/zshenv 和 /etc/zprofile)应该包含我的 $PATH 变量,我开始将它从 ~/.zshrc 单独迁移到每个文件,以查看是否可以工作. 我最初以 /etc/zshenv 为目标(同时保持 /etc/zprofile 完好无损),重新加载 vim/MacVim,一切都完美无缺。
which rails
这次实际上有正确的输出。
@romainl,当您最初询问我的 $PATH 变量是否在 Terminal.app 和 vim 之间同步时,我想我错误地认为它们是等价的。后来在分析两组输出时,我发现它们确实略有不同。对于潜在问题是什么,这将是一个很好的指标。我的错误,谢谢。
Bash 用户可能想考虑我怀疑的 /etc/zshenv 等价物,本文对此进行了概述。
Ben Schmidt 提到你应该在“~/.profile 而不是~/.bashrc”中设置你的 $PATH 变量;所以在进行故障排除时需要考虑一些事情。
我不记得在 ~/.bashrc 中指定了我的 $PATH 变量时曾经遇到过 bash 的这个问题,但是谁知道呢……这些信息在某些时候可能会派上用场。
谢谢大家,我希望这些信息能帮助困扰 zsh 的用户。快乐 Ruby 黑客攻击。