Wie kann man eine Shell für vim angeben?

12

Kann ich meine Shell für vim angeben? Ich verwende OS X und habe zsh über Homebrew installiert und verwende MacVim. Wenn ich shellMacVim eingebe, wird die Shell als geöffnet bash. Wie kann ich es als geöffnet haben zsh?

neezer
quelle
4
vim verwendet standardmäßig die vom System konfigurierte Shell. Ich vermute, Sie führen zsh irgendwo in Ihrem Profil oder Ihrem Bash-Profil aus. Versuchen Sie zu laufen chsh, um Ihre Shell auf Ihrem Mac zu ändern.
mkomitee
@mkomitee Ich wünschte, es wäre so , und Vanilla Vim, die von einem Terminal aus läuft, macht das ganz gut. Aber auf Anhieb habe ich MacPorts 'Bash als meine Shell festgelegt (verifiziert mit chsh), aber MacVim hat es verwendet, /bin/shals ich :shausfiel. Ich dachte, es könnte eine seltsame Sache mit App-Sicherheit / Sandboxing mit neueren Versionen von macOS sein, aber hier ist diese Frage aus dem Jahr 2011 .
TheDudeAbides

Antworten:

17

Fügen Sie die folgende Zeile hinzu oder ändern Sie sie ~/.vimrc:

set shell=/path/to/zsh
Andrejs Cainikovs
quelle
1
Das funktioniert bei mir nicht. Ich set shell=/bin/bashgebe in ~ / .vimrc an, aber wenn ich die Ausgabe ausführe :shellund tippe, echo $SHELList /bin/zsh.
Daniel Kats
3

Der Ruf, einen Kommentar hinzuzufügen, reicht nicht aus. Dies ist als Antwort auf den @ BlackSheep-Kommentar in der akzeptierten Antwort gedacht:

Trotz der ähnlichen Syntax gilt set shell=/bin/bashdies nicht für Shell-Variablen, sondern für Variablen, die innerhalb von vi liegen, sodass Sie eine Shell ausführen können, auch wenn die Shell des Systems für den aktiven Benutzer keine echte ist.

Sie können :set shell=/bin/bashdann auch verwenden, :shwenn Sie nicht ändern möchten~/.vimrc

zeiky.dev
quelle
:shfunktioniert für meinen Fall.
Elquimista