Vimの$PATHがターミナルと一致しない

Vimの$PATHがターミナルと一致しない

私は MacVim を使用していますが、ターミナル ( ) から起動しないと、mvim$PATH に .bash_profile で設定した内容が含まれません。デフォルト値のみが含まれているようです/usr/bin:/bin:/usr/sbin:/sbin

私は OS X 10.5.8 を実行しています。.vimrc で手動で設定できれば問題ありませんが、ターミナルと同じ場所から取得したいです。あるサイトで提案された方法に従って追加してみましたが、let $PATH += /blah/foo:/bar/etc効果はありませんでした。

編集/解決策:以下の私の回答を参照してください。MacVim にはこれを修正するオプションがあります。

答え1

マックビム通常ユーザーのカスタム ドットファイルを無視する方法で $PATH を取得しているようです。

言えないなぜ彼らはこの方法を好むようですが、それは本当のようです。設定(詳細タブの下)で、「ログイン シェルで Vim プロセスを起動する」を選択できますが、$PATH私にとってはわずかに改善されるだけです。

私の知る限り、MacVim は/usr/libexec/path_helper- を使用します。これは、(1) ファイル内で見つかった項目/etc/pathsと (2) ディレクトリ内で見つかった追加の項目を使用します/etc/paths.d/。ユーザーのホーム ディレクトリ (など) で行われた変更は.profile無視されます。

簡単に言えば、OSX のデフォルトに加えて、 に自身を追加するアプリケーションも入手できます/etc/paths.d。(たとえば、私のシステムでは MacTex が に追加されます。) したがって、MacVim パスを調整する場合、1 つの方法は、 に項目​​を含むファイルを追加することです。(直接編集すると、システム更新によって変更が元に戻されるリスクがあるため、/etc/paths.d直接編集することはお勧めしません。)/etc/paths

教えてくれてありがとう。MacVim でウィッシュリストのバグを報告しに行きます。

答え2

ちなみに、「ログイン シェルで Vim プロセスを起動」設定は、MacVim ではもう利用できません (少なくともバージョン 7.3 では)。Finder から MacVim を起動すると間違ったパスが取得されますが、シェルから起動すると (「mvim」として) 正しいパスが取得されます。

答え3

これは .bash_profile から取得されるものではありませんが、.vimrc でこれを使用できます。

let $PATH=$PATH . ':/blah/foo'

: を指定しないと、正しい PATH 変数になりません。

答え4

~/.zprofileMacVim はと をソースする/etc/profileので、PATHそこに設定を入れることができます。

見るhttps://github.com/b4winckler/macvim/wiki/トラブルシューティング#zshユーザー向けそしてStack Overflowのこの質問

(MacVimバージョン7.3(65)でテスト済み)。

関連情報