2

По какой-то причине кажется, что vim (установленный через macports: VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 25 2013 01:56:26) префикс моей переменной $ PATH преобразуется в файлы /etc /paths.

Хотя я не возражаю против их добавления, очень удобно, что он во всех случаях ставит перед моим путем префикс таким образом, что я не могу его переопределить (или, по крайней мере, я не нашел способа сделать это).

Пример проблемы:

" First we overwrite $PATH with something to show the problem
:let $PATH='just_some_non_existing_dir'

" Now print the path in the shell to show the problem (note the !)
:!echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:just_some_non_existing_dir

Как я могу предотвратить использование Vim префикса $ PATH для каждой внешней команды, которую я выполняю?

Немного информации о моем окружении:

OS X: 10.8.2 VIM: Vi IMproved 7.3 (15 августа 2010 г., скомпилировано 25 февраля 2013 г. 01:56:26) zsh: 4.3.11 (i386-apple-darwin12.0)

Обратите внимание, что я запускаю zsh как оболочку.

1 ответ1

1

Благодаря большой помощи @IngoKarkat и @romaini я нашел решение. Вот некоторая информация для людей, чтобы отладить эту проблему:

# To figure out which shell Vim is executing:
:set shell
:set shellcmdflag
# The response of these 2 concatenated are what will be executed by Vim

Теперь, когда вы знаете, что он работает, выйдите из Vim и запустите его в локальной оболочке, чтобы увидеть результаты (в моем случае, «zsh -c»):

# zsh -c 'echo $PATH'

Если это не так, это может быть что-то в ваших .zshrc , .profile , /etc/profile , /etc/zsh/zshrc , /etc/zshrc или одном из многих других файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .