1. ホーム
  2. terminal

[解決済み] tmuxでマウスを使った古いコピーペーストの動作を復活させる

2022-07-21 08:58:08

質問

これは、私がtmuxでコピーペーストするために行っていたことです(マウスを使用して、キーボードは異なる動作をし、それは私が興味を持っていることではありません)。

  1. マウスでテキストを選択し、左ボタンを押します。
  2. 中ボタンでテキストを貼り付ける

OSをアップグレードしたところ、tmuxのバージョンが新しくなりました。私は .tmux.conf の設定ファイルは変更していません。

これは、現在のバージョンの tmux , 1.6 (これは最新のcrunchbang linuxにあらかじめパッケージされています)。

  1. マウスでテキストを選択、左ボタンが押される シフト キー
  2. 中ボタンでテキストを貼り付ける
  3. 端末がブロックされると、現在のペインの右上に小さな情報エリアが表示されます (つまり [0/24] おそらく何文字が貼り付けられたかに関連したもの)、それは私にとってほとんど意味がなく、私は必要としない/したい (編集: それはどうやら copy-mode は自動的に入力されます)
  4. を押さないと q キーを押さないと、再び機能するターミナルが得られません。

一日に何十回もすることなのに、これは面倒すぎる。どうしたら昔の仕組みをもう一度使えるようになるのでしょうか。

どのように解決するのですか?

コピー/貼り付けの設定をデフォルトに戻すには、tmux 内のマウス サポートを (少なくとも一時的に) オフにする必要があります。

prefix : set -g mouse off

ここで prefix はtmuxのアクセスキー( Ctrl + B というように、再マップしない限りデフォルトで表示されます)。 : はコマンドモードを開始し set -g はパラメータをグローバルに設定します。

マウスモードがオフの場合、オペレーティングシステムが提供する標準的なコピー/ペースト機能は期待通りに動作します。

他に行いたいことは、現在のペインを「最大化」して、複数の行を簡単にコピーできるようにすることです。


古い (2.1 より前の) バージョンの tmux を使用している場合、代わりに以下を使用する必要があります。

prefix : set -g mode-mouse off

より詳細な説明と、これらすべてを自動化するための便利なキーバインドがここにあります。

http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

上記リンク先の記事の主旨は、.tmux.conf からのこの抜粋です。

# disable mouse control by default - change 'off' to 'on' to enable by default.
setw -g mode-mouse off
set-option -g mouse-resize-pane off
set-option -g mouse-select-pane off
set-option -g mouse-select-window off
# toggle mouse mode to allow mouse copy/paste
# set 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'
# set 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'
# zoom this pane to full screen
bind + \
    new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
    swap-pane -s tmux-zoom.0 \;\
    select-window -t tmux-zoom
# restore this pane
bind - \
    last-window \;\
    swap-pane -s tmux-zoom.0 \;\
    kill-window -t tmux-zoom