Я использую MacVim, и когда я не запускаю его из Terminal ( mvim
), его $ PATH не включает то, что я установил в своем .bash_profile. Кажется, только значения по умолчанию /usr/bin:/bin:/usr/sbin:/sbin
.
Я использую OS X 10.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, одним из способов будет добавление файла с элементами/etc/paths.d
. (Я бы не стал редактировать напрямую/etc/paths
с тех пор, как вы рискуете, что изменения будут отменены обновлениями системы.)Спасибо, что сообщили мне об этом. Я отправил сообщение об ошибке в MacVim.
источник
/etc/paths.d
, она появится при следующей загрузке MacVim. Какой формат вы там вводите? Я полагаю, что это должен быть один элемент в строке с каталогом $ PATH в каждой строке (например, / usr / texbin).Кстати, предпочтение «Запустить процессы Vim в оболочке входа в систему» больше не доступно в MacVim (по крайней мере, не v7.3). Я вижу, что запуск MacVim из Finder дает неверный путь, но запуск его из оболочки (как «mvim») дает правильный путь.
источник
Он не получен из .bash_profile, но вы можете использовать это в вашем .vimrc:
Вы должны иметь: или это не будет правильной переменной PATH.
источник
/usr/bin/vim
от Apple), так и/opt/local/bin/vim
(от MacPorts), и это кажется ненужным. Vim в терминале уже выбирает правильный $ PATH, полученный из моих точечных файлов.Я не могу поверить, что я не видел этого раньше. Хорошо, я могу в это поверить. В любом случае, MacVim поставляется с опцией, которая решает эту проблему. В разделе «Настройки» просто установите флажок «Запустить процессы Vim в оболочке входа». Вот и все, это работает. Snazzy. Глупый я.
ой
Я случайно написал этот ответ, не понимая, что Телемах уже дал мне правильный ответ . Помечен как ответ.
источник
Эта статья Mac Dev Center может быть полезна.
источник
У меня не было проблем с добавлением файла в каталог paths.d. Я добавил файл с именем mysql, содержимое которого было:
/ USR / местные / MySQL / бен [Return]
Затем я поместил этот файл в каталог paths.d и изменил его владельца на root: wheel. Теперь каталог mysql автоматически добавляется в мою переменную $ PATH.
Я не исследовал полностью, но, возможно, (a) включая [RETURN] в конце строки и / или (b) установку владельца файла на root, возможно, потребуется.
источник
MacVim будет источником,
~/.zprofile
и/etc/profile
, таким образом, вы можете поместить своиPATH
настройки там.См. Https://github.com/b4winckler/macvim/wiki/Trountication#for-zsh-users и этот вопрос о переполнении стека .
(Протестировано с MacVim версии 7.3 (65)).
источник
Я столкнулся с этим сегодня. MacVim больше не имеет опции «login shell», и редактирование общесистемных файлов для пользовательской настройки является схематичным.
Вот решение, использующее только параметры vim (см.
:help :!
И:help shell
).В вашем
~/.vimrc
добавить строкиЭто делает
bash
оболочку по умолчанию из (Mac) Vim и добавляет-l
флаг (оболочку входа в систему) к командам, вызываемым с помощью:!{cmd}
. При выполнении:shell
bash запускается как «интерактивная оболочка, которая не является оболочкой входа в систему».Чтобы сделать
$PATH
работу, нужно, чтобы она была установлена~/.bash_profile
для:!
и~/.bashrc
для:shell
. (См.INVOCATION
Вman bash
)ОБНОВЛЕНИЕ: Это не было необходимым на моем другом компьютере, так что, вероятно, что-то еще, что является основной причиной.
источник
$PATH
в.zprofile
и включите-l
флаг вset shell
илиset shellcmdflag
.Я знаю больше о Unix, чем о Mac, поэтому следующий совет может или не может работать. Попробуйте поместить этот файл .vimrc:
Это может сработать, но есть небольшое предостережение: .bash_profile предназначен только для одного источника. Он может содержать некоторые неидемпотентные команды (вещи, которые должны выполняться только один раз). Дело в точке:
Чем больше вызывается, тем больше и больше резервируется
$PATH
. Однако, если это не так уж и важно, рекомендуется для Unix ввести одноразовую команду~/.bashrc
и запустить ееsource ~/.bashrc
из вашего.vimrc
файла.источник
:source .bash_profile
но он просто выдает ошибку «Не команда редактора» для каждой команды в файле и то же самое с .bashrc.Я задал очень похожий вопрос на сайте Vim StackExchange и разместил там ответ, который мне подходит !
источник