web-dev-qa-db-ja.com

tmuxでマウスを有効にすると、Xで貼り付けと競合します

この質問は似ていますが、同じではありません tmux-スクロールを有効にする方法はありますが、選択はできませんか?

Gnome-terminal内でtmuxを使用しています。 tmuxでsetw -g mode-mouse onを使用して履歴バッファーのスクロールを有効にすると、tmuxはXのコピー/貼り付け機能を尊重しません。つまり、テキストを選択してもテキストがプライマリバッファーに配置されず、貼り付けることができません。マウスの中ボタンを使用する

マウスの中ボタンを押すと、画面の右上隅に座標が表示されます。スクロールホイールを使用してマウスの中クリックを登録しようとしているようです。

これを修正するために使用できるtmux設定はありますか?スクロールホイールとマウスの中ボタンはtmuxで独立しているように見えますか?マウスの中ボタンをOSペーストにマップできますか? tmuxはOSの貼り付けからリクエストをコピー/貼り付け/フィードできますか?

3

実際、答えは tmux-スクロールを有効にする方法はありますが、選択はできませんか? にリストされている可能性の中に隠されていました:

次のオプションがあります。

  • tmuxの選択をシステムクリップボードにコピーするキーボードショートカットを設定します
  • xtermなどのクリップボード設定機能をサポートする端末を使用する
  • tmuxでマウスの使用を無効にする

私はグーグルで検索しましたset-clipboardそして出くわしました http://grota.github.io/blog/2012/05/08/tmux-clipboard-integration/ これは私が求めていたものではないにしても、私が望んでいたものです。

1

クイック

OS Xでは、(iTerm2を使用して)Shift + Altを押したままにして、tmuxのマウスコントロールを一時的に上書きする必要があります。ターミナルエミュレータにも同様の機能がある場合があります。

動作しますが、面倒です

それとは別に、マウスサポートをオフにし、システムクリップボードでテキストをコピーして、オンに戻すことができます。私から ~/.tmux.conf

### Mouse On/Off ### {{{
## Mouse On by default
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on

##Toggle mouse on with <prefix>m
bind m \
        set -g mode-mouse on \;\
        set -g mouse-resize-pane on \;\
        set -g mouse-select-pane on \;\
        set -g mouse-select-window on \;\
        display 'Mouse: ON'

## Toggle mouse off with <prefix>M
bind M \
        set -g mode-mouse off \;\
        set -g mouse-resize-pane off \;\
        set -g mouse-select-pane off \;\
        set -g mouse-select-window off \;\
        display 'Mouse: OFF'
### End Mouse On/Off ### }}}

おそらくより良い

Tmuxyankをシステムクリップボードに移動させることもできます。

# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
bind C-y run "tmux save-buffer - | xclip -i"

xclipを任意の場所に置き換えることができます。この最後のものは、リモートサーバーで実行する場合、X転送が必要になります。

6
demure