Я использую MacVim, и когда я не запускаю его из Терминала ( mvim
), его $PATH не включает то, что я установил в моем .bash_profile. Кажется, у него есть только значения по умолчанию, /usr/bin:/bin:/usr/sbin:/sbin
.
Я использую OS X 10.5.8. Даже если бы я мог установить его вручную в моем .vimrc, это было бы нормально, хотя я бы предпочел, чтобы он тянул из того же места, что и Terminal. Я пытался следовать тому, что предлагал один сайт, добавляя, let $PATH += /blah/foo:/bar/etc
но безрезультатно.
Редактировать/Решение:См. мой ответ ниже. В MacVim есть возможность исправить это.
решение1
MacVimпохоже, что $PATH получается таким образом, что игнорируются пользовательские dotfiles обычного пользователя.
Я не могу сказатьпочемуони предпочитают делать это таким образом, но это, кажется, правда. В настройках (на вкладке «Дополнительно») можно выбрать «Запускать процессы 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
Кстати, параметр "Запустить процессы Vim в оболочке входа" больше недоступен в MacVim (по крайней мере, в версии 7.3). Я вижу, что запуск MacVim из Finder приводит к неправильному пути, но запуск из оболочки (как "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)).