TMuxを使用して現在のコマンドラインの上からスクロールバッファの内容をプログラムで取得する方法はありますか?
基本的には、一致する文字列が見つかるまで上向きに繰り返すbashスクリプトを作成したいと思います。明らかに、入力したコマンドの履歴を見たくありません。コンソールに表示されるすべての内容を見たいです。
答え1
そしてマルチプレクサ1.5以降では、-S
スクロールバックバッファにアクセスするオプションに負の数を指定できます。capture-pane
例:
戻るスクロールバッファの最大32768行とウィンドウの現在のテキストをキャプチャします。
tmux capture-pane -pS -32768
最新の「スクロールオフ」の10行目だけをキャプチャします。
tmux capture-pane -pS -10 -E -10
最新の「スクロールオフ」100行をキャプチャします(最大)。
tmux capture-pane -pS -100 -E -1
ウィンドウの現在の一番上の行から11行(5つの「スクロールオフ」行とウィンドウの最上6行)をキャプチャします。
tmux capture-pane -pS -5 -E 5
注:ほとんどの場合とは異なりマルチプレクサ-t
「現在」ウィンドウが検索したいウィンドウではない場合は、コマンドを使用して特定のウィンドウをターゲットにすることができます。
上記の例では、起動時にのみ使用できる-p
オプションも使用しています。capture-pane
マルチプレクサ1.8。以前のバージョンでは、次の方法を使用して問題を解決できますsave-buffer
。
tmux capture-pane -S -32768 \; save-buffer - \; delete-buffer