Tmuxの使い方を学んでいますが、tmuxウィンドウでダブルクリックして選択すると、コピー機能が機能しなくなったことがわかりました。
Iterm2と同じように、ダブルクリックして選択してコピーできますか?
私はしばらくの間グーグルで検索しましたが、これに対する短く明確な答えは見つかりませんでした。私が追加しました setw -g mode-mouse on
すでにtmux設定ファイルにあります。
それを実現する方法を見つけました。ダブルクリックするときにoption
キーを押したままにします。
Iterm2についてはわかりませんが、これはtmux3.0以降で機能するようにすることができます
(Linux w/tmux 3.0でテスト済み、最後のコマンドはX11 xclipを使用)。
行を選択してコピーするためのトリプルクリックも追加しました。
# Double LMB Select & Copy (Word)
bind-key -T copy-mode-vi DoubleClick1Pane \
select-pane \; \
send-keys -X select-Word-no-clear \; \
send-keys -X copy-pipe-no-clear "xclip -in -sel primary"
bind-key -n DoubleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-Word \; \
send-keys -X copy-pipe-no-clear "xclip -in -sel primary"
# Triple LMB Select & Copy (Line)
bind-key -T copy-mode-vi TripleClick1Pane \
select-pane \; \
send-keys -X select-line \; \
send-keys -X copy-pipe-no-clear "xclip -in -sel primary"
bind-key -n TripleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-line \; \
send-keys -X copy-pipe-no-clear "xclip -in -sel primary"
copy-mode-vi
を使用しない場合は、これをcopy-mode
に置き換えてください。
古いtmuxバージョンについては、編集履歴を確認してください。
Alacrity
でShift
を保持すると、tmuxがないかのようにコピーできます。
@ ideasman42の答えから構築します。これは、macosmojaveにtmux2.8とpbcopyを使用しています。
# Double LMB Select & Copy (Word)
bind-key -n DoubleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-Word \; \
run-Shell "sleep .5s" \; \
send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -n DoubleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-Word \; \
run-Shell "sleep .5s" \;
send-keys -X copy-pipe-and-cancel "pbcopy
私のバージョンでは、Wordを選択して簡単に強調表示し、システムバッファにコピーしてから、コピーモードをキャンセルします。
私はあなたが端末から期待するものと同様のコピーアンドペーストメカニズムを理解しました
次の設定を使用して、次のことができるようにしました。
このソリューションは、選択範囲を強調表示したままにし、選択範囲の出力を両方のクリップボードバッファー(プライマリとクリップボード)にコピーします。
「Enter」を押すと、終了してシェルに戻ります
ここでの利点は、マウスの中ボタンをtmuxの外部でShiftと挿入の組み合わせとして使用して、コンテンツが選択されたまま貼り付けることができることです。
また、シェルに戻ったときに、マウスの中ボタンを使用するか、Shiftキーを押しながら挿入を押してコンテンツを貼り付けることができます。
通常の端末環境に期待するすべてのこと
# Enable mouse control
setw -g mouse on
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter \
send -X cancel
# Drag and Drop Aelect & Copy (Selection)
bind-key -T copy-mode-vi MouseDragEnd1Pane \
send-keys -X copy-pipe "xclip -in -f | xclip -in -sel c" \; \
send-keys -X no-clear
# Double LMB Select & Copy (Word)
bind-key -T copy-mode-vi DoubleClick1Pane \
select-pane \; \
send-keys -X select-Word \; \
send-keys -X copy-pipe "xclip -in -f | xclip -in -sel c" \; \
send-keys -X no-clear
bind-key -n DoubleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-Word \; \
send-keys -X copy-pipe "xclip -in -f | xclip -in -sel c" \; \
send-keys -X no-clear
# Triple LMB Select & Copy (Line)
bind-key -T copy-mode-vi TripleClick1Pane \
select-pane \; \
send-keys -X select-line \; \
send-keys -X copy-pipe "xclip -in -f | xclip -in -sel c" \; \
send-keys -X no-clear
bind-key -n TripleClick1Pane \
select-pane \; \
copy-mode -M \; \
send-keys -X select-line \; \
send-keys -X copy-pipe "xclip -in -f | xclip -in -sel c" \; \
send-keys -X no-clear
# Middle click to paste from the primary buffer
unbind-key MouseDown2Pane
bind-key -n MouseDown2Pane run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# Shift insert to paste from the clipboard
unbind-key S-IC
bind-key S-IC run "tmux set-buffer \"$(xclip -o -sel c)\"; tmux paste-buffer"