Wie kann ich den gesamten Scrollback in einer tmux-Sitzung in eine Datei schreiben?
capture-panel
kann den aktuellen Bildschirm erfassen, aber nicht den gesamten Scrollback.
Akzeptierte Antwort:
Dies hängt vom Wert von history-limit
ab die Sie in Ihrer .tmux.conf
eingestellt haben – der Standardwert ist 2000; Wenn Sie mehr erfassen möchten, müssen Sie die Anzahl der Zeilen explizit festlegen.
Um das gesamte Scrollback zu erfassen, wechseln Sie in den Kopiermodus, wählen Sie das gesamte Scrollback aus, ziehen Sie es in den Puffer und fügen Sie es dann in Ihre Datei ein.
Wie Sie dies bewerkstelligen, hängt von den mode-keys
ab Option, die Sie bevorzugen, vi oder emacs. man tmux
hat eine hilfreiche Tabelle, die die jeweiligen Tasten beschreibt.
Ich habe folgendes in meiner .tmux.conf
zur Vereinfachung:
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
Der Prozess zum Erfassen des vollständigen Scrollbacks ist dann:
Präfix Esc :Um in den Kopiermodus zu wechseln
v :um mit der visuellen Auswahl zu beginnen (vorausgesetzt, Sie befinden sich bereits am unteren Rand des Bildschirms)
g g :um alles im Scrollback festzuhalten
y :um es in den Puffer zu ziehen
Präfix c :Öffne ein weiteres tmux-Fenster
vim scrollback.txt
ich :Wechseln Sie in den Einfügemodus in vim
Präfix p :in Datei einfügen
Es gibt hier auch eine Antwort, die beschreibt, wie man den Puffer mit xsel
in eine temporäre Datei kopiert das könnte nützlich sein.