Come posso scrivere tutto lo scorrimento in una sessione tmux su un file?
capture-panel
può catturare la schermata corrente, ma non l'intero scorrimento.
Risposta accettata:
Questo dipende dal valore di history-limit
che hai impostato nel tuo .tmux.conf
– il valore predefinito è 2000; se desideri catturarne di più, dovrai impostare in modo esplicito il numero di righe.
Per acquisire l'intero scorrimento, accedi alla modalità di copia, seleziona l'intero scorrimento e trascinalo nel buffer, quindi incollalo nel tuo file.
Il modo in cui lo realizzerai dipenderà dai mode-keys
opzione che preferisci, vi o emacs. man tmux
ha un'utile tabella che descrive le rispettive chiavi.
Ho quanto segue nel mio .tmux.conf
per semplificare:
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
Il processo per acquisire lo scorrimento completo è quindi:
Prefisso Esc :per entrare in modalità copia
v :per iniziare la selezione visiva (supponendo che tu sia già nella parte inferiore dello schermo)
g g :per catturare tutto nello scorrimento
e :per trascinarlo nel buffer
Prefisso c :apre un'altra finestra di tmux
vim scrollback.txt
io :entra in modalità inserimento in vim
Prefisso p :incolla nel file
C'è anche una risposta qui che descrive come copiare il buffer in un file temporaneo usando xsel
potrebbe essere utile.