iTerm2 (Version 3): Individueller Verlauf pro Registerkarte?

iTerm2 (Version 3): Individueller Verlauf pro Registerkarte?

Ich verwende iTerm2 (Version 3) und bin zufrieden damit. Aber etwas, das schon seit einiger Zeit passiert und wirklich nervig ist, ist, dass der Befehlsverlauf zwischen den Tabs geteilt wird. Führen Sie beispielsweise in Ihrem ersten Tab „command“ foound „command“ aus bar, wechseln Sie dann zu Ihrem zweiten Tab und führen Sie „aus“ aus say Hellound gehen Sie dann zurück zum ersten Tab. Ich würde gerne und erwarte, dass der Aufwärtspfeil „ barund“ dann „ vorschlägt foo“, aber stattdessen wird „vorgeschlagen“ say Hello.

Gibt es eine Möglichkeit, dieses Verhalten zu korrigieren?

Antwort1

Wenn Sie zsh verwenden, fügen Sie diese beiden Zeilen ~/.zshrcnach der Zeile hinzusource $ZSH/oh-my-zsh.sh

unsetopt inc_append_history
unsetopt share_history

Aus zshopping(1) - Linux-Manpage:

INC_APPEND_HISTORY

Diese Option funktioniert wie APPEND_HISTORY, außer dass neue Verlaufszeilen inkrementell zu $HISTFILE hinzugefügt werden (sobald sie eingegeben werden), anstatt zu warten, bis die Shell beendet wird.

GESCHICHTE TEILEN

Diese Option importiert sowohl neue Befehle aus der Verlaufsdatei als auch bewirkt, dass Ihre eingegebenen Befehle an die Verlaufsdatei angehängt werden (letzteres entspricht der Angabe von INC_APPEND_HISTORY).

Der Verfasser des Beitrags hat angedeutet, dass dies eher die Option war, nach der er gesucht hat:

APPEND_HISTORY

Wenn dies festgelegt ist, hängen Zsh-Sitzungen ihre Verlaufsliste an die Verlaufsdatei an, anstatt sie zu ersetzen. Somit werden bei mehreren parallelen Zsh-Sitzungen alle neuen Einträge aus ihren Verlaufslisten in der Reihenfolge, in der sie beendet werden, zur Verlaufsdatei hinzugefügt.

Antwort2

Zusatzinfos zur perfekten Antwort von harrymc.

Dies ist nicht Iterm2, sondern eine Funktion von zsh, die standardmäßig aktiviert wird, wenn Sie verwendenoh mein Gott

(sehen:https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh)

Fügen Sie diese also in Ihre .zshrc-Datei ein source $ZSH/oh-my-zsh.sh(siehe harrymcs Antwort)

unsetopt inc_append_history
unsetopt share_history

Antwort3

Sie können Ihre Umgebungsvariable HISTFILE auf einen eindeutigen Wert festlegen, ich lösche sie jedoch einfach in meinem .bashrcDatei:

export HISTFILE=""

aber ich möchte meinen Verlauf nicht in einer Datei speichern. Durch Aufheben der Einstellung wird der Verlauf einfach im Speicher gespeichert.

Antwort4

Für BashBenutzer fügen Sie einfach diese beiden Zeilen in Ihre~/.bashrc

shopt -s histappend
PROMPT_COMMAND="history -a;history -c;history -r;$PROMPT_COMMAND"

Stellen Sie sicher, dass Sie einen neuen Tab öffnen, damit dies wirksam wird

verwandte Informationen