Wie portiere ich meinen aktuellen Bash-Verlauf beim Öffnen einer Tmux-Sitzung?

Wie portiere ich meinen aktuellen Bash-Verlauf beim Öffnen einer Tmux-Sitzung?

Ich befinde mich oft in dieser Situation:

  • Ich beginne, etwas in einem Terminal zu tun.
  • Ich brauche mehr Platz im Terminal, also öffne ich tmux.
  • Der Verlauf ist weg, sogar die Befehle, die ich in tmux ausführen wollte.

Wie kann ich den aktuellen Bash-Verlauf in eine neue Tmux-Sitzung übertragen? Idealerweise etwas, das ich zur Tmux-Konfiguration hinzufügen kann, und andernfalls etwas, das ich in einen Alias ​​wie einfügen kann tmuxhist.

Antwort1

Fügen Sie dies in Ihr ein ~/.bashrc:

export PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
shopt -s histappend

Diese Lösung ist nicht tmux-spezifisch, sie funktioniert auch mit GNU-Bildschirmen oder Terminals mit Registerkarten oder einfach beim Öffnen neuer xterm-Fenster. Im Wesentlichen heißt es: „Bei jedem Befehl an den Verlauf anhängen und sicherstellen, dass Bash die Verlaufsdatei beim Beenden nicht leert.“

Das bedeutet auch, dass Sie in tmux einen neuen Bereich öffnen und mit Strg+P den letzten im vorherigen Bereich ausgeführten Befehl abrufen können.

Antwort2

history -w; tmuxfunktioniert einigermaßen.

alias tmuxhist='history -w; tmux'erstellt einen Alias ​​dafür.

Leider ist esnicht möglichum Befehle hinzuzufügen, die beim Start in der tmux-Konfiguration ausgeführt werden sollen.

verwandte Informationen