我正在使用 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。
我不能說為什麼他們更喜歡這樣做,但這似乎是真的。在首選項(在“高級”選項卡下)中,您可以選擇“在登入 shell 中啟動 Vim 進程”,但這$PATH
對我來說僅略有改善。
據我所知,MacVim 使用/usr/libexec/path_helper
- 依次使用 (1)/etc/paths
檔案中找到的項目和 (2) 目錄中找到的任何其他內容/etc/paths.d/
。在使用者主目錄(透過.profile
等)中所做的任何變更都將被忽略。
簡而言之,您可以獲得 OSX 默認設置,並將自身添加到/etc/paths.d
. (例如,MacTex 在我的系統上就是這樣做的。)因此,如果您想調整 MacVim 路徑,一種方法是將包含項目的文件添加到/etc/paths.d
. (我不會直接編輯,/etc/paths
因為這樣您就面臨系統更新撤銷變更的風險。)
謝謝你讓我知道這一點。我要去 MacVim 提交一個願望清單錯誤。
答案2
順便說一句,「在登入 shell 中啟動 Vim 進程」首選項在 MacVim 中不再可用(至少 v7.3 不再可用)。我發現從 Finder 啟動 MacVim 會得到錯誤的路徑,但從 shell(如“mvim”)啟動它會得到正確的路徑。
答案3
它不是來自 .bash_profile,但您可以在 .vimrc 中使用它:
let $PATH=$PATH . ':/blah/foo'
您必須有 : 否則它不會是正確的 PATH 變數。
答案4
MacVim 將獲取~/.zprofile
和/etc/profile
,因此您可以將您的PATH
設定放在那裡。
看https://github.com/b4winckler/macvim/wiki/Troubleshooting#for-zsh-users和Stack Overflow 上的這個問題。
(使用 MacVim 版本 7.3 (65) 進行測試)。