TMuxスクロールバッファの内容を取得する

TMuxスクロールバッファの内容を取得する

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

関連情報