从查找程序打开时,$ PATH变量未在gvim/MacVim中正确设置

six*_*ude 17 macos vim command-line path macvim

我正在使用MacVim(基本上是gvim用于mac).

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

如果我通过点击打开macvim并使用finder点击,则该$PATH变量将无法正确设置.

谁能给我一些见解?

注意:我知道至少部分路径已设置~/.bashrc,但我不确定其余部分的设置方式.


例子:

如果我从终端打开macvim:

% gvim basic.tex 
Run Code Online (Sandbox Code Playgroud)

然后在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 
Run Code Online (Sandbox Code Playgroud)

这是正确的道路.


当我用鼠标打开文件时(在finder中)

我去的时候:

:!echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin  
Run Code Online (Sandbox Code Playgroud)

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

小智 16

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

export SHELL=/bin/zsh
Run Code Online (Sandbox Code Playgroud)

似乎OS X zsh设置中存在一个错误.在短暂的解决方法是合并/etc/zshenv/etc/zprofile.在我的情况下,我没有一个/etc/zprofile只是移动文件诀窍:

sudo mv /etc/zshenv /etc/zprofile

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

  • 这是官方MacVim github wiki上提到的解决方案:https://github.com/b4winckler/macvim/wiki/Troubleshooting(在"for zsh users"标题下) (6认同)
  • 唯一对我有用的是`ln -s~/.zshrc~/.zprofile` (2认同)

ada*_*asz 9

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

ln -s ~/.zshrc ~/.zprofile
Run Code Online (Sandbox Code Playgroud)


six*_*ude 7

在Mac上为GUI应用程序设置环境变量的地方(通过loginwindow,Finder等启动的那些)是 ~/.MacOSX/environment.plist

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

有关详细信息,请参阅此帖子.

  • MacVim 7.3 不再提供在登录外壳中启动 vim 进程的选项。 (2认同)