tmuxから動的に名前付きバッファをエクスポートする

tmuxから動的に名前付きバッファをエクスポートする

tmux scollbackをiTerm2と私が選択したキーマップで使用するのに疲れました。バッファをテキストファイルにダンプできることに気づいた後、これはもはや必要ではなく、特に望ましくないことに気づきました。この効果を達成するための現在のバインディングは次のとおりです。

bind B capture-pane -S -999000 \; save-buffer ~/.tmux/buffers/filename

もちろん、これはfilenameバッファをダンプするたびにクラッシュします。バッファの命名形式$PANE-NAME_YYYY-MM-DD_HH:MM:SS(日付と時刻は現在のダンプの日付と時刻)が優れています。

私はそれを調査し、tmux(1)クライアントの活動に関連する時間を含むいくつかの利用可能な変数を記録しますが、正常に私のファイル名に拡張できず、.tmux.confとにかくそれが私が探しているものではないと思います。

私は明らかに何かを見逃していると確信していますが、この時点で私はそれを見つけるのに多くの時間を費やし、それを認識できるかどうかはわかりません。したより。どんな助けでも大変感謝します。

答え1

(alias)ディレクティブといくつかの追加参照を使用して、tmuxこれをシェルコマンドとして実行します。run-shellrun

bind B run "tmux capture-pane -S -999000; tmux save-buffer ~/.tmux/buffers/\"$(date +%d%m%y)\""

これにより、バッファ出力が~/.tmux/buffers/240115date

使用法についてpane_title:マニュアルページのフォーマットセクションを読むと、次のように指定されています。

一部のコマンドは、型パラメーターと共に-Fフラグを受け入れます。

残念ながら、save-bufferこれはそのようなコマンドの1つではありません。

ただし、次をlist-panes使用してこれを無視して現在のウィンドウ名を検索できます。

bind B run "tmux capture-pane -S -999000; tmux save-buffer ~/.tmux/buffers/\"$(tmux list-panes -F '#{window_name}')\"_\"$(date +%d%m%y)\""

たとえば、次のように返します~/.tmux/buffers/zsh_240115

関連情報