tmux set -g mouse-mode on ne fonctionne pas

244

J'ai regardé autour et les gens disent que mettre

set -g mouse-mode on

devrait vous permettre de faire défiler la sortie du terminal lors de l'exécution de tmux. Cependant, après avoir mis cela dans mon ~/.tmux.conffichier et avoir dit tmux set -g mouse-mode onlors d'une session tmux, rien ne change. Lorsque je fais défiler, je reste en dehors de tmux comme faire défiler dans vim avec les paramètres par défaut.

Quelqu'un sait pourquoi c'est?

David dit de réintégrer Monica
la source
mode-mousedans l'ancienne version
hyiltiz

Réponses:

559

Cette option a donc été renommée dans la version 2.1 (18 octobre 2015)

Depuis le changelog :

 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

Voilà donc ce que j'utilise maintenant dans mon .tmux.conffichier

set -g mouse on
Graham
la source
1
Merci @ Graham42! C'est maintenant la bonne réponse. J'ai mis à jour tmux et il s'est cassé ce matin - cela le corrige.
Matthew Lehner
7
Même si cette question a été posée en 2012 bien avant ce changement, c'est juste la réponse dont j'avais besoin (et bien d'autres), hah
Andrew
2
utile, corrige mon problème dans Ubuntu 16.04
sudoz
2
Bien que cela fonctionne pour Mac, avec set -g mouse on, cela rompra la possibilité de sélectionner du texte dans le terminal de Mac. Je dois faire spécifiquement set -g mouse offpour sélectionner le texte
Gagne le
1
@Wins appuyez sur shift avant de sélectionner ou de coller
mdekkers
70

Comme l'a noté @ Graham42, l'option souris a changé dans la version 2.1. Le défilement nécessite maintenant que vous passiez d'abord en mode copie. Pour activer le défilement presque identique à ce qu'il était avant 2.1, ajoutez le suivant à votre .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

Cela permettra de faire défiler le survol d'un volet et vous pourrez faire défiler ce volet ligne par ligne.

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

Umut Sirin
la source
2
FANTASTIQUE! Le simple réglage mousecomme le dit la réponse acceptée ne fonctionne pas pour moi - cet alias qui passe en mode copie était parfait
Gareth
2
Cela semble fonctionner, mais je ne peux plus sélectionner de texte dans les volets. Quelqu'un d'autre a également ce problème?
will.fiset
64

Juste un petit avertissement à quiconque perd la raison en ce moment:

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

c'est juste

 :setw -g mouse
user5481608
la source
1
Ou si vous le voulez toujours, ajoutez simplement set -g mouseen ~/.tmux.conf. Cependant, notez que cela rendra le copier / coller de texte dans le terminal via la souris plus difficile (je suis sûr qu'il existe un moyen - je ne l'ai pas cherché moi-même).
JM Janzen
36

cela devrait fonctionner:

setw -g mode-mouse on

puis ressource puis fichier de configuration

tmux source-file ~/.tmux.conf

ou tuer le serveur

locojay
la source
J'ai utilisé la souris set -g et la commande de fichier source que vous avez donnée fonctionnait parfaitement.
gospelslide
19

Collez ici dans ~ / .tmux.conf

set -g mouse on

et exécuter sur le terminal

tmux source-file ~/.tmux.conf
Tran Quoc Vuong
la source
Merci, travaillé pour byobu --version byobu version 5.73 tmux 2.5 alors que les suggestions ci-dessus ne l'ont pas fait.
Thomas
15

Comme l'a dit @ Graham42, à partir de la version 2.1, les options de la souris ont été renommées mais vous pouvez utiliser la souris avec n'importe quelle version de tmux en l'ajoutant à votre ~ / .tmux.conf:

Coquilles Bash :

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"

Coquilles Sh (Bourne shell):

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"

J'espère que cela t'aides

Alejandro Blasco
la source
1
Je vous remercie! J'ai tmux.conf dans git, et j'utilise régulièrement des machines avec l'ancienne version de tmux ...
Seb
l'idée derrière cette réponse est un pur génie! ... et pourrait également aider pour les styleoptions resp. fg-, bg- et attr-abolition dans tmux 2.9 . mais cela ne fonctionne pas car au moins mon shell refuse de comparer les nombres à virgule flottante ... et si votre localisation utilise autre chose qu'un .virgule flottante, vous devez également contourner ce problème.
DJCrashdummy
@DJCrashdummy Quelle est la sortie de tmux -V | cut -d ' ' -f2votre shell?
Alejandro Blasco
1
Remarque: sur ubuntu 19.10, la version est tmux 2.9a. J'ai donc utilisé tmux -V | sed -E 's/tmux ([0-9.]*).*$/\\1/;'pour l'analyser de manière plus robuste.
Autra
1
Remarque: qu'au moins pour moi sur Ubuntu 18.04, même si /bin/shc'est Bash, j'ai besoin de la syntaxe Sh , probablement parce que Bash entre en mode POSIX
philb
1

Essaye ça. Cela fonctionne sur mon ordinateur.

set -g mouse on
colibri
la source
1

Vous pouvez toujours utiliser la logique diable de définir des options en fonction de votre version actuelle de Tmux: voir ma réponse précédente .

Mais depuis Tmux v1.7, set-optionajoute "-q" pour réduire les erreurs et ne rien imprimer (voir changelog ). Je recommande d'utiliser cette fonctionnalité, elle est plus lisible et facilement extensible.

Ajoutez ceci à votre ~/.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

Redémarrez tmux ou source-filevotre nouveau.tmux.conf


Note latérale: je suis prêt à supprimer mon ancienne réponse si les gens préfèrent celle-ci

Alejandro Blasco
la source