OS X Lion verfügt über die Funktion "Fortsetzen". Wenn Sie eine App erneut öffnen, werden alle Fenster und deren Inhalte wiederhergestellt. Das funktioniert auch bei Terminal. Wenn Sie jedoch Zsh anstelle von Bash verwenden, wird das geöffnete Verzeichnis nicht wiederhergestellt. Wie kann ich das beheben?
terminal.app
zsh
osx-lion
Simon Perepelitsa
quelle
quelle
Antworten:
UPDATE : Dies ist aus den in den Kommentaren genannten Gründen nicht ganz korrekt. Verwenden Sie die Antwort unten . Vielen Dank an @ChrisPage für die Extrameile :)
Die Antwort kann durch Reverse Engineering gefunden werden
/etc/bashrc
. Ich habe viele Ansätze aus dem Internet ausprobiert, aber Apples Weg scheint am besten zu funktionieren (siehe Abbildung).Fügen
.zshrc
Sie Folgendes hinzuViel Spaß bei der Wiederaufnahme.
quelle
chpwd
wieprintf '\e]7;%s\a' "$PWD_URL"
mit den Anführungszeichen. Danke für den Tipp.Hier ist meine Anpassung von / etc / bashrc für zsh. Ich habe die Prozentcodierung aller URL-Zeichen eingefügt, die dies erfordern. Dies ist wichtig, wenn Sie möchten, dass dies mit allen gültigen Datei- und Verzeichnisnamen funktioniert.
Dadurch wird ein
precmd
Hook registriert , mit dem mehr als eine Funktion in anderen Skripten und Konfigurationsdateien registriert werden kann.AKTUALISIERT März 2019: Auf
LC_ALL
leer setzen, damit es nicht außer Kraft gesetzt wirdLC_CTYPE
. Verwenden Sieprecmd
diese Option, um das Arbeitsverzeichnis bei jeder Eingabeaufforderungchpwd
zu aktualisieren, anstatt es bei jeder Änderung zu aktualisieren. Befehls-Pipelines können es vorübergehend ändern, und das Terminal sollte diese nicht anzeigen. Es kann auch hilfreich sein, bei jeder Eingabeaufforderung den Terminalstatus zu aktualisieren, falls er während des vorherigen Befehls geändert wurde. Verwenden Sieprintf -v
diese Option, um explizit in die Variable zu schreiben, anstatt die Subshell-Syntax zu verwenden.quelle
terminalapp
Plugin..zprofile
oder was auch immer einfügen müssen , wie ich es getan habe, bevor Sie realisiert haben, dass es tatsächlich in verfügbar istoh-my-zsh
. Es ist in der Tat genau die gleiche Lösung und Sie verdienen alle Ehre.