tmuxバッファ全体をクリップボードにコピーするには?

tmuxバッファ全体をクリップボードにコピーするには?

これでこのコマンドを実行しcapture-pane -S -3000、次のキーバインディングを使用してこれを行うことができます。

bind C-y run "tmux save-buffer - | clip"

これを行うには、を入力して押す必要があることcapture-pane -S -3000を覚えておく必要がありますCtrl+BCtrl+Y

たとえば、次のように1つの手順で実行したいと思います。

bind C-y capture-pane -S -3000; run "tmux save-buffer - | clip"

しかし、これはうまくいきません。

tmux理想的には、バッファからコピーする行数を尋ねるのが良いでしょう。たとえば、

bind C-y capture-pane -S -ASK_HOW_MANY_LINE_TO_INPUT; run "tmux save-buffer - | clip"

Ctrl+B次に、を押してCtrl+Y3000と入力し、Enterを押して最後の3000行を取得します。

答え1

Cyをバインドし、「tmux Capture-pane -pS-|clip」を実行します。

Bind Cy コマンドプロンプト -p "何行ですか?" '"tmux Capture-pane -pS-%%%|clip"を実行

答え2

正解はxclip -i代わりに使用することですclip: `

bind-key C-y run "tmux capture-pane -pS-|xclip -i"

bind-key C-y command-prompt -p "How many lines?" 'run "tmux capture-pane -pS-%%%|xclip -i"'

tmuxしかし、それでも問題が多いので動作しません。この機能を初めて使用してからを押すと、tmux動作が停止して無視されました。Ctrl+BCtrl+Y

あなたが試してみてくださいhttps://github.com/tmux-plugins/tmux-yankただし、SSH経由で接続している場合、この方法は機能しません。したがって、この機能を使用せずにすべてのタスクを手動で実行する他のユーザーができることはあまりありません。

  1. 最後の3000レコードレコードを保存するには、Ctrl+Beと入力Shift+:して次のように入力してバッファcapture-pane -S -3000にコピーします。tmux
  2. 最後に、キーを押して入力してCtrl+BコンソールShift+:履歴save-buffer ~/filename.txtをファイルに保存します。tmux現在のパスは直接尊重されず、どこにも保存されないため、絶対パスを使用する必要があります。
  3. これで、リモートコンピュータのファイルの内容をローカルコンピュータにコピーする必要があります。 Windowsを使用している場合は、Filezillaリモートコンピュータを使用または接続するだけです。WinSCP

関連情報