MacVimを使用していますが、ターミナル(mvim
)から起動しない場合、その$ PATHには.bash_profileに設定したものが含まれていません。デフォルト値/usr/bin:/bin:/usr/sbin:/sbin
しかないようです。
OS X10.5.8を実行しています。 .vimrcで手動で設定できたとしても、ターミナルと同じ場所からプルしたいのですが、問題ありません。あるサイトが提案した内容に従って、let $PATH += /blah/foo:/bar/etc
を追加してみました。
編集/解決策:以下の私の答えを参照してください。 MacVimには、これを修正するオプションがあります。
MacVim は、通常のユーザーのカスタムドットファイルを無視する方法で$ 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でウィッシュリストのバグを報告します。
ところで、「ログインシェルでVimプロセスを起動する」設定はMacVimでは使用できなくなりました(少なくともv7.3では使用できません)。 FinderからMacVimを起動すると間違ったパスが取得されますが、シェルから( "mvim"として)起動すると正しいパスが取得されます。
.bash_profileから供給されていませんが、.vimrcでこれを使用できます。
let $PATH=$PATH . ':/blah/foo'
:が必要です。そうしないと、正しいPATH変数になりません。
これまで見たことがなかったなんて信じられません。さて、私はそれを信じることができます。とにかく、MacVimにはこれを解決するオプションが付属しています。 [設定]で、[ログインシェルでVimプロセスを起動する]をオンにします。それだけです、それは動作します。おしゃれ。愚かな私。
テレマコスがすでに私に 正解 を与えていることに気づかずに、私は誤ってこの答えを書きました。彼を答えとしてマークしました。
このMac Dev Centerの記事 役に立つかもしれません。
私は今日これに遭遇しました。 MacVimには「ログインシェル」オプションがなくなり、システム全体のファイルをユーザー固有の設定で編集するのは大雑把です。
これはvimオプションのみを使用した解決策です(:help :!
および:help Shell
を参照)。
~/.vimrc
に行を追加します
set Shell=/bin/bash
set shellcmdflag=-l\ -c
これにより、bash
が(Mac)Vimのデフォルトのシェルになり、-l
で呼び出されるコマンドに:!{cmd}
フラグ(ログインシェル)が追加されます。 :Shell
を実行すると、bashは「ログインシェルではないインタラクティブシェル」として起動されます。
$PATH
を機能させるには、~/.bash_profile
の場合は:!
に、~/.bashrc
の場合は:Shell
に設定する必要があります。 (man bash
のINVOCATION
を参照)
更新:これは他のコンピューターでは必要なかったので、根本的な原因は他にある可能性があります。
MacVimは~/.zprofile
と/etc/profile
を調達するので、そこにPATH
設定を入れることができます。
https://github.com/b4winckler/macvim/wiki/Troubleshooting#for-zsh-users および Stack Overflowに関するこの質問 を参照してください。
(MacVimバージョン7.3(65)でテスト済み)。
パス.dディレクトリにファイルを追加するのに問題はありませんでした。 mysqlというファイルを追加しました。その内容は次のとおりです。
/ usr/local/mysql/bin [戻る]
次に、このファイルをpaths.dディレクトリの下に置き、所有権をroot:wheelに変更しました。これで、mysqlディレクトリが$ PATH変数に自動的に追加されます。
十分に調査していませんが、(a)行末に[RETURN]を含めるか、(b)ファイルの所有権をrootに設定する必要があるかもしれません。
私は非常によく似た質問をしました Vim StackExchangeサイトで そして私のために働く答えをそこに投稿しました!
私はMacよりもUNIXのことをよく知っているので、次のアドバイスが機能する場合と機能しない場合があります。これをあなたの.vimrcファイルに入れてみてください:
! source ~/.bash_profile
それでうまくいくかもしれませんが、少し注意が必要です。bash_profileは1回だけソースされることを意図しています。べき等でないコマンド(1回だけ実行する必要があるもの)が含まれている場合があります。適例:
$PATH += /blah/foo:/bar/etc
呼び出される回数が多いほど、$PATH
は大きく冗長になります。ただし、それがそれほど大したことではない場合、unixでの推奨事項は、1回限りのコマンドを~/.bashrc
に配置し、source ~/.bashrc
ファイルから.vimrc
を実行することです。