$PATH variable not properly set in gvim/MacVim when it is opened from the finder

sixtyfootersdude picture sixtyfootersdude · Jul 27, 2010 · Viewed 7.5k times · Source

I am using MacVim (basically gvim for the mac).

If I open macvim from the command line then my $PATH variable will be properly set.

If I open macvim via point and click with the finder, the $PATH variable will NOT be properly set.

Can anyone give me some insight?

Note: I know at least part of my path is set in ~/.bashrc, but I am not sure where the rest of it is set.


Examples:

If I open macvim from the terminal:

% gvim basic.tex 

And then in MacVim I go:

:!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 

This is the right path.


When I open the file with the mouse (in finder)

When I go:

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

It gives me a little path. Why?

Answer

Tim Clem picture Tim Clem · Sep 12, 2011

I had this same issue but it only appeared after setting my default shell to zsh like so

export SHELL=/bin/zsh

It seems that there is a bug in the OS X zsh setup. The work around in brief is to merge /etc/zshenv into /etc/zprofile. In my case I didn't have a /etc/zprofile so just moving over the file did the trick:

sudo mv /etc/zshenv /etc/zprofile

This post describes the solution in more detail.