17

我正在使用 MacVim(基本上是 gvim for mac)。

如果我从命令行打开 macvim,那么我的$PATH变量将被正确设置。

如果我通过点打开 macvim 并使用查找器单击,则$PATH变量将不会正确设置。

谁能给我一些见解?

注意:我知道我的路径至少有一部分设置在 中~/.bashrc,但我不确定其余部分设置在哪里。


例子:

如果我从终端打开 macvim:

% gvim basic.tex 

然后在 MacVim 中我去:

:!echo $PATH
/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/Applications/MacVim.app/Contents/M
acOS:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/texbin:/usr/X11R6/bin 

这是正确的道路。


当我用鼠标打开文件时(在取景器中)

我去的时候:

:!echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin  

它给了我一条小路。为什么?

4

4 回答 4

16

我有同样的问题,但它只是在将我的默认 shell 设置为 zsh 之后才出现,就像这样

export SHELL=/bin/zsh

OS X zsh 设置中似乎存在错误。简而言之,解决方法是合并/etc/zshenv/etc/zprofile. 在我的情况下,我没有一个/etc/zprofile所以只是移动文件就可以了:

sudo mv /etc/zshenv /etc/zprofile

这篇文章更详细地描述了解决方案。

于 2011-09-11T23:34:44.350 回答
9

对我来说,只需创建一个从 .zprofile 到 .zshrc 的新符号链接就可以了:

ln -s ~/.zshrc ~/.zprofile
于 2014-07-02T23:53:21.747 回答
8

在 Mac 上为 GUI 应用程序(通过登录窗口、Finder 等启动的应用程序)设置环境变量的位置是~/.MacOSX/environment.plist

或者,在 MacVim 中,您可以选择在登录外壳中启动 vim 进程(查看首选项)。

有关更多信息,请参阅此帖子

于 2010-07-27T15:00:12.610 回答
3

PATH 的差异可能与登录 shell(登录)和非登录 shell(打开控制台)之间的差异有关。

从 bash 手册页:

当 bash 作为交互式登录 shell 被调用时……它会寻找 ~/.bash_profile……

当一个不是登录 shell 的交互式 shell 启动时,bash 从 /etc/bash.bashrc 和 ~/.bashrc 读取并执行命令...

我为解决这个问题所做的是将以下代码添加到 my~/.bash_profile中,告诉它 source my (~/.bashrc如果存在):

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
于 2010-07-27T15:40:39.723 回答