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; tmux
funktioniert 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.