macOSのiTerm2でマウスでtmuxからテキストを選択すると、選択したテキストがクリップボードにコピーされます。 [追加]ボタンをクリックする必要はありませんでした。目的のテキストのみを選択すると、操作が完了します。
macOSのTerminal.appでtmuxをテストしましたが、動作しません。y
選択内容をクリップボードにコピーするにはクリックする必要があります。
私はマウスバインディング(それと似ていますMouseOnSelection
)があると思いますMouseDown1Pane
が、Webやその周辺では役に立つものが見つかりませんman tmux
。
Ubuntu 16.10(好ましくはGnome Terminal)で同様の動作を達成する方法があるかどうか疑問に思います。
ベストアンサー1
Tmux 2.4+はviコピーモードにバインドされていますクリップ:
set-option -g mouse on
set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
以前のバージョンのtmux、emacsコピーモードバインディング(デフォルト)、またはX以外のプラットフォーム(xclipなし)の場合は、以下のガイドラインを参照してください。
手順:まず、tmuxがマウスをキャプチャしてマウスイベントをバインドできるように、マウスオプションを有効にする必要があります。
set-option -g mouse on
set-clipboard
Gnome-terminalはxtermエスケープシーケンスを使用したクリップボード設定をサポートしていないため、対応するオプションがオフになっていることを確認する必要があります。
set-option -s set-clipboard off
このオプションはiTerm2でデフォルトでサポートされ有効になっています(set-clipboard
tmuxのマニュアルを参照)。ここでは動作について説明します。
次に、MouseDragEnd1Pane
コピーモード"キー"(つまり、ウィンドウ内でクリックしてドラッグした後、最初のマウスボタンを放すとき)を現在のコピーモードの選択(デフォルトのバインディングによって実行されますMouseDrag1Pane
)を取得するtmuxコマンドにバインドし、それをシェルコマンド。このtmuxコマンドはcopy-pipe
tmux 2.4より前であり、それ以降変更到着するsend-keys -X copy-pipe[-and-cancel]
。シェルコマンドの場合は、システムクリップボードの内容をパイプで接続する内容に設定するための何かが必要です。次のコマンドは、xclipを使用してこれを行います。"xclip -selection clipboard -i"
X以外のプラットフォームでは、次のようないくつかの選択肢があります。"wl-copy"
(Wayland)、"pbcopy"
(macOS)、"clip.exe"
(Windows、WSL)、"cat /dev/clipboard"
(Cygwin、MinGW).
ティモックス 2.4+:
# For vi copy mode bindings
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
Tmux 2.2~2.4:
# For vi copy mode bindings
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"
tmux 2.2より前:
mode-mouse
マウスドラッグサポートの後、コピーは元の新しいオプションをに設定してTmux 1.3に追加されましたon
。 Tmux 2.1はマウスサポートを使い慣れたマウスキーバインディングに変更しますが、DragEnd
2.2で導入されたバインディングはありません。したがって、2.2以前では、マウスドラッグ時にシステムクリップボードを設定する唯一の方法は、組み込みのxtermエスケープシーケンス(オプションset-clipboard
)を使用することだと思います。これは、サポートされていない端末set-clipboard
(GNOME端末など)のドラッグアンドドロップ操作を取得するために少なくともtmux 2.2に更新する必要があることを意味します。