vimから外部コマンドを実行すると$PATHがなんかへん
結論
PATHを記述するファイルを変更する zshrc -> zshenv
現象
zshからコマンドを実行した場合の$PATH
% echo $PATH /usr/local/bin:/Users/okamura/perl5/perlbrew/bin:/Users/okamura/perl5/perlbrew/perls/perl-5.12.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
viからコマンドを実行した場合の$PATH
:!echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/okamura/perl5/perlbrew/bin:/Users/okamura/perl5/perlbrew/perls/perl-5.12.2/bin
理由(たぶん)
こういうことだろうか
- zshrcに記述された内容はシェルでは有効、viを起動した場合、この設定は有効にならない
- zshenvに記述された内容はシェルでも有効、viを起動した場合も有効
うーん。今までzshrcに記述していたけど、今度からzshenvに書くようにしよう。