tmux set -g mouse-mode onが機能しない


244

私は周りを見回していて、人々は言う

set -g mouse-mode on

tmuxを実行すると、ターミナル出力をスクロールできるようになります。しかし、これを私の~/.tmux.confファイルに入れtmux set -g mouse-mode onて、tmuxセッションでいつ言った後も、何も変わりません。スクロールしても、デフォルト設定でvimをスクロールするようにtmuxの外に出ます。

これがなぜか誰でも知っていますか?


mode-mouse旧バージョン
hyiltiz

回答:


559

したがって、このオプションはバージョン2.1(2015年10月18日)で名前が変更されました

変更ログから:

 Mouse-mode has been rewritten.  There's now no longer options for:
    - mouse-resize-pane
    - mouse-select-pane
    - mouse-select-window
    - mode-mouse

  Instead there is just one option:  'mouse' which turns on mouse support

これが私の.tmux.confファイルで今使用しているものです

set -g mouse on

1
ありがとう@ Graham42!これが正解です。私はtmuxを更新しましたが、今朝壊れました-これで修正されます。
Matthew Lehner、2015年

7
この質問は、この変更前の2012年のように頼まれたにもかかわらず、これはほら、ちょうど解答I(および他の多くの)必要である
アンドリュー

2
Ubuntu 16.04での問題の解決に役立つ
sudoz

2
これはMacでset -g mouse on機能しますが、を使用すると、Macのターミナルでテキストを選択できなくなります。特にset -g mouse offテキストを選択する必要があります
Wins

1
@Winsはシフトを選択または貼り付ける前にシフトを押します
mdekkers

70

@ Graham42が述べたように、マウスオプションはバージョン2.1で変更されました。スクロールでは、最初にコピーモードに入る必要があります。2.1以前とほぼ同じスクロールを有効にするには、にを追加します.tmux.conf

set-option -g mouse on

# make scrolling with wheels work
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M

これにより、ペインの上にカーソルを置くとスクロールが可能になり、そのペインを1行ずつスクロールできます。

出典:https : //groups.google.com/d/msg/tmux-users/TRwPgEOVqho/Ck_oth_SDgAJ


2
素晴らしい!mouse受け入れられた回答が言うように設定するだけでは機能しません-コピーモードに入るこのエイリアスは完璧でした
Gareth

2
これは機能しているようですが、ペインでテキストを選択できなくなりました。他にも誰かこの問題がありますか?
will.fiset 2018

64

今すぐに失望している他の人への簡単なヘッドアップ:

https://github.com/tmux/tmux/blob/310f0a960ca64fa3809545badc629c0c166c6cd2/CHANGES#L12

それだけです

 :setw -g mouse

1
または、常にオンにする場合は、を追加set -g mouse~/.tmux.confます。ただし、これを使用すると、マウスを介して端末にテキストをコピー/貼り付けるのが難しくなります(方法があると確信しています-自分で調べたことはありません)。
JM Janzen

36

これはうまくいくはずです:

setw -g mode-mouse on

次にリソース、次に設定ファイル

tmux source-file ~/.tmux.conf

またはサーバーを強制終了します


私はset -g mouse onを使用し、あなたが与えたsource-fileコマンドは完全に機能しました。
gospelslide 2018年

19

ここに〜/ .tmux.confを貼り付けます

set -g mouse on

ターミナルで実行する

tmux source-file ~/.tmux.conf

ありがとう、byobu --version byobuバージョン5.73 tmux 2.5で動作しましたが、上記の提案では機能しませんでした。
トーマス

15

@ Graham42が言ったように、バージョン2.1からマウスオプションの名前が変更されましたが、これをtmuxのどのバージョンでも使用して、これを〜/ .tmux.confに追加できます。

バッシュシェル:

is_pre_2_1="[[ $(tmux -V | cut -d' ' -f2) < 2.1 ]] && echo true || echo false"
if-shell "$is_pre_2_1" "setw -g mode-mouse on; set -g mouse-resize-pane on;\
      set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on"

Sh(ボーンシェル)シェル:

is_pre_2_1="tmux -V | cut -d' ' -f2 | awk '{print ($0 < 2.1) ? "true" : "false"}'"
if-shell "$is_pre_2_1" "setw -g mode-mouse on; set -g mouse-resize-pane on;\
      set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on"

お役に立てれば


1
ありがとうございました!私はgitにtmux.confがあり、古いtmuxバージョンのマシンを定期的に使用しています...
Seb

この答えの背後にあるアイデアは純粋な天才です!...そしてstyle-options respにも役立ちます。tmux 2.9のfg-、bg-、およびattr-abolition。しかし、少なくとも私のシェルは浮動小数点数の比較を拒否しているので機能しません。ローカライゼーションが.浮動小数点以外のものを使用している場合は、この問題も回避する必要があります。
DJCrashdummy

@DJCrashdummy tmux -V | cut -d ' ' -f2シェルの出力は何ですか?
アレハンドロブラスコ

1
注:ubuntu 19.10では、バージョンはtmux 2.9aです。そのためtmux -V | sed -E 's/tmux ([0-9.]*).*$/\\1/;'、以前はより堅牢に解析していました。
autra

1
注:少なくともUbuntu 18.04では、/bin/shBash であっても、Sh構文が必要です。おそらくBashがPOSIXモードに入る
philb

1

これを試して。それは私のコンピューターで動作します。

set -g mouse on

1

現在のTmuxバージョンに応じて、オプション設定の悪魔ロジックを引き続き使用できます。以前の回答を参照してください。

ただし、Tmux v1.7以降でset-optionは、エラーを抑止するために「-q」が追加され、何も出力されません(changelogを参照)。この機能を使用することをお勧めします。読みやすく、簡単に拡張できます。

これをあなたに追加してください~/.tmux.conf

# from v2.1
set -gq mouse on
# before v2.1
set -gq mode-mouse on
set -gq mouse-resize-pane on
set -gq mouse-select-pane on
set -gq mouse-select-window on

tmuxまたはsource-file新しい.tmux.conf


サイドノート:人々がこれを好むなら、私は私の古い答えを削除することができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.