Как указать оболочку для vim?


12

Могу ли я указать свою оболочку для vim? Я использую OS X и установил zsh через Homebrew и использую MacVim. Когда я shellнабираю в MacVim, оболочка открывается как bash. Как я могу открыть это как zsh?


4
По умолчанию vim будет использовать настроенную оболочку вашей системы. Я подозреваю, что вы используете zsh где-то в вашем профиле или в вашем профиле bash. Попробуйте запустить, chshчтобы изменить вашу оболочку на вашем Mac.
Мкомитее

@mkomitee Я хотел бы, чтобы это произошло , и ванильный Vim, запущенный из терминала, прекрасно справляется с этим. Но, прямо chshскажем, у меня в качестве оболочки установлена ​​Bash MacPorts (проверено с помощью ), но MacVim использовал, /bin/shкогда я :shвышел из игры. Я думал, что это может быть какой-то странной проблемой безопасности приложений / песочницы в последних версиях macOS, но вот этот вопрос от 2011 года .
TheDudeAbides

Ответы:


17

Добавьте или измените следующую строку в ~/.vimrc:

set shell=/path/to/zsh

1
Это не работает для меня. Я указываю set shell=/bin/bashв ~ / .vimrc, но когда я выполняю :shellи echo $SHELLвывод типа есть /bin/zsh.
Даниэль Кац

3

Недостаточно репутации для добавления комментария, это подразумевается как ответ на комментарий @BlackSheep в принятом ответе:

Несмотря на схожий синтаксис, set shell=/bin/bashпеременная применяется не к переменным оболочки, а к переменным, которые являются внутренними по отношению к vi, поэтому вы можете запустить оболочку, даже если системная оболочка для активного пользователя не является реальной.

Также вы можете использовать :set shell=/bin/bashтогда, :shесли вы не хотите изменять~/.vimrc


:shработает для моего случая.
Elquimista
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.