Derzeit habe ich zsh so eingerichtet, dass der Befehlsverlauf sofort zwischen allen Sitzungen geteilt wird.
Angenommen, ich habe einen Terminal-Emulator mit zwei Registerkarten geöffnet, die jeweils eine zsh-Sitzung haben, A1 und A2. Wenn ich ls -la in A1 eingebe und dann zu A2 gehe und die Aufwärtspfeiltaste drücke, wird ls -la in der Eingabeaufforderung angezeigt.
Ich möchte es ändern, damit Sitzungen den Befehlsverlauf nicht miteinander teilen, obwohl beim Starten einer neuen Sitzung der gesamte vorherige Verlauf aller Sitzungen davor abgerufen wird.
zsh
command-history
Kunst
quelle
quelle
Antworten:
Sie haben wahrscheinlich
INC_APPEND_HISTORY
festgelegt.Die
INC_APPEND_HISTORY
Option, vonman zshoptions
:Die gewünschte Option ist
APPEND_HISTORY
:Sie können über diese Optionen in das lesen
man zshoptions
,man zshall
oder online hier .Um sie in Ihr
~/.zshrc
oder ein ähnliches Format zu setzen, sollten Sie Folgendes haben:Beachten Sie, dass, wenn Sie oh-my-zsh standardmäßig verwenden, ich glaube,
INC_APPEND_HISTORY
verwendet wird. Ich bin nicht zu 100% sicher, in welche Richtung die Dinge geladen werden, aber wenn dieoh-my-zsh
Option die von Ihnen festgelegte überschreibt~/.zshrc
, können Sie damit experimentieren~/.oh-my-zsh/lib/history.zsh
quelle
echo unsetopt INC_APPEND_HISTORY >~/.oh-my-zsh/custom/history.zsh
Wenn Sie zur akzeptierten Antwort hinzufügen möchten, ist
oh-my-zsh
dieSHARE_HISTORY
Option wahrscheinlich standardmäßig aktiviert.Um eine Trennung zwischen laufenden Granaten und der gesamten Historie in einem neu geöffneten Terminal zu erreichen, müssen Sie die folgende Zeile kommentieren oder entfernen:
von
~/.oh-my-zsh/lib/history.zsh
quelle
~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
unsetopt share_history
das.zshrc
After zuoh-my-zsh
laden. Dokumentierte hier .