tmuxとクリップボードの間のテキスト選択項目のコピー/貼り付け

tmuxとクリップボードの間のテキスト選択項目のコピー/貼り付け

私は最新バージョンのtmux(gitリポジトリで)とxclip(0.12)を実行しており、Emacsなどのキーバインディングを使用してからテキストを移動し、選択内容をクリップボードにcopy-modeコピー()したいと思います。M-w)コピーバッファからC-yクリップボードに貼り付け()します。

C-yこれまでは、Emacsのようなキーバインディングを使用してテキストを貼り付けて移動できましたが、copy-modeまだテキストをコピーできませんtmuxバッファ内(例:in copy-mode

私が見つけたこのスレッドバッファ全体をクリップボードにコピーしたり、その逆にコピーしたりすることがありますが、私には機能しないようです。

また、tmux-usersメーリングリストから最新バージョンのtmux(gitリポジトリにのみ存在する)がというコマンドを提供していると聞きましたcopy-pipe。マニュアルページでは、このコマンドについて次のように説明します。

コマンドの1つは、選択をコピーしてコマンドにパイプするcopy-pipeという1つの引数を受け入れます。たとえば、次のコマンドは「Cq」をバインドして、選択内容を/ tmpおよび貼り付けバッファにコピーします。

       bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"

copy-pipe選択項目を別のコマンドにパイプするために部分的に使用されているようです。この説明と命令にも少し誤字があるようです。 (何ですかtemacs-copy?)

とにかく私がしたいことは次のとおりです。

コピー:

  1. コピーモード開始
  2. Emacsナビゲーションコマンドを使用して、コピーしたいテキストに移動します(C-fカーソルを移動するには、、、C-bなどM-f)。M-bC-aC-eプレフィックスなしそれらのどれにでも。
  3. 選択したテキストをクリップボードにコピーするには、次のコマンドを使用しますM-wプレフィックスなし誰でも)

生地:

  1. C-y(いいえ)を入力してcopy-mode端末にテキストを貼り付けることができます(プレフィックスなし誰でも)

次のレプリケーション方法を試しましたが、成功しませんでした。

bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard" 

しかし、貼り付けはうまくいきます。

bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"

奇妙なことに、xclip -i -selection clipboard上記のコピーコマンドの「」部分が正しく機能していることがわかります。私はできます。コマンドラインからコンテンツをクリップボードにコピーします。例:

echo "Hello world. How are you?" | xclip -i -selection clipboard

これらすべて、コピーモードで選択内容をクリップボードにコピーするには?

ベストアンサー1

新しいバージョンのtmux(1.8+)では、次のコマンドを使用します tmux.confcopy-pipe

set -g mouse on
# To copy:
bind-key -n -t emacs-copy M-w copy-pipe "xclip -i -sel p -f | xclip -i -sel c "

# To paste:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
  1. prefix+[コピーモード開始
  2. マウスでコンテンツを選択する(長押し)
  3. M-wこのセクションをシステムクリップボードにコピーします。
  4. C-ytmuxに貼り付け、C-vWebブラウザなどの他の一般的なアプリケーションに貼り付けます。

おすすめ記事