Jak mohu zapsat veškerý scrollback v relaci tmux do souboru?
capture-panel
může zachytit aktuální obrazovku, ale ne celý scrollback.
Přijatá odpověď:
To závisí na hodnotě history-limit
které jste nastavili ve vašem .tmux.conf
– výchozí hodnota je 2000; pokud chcete zachytit více, budete muset explicitně nastavit počet řádků.
Chcete-li zachytit celý scrollback, přejděte do režimu kopírování, vyberte celý scrollback, vytáhněte ho do vyrovnávací paměti a poté jej vložte do svého souboru.
Jak toho dosáhnete, bude záviset na mode-keys
možnost, kterou preferujete, vi nebo emacs. man tmux
má užitečnou tabulku popisující příslušné klíče.
Ve svém .tmux.conf
mám následující pro zjednodušení:
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
Proces zachycení úplného scrollbacku je pak:
Předpona Esc :pro vstup do režimu kopírování
v :pro zahájení vizuálního výběru (za předpokladu, že jste již ve spodní části obrazovky)
g g :pro zachycení všeho v rolování
y :vytrhnout jej do vyrovnávací paměti
Předpona c :otevření dalšího okna tmux
vim scrollback.txt
i :vstup do režimu vkládání ve vim
Předpona p :vložit do souboru
Je zde také odpověď popisující, jak zkopírovat vyrovnávací paměť do dočasného souboru pomocí xsel
to by mohlo být užitečné.