Pour permettre le défilement d'une fenêtre tmux avec une souris, j'ai mis le code suivant dans mon fichier ~/.tmux.conf
:
set -g mouse-mode on
Cependant, rien ne change. Quand je fais défiler, cela se fait toujours en dehors de tmux. Pourquoi ?
Pour permettre le défilement d'une fenêtre tmux avec une souris, j'ai mis le code suivant dans mon fichier ~/.tmux.conf
:
set -g mouse-mode on
Cependant, rien ne change. Quand je fais défiler, cela se fait toujours en dehors de tmux. Pourquoi ?
Cette ligne :
set -g mode-souris on
dans votre fichier ~/.tmux.conf
ne fonctionnera pas.
Pour une chose, le paramètre approprié est mode-souris
, pas mode-souris
.
Ensuite, cela ne fonctionne que sur les anciennes versions de tmux
(avant la version 2; vous pouvez exécuter tmux -V
pour voir quelle version vous avez, mais vous pouvez également exécuter man tmux
pour voir si mode-souris
est une option prise en charge).
Et troisièmement, techniquement man tmux
indique d'utiliser l'option mode-souris
avec setw
(set-window-option
) et non avec set
(set-option
), bien que je l'ai vu fonctionner avec set
(ainsi qu'avec setw
).
Ces lignes devraient fonctionner :
Si votre version de tmux
est suffisamment récente (c'est-à-dire, si tmux -V
affiche la version 2 ou plus récente), vous pouvez mettre cette ligne dans votre fichier ~/.tmux.conf
:
set-option -g souris on
Mais si vous utilisez une ancienne version de tmux
, mettez ces lignes dans votre fichier ~/.tmux.conf
:
set-window-option -g mode-souris on
set-option -g redimensionner-panneau-souris on
set-option -g sélectionner-panneau-souris on
set-option -g sélectionner-fenêtre-souris on
Encore une fois, si vous n'êtes pas absolument sûr de quelle(s) ligne(s) mettre dans votre fichier ~/.tmux.conf
, exécutez man tmux
et recherchez mode-souris
, redimensionner-panneau-souris
, sélectionner-panneau-souris
, et/ou sélectionner-fenêtre-souris
. Si vous les trouvez, utilisez ces options (celles pour l'ancienne version de tmux
).
En mettant ces lignes, vous pourrez utiliser la molette de la souris, cliquer sur divers panneaux pour les activer, et redimensionner les panneaux simplement en cliquant et en faisant glisser sur le séparateur.
Vous pouvez également copier-coller en utilisant votre souris. Cependant, vous pouvez remarquer que le copier-coller avec votre souris peut ne pas fonctionner comme d'habitude sur votre console. Pour contourner cela, j'ai remarqué que maintenir la touche SHIFT enfoncée lors de l'utilisation des capacités de copie/coller de votre souris les fait fonctionner normalement à nouveau. (Sur MacOS, fn semble mieux fonctionner pour moi que SHIFT.) Ou vous pouvez apprendre l'approche de tmux
pour le copier-coller (ce que je recommande).
Un note sur l'utilisation de la capacité native de tmux
pour copier/sélectionner/coller :
Personnellement, je trouve que les touches vi
ont plus de sens pour moi que les touches emacs
par défaut (par exemple, il est plus naturel de sortir du mode de sélection avec la touche ENTER du mode vi
que avec les touches CTRL+w ou ALT+w du mode emacs
), donc j'ai cela dans mon fichier ~/.tmux.conf
:
# Pour des touches vi-like en mode copier/coller/sélection :
set-window-option -g touches-mode vi
Cependant, j'ai remarqué que sur les anciennes versions de tmux
, cette ligne ne fonctionnera pas, sauf si j'ai également inclus la ligne :
set-window-option -g mode-souris on
Bon à savoir : De temps en temps, lorsque vous utilisez la molette de la souris, vous découvrirez que votre panneau/écran semble être figé ou bloqué (il ne répond pas aux entrées au clavier), et il n'est pas clair quoi faire pour le débloquer.
Il n'est pas bloqué. Vous êtes probablement dans le mode de sélection de tmux
. Pour en sortir, essayez l'une de ces options :
vi
.)emacs
.)emacs
.)emacs
.)emacs
.)vi
, et peut fonctionner aussi en mode emacs
.)En fin de compte, vous pouvez essayer d'appuyer sur :
CTRL+w ENTER
ou :
Esc q
Il y a de fortes chances que cela vous ramène au mode normal où votre clavier répond à nouveau.
Utiliser la souris avec vim
:
J'ai découvert que mettre cette ligne dans mon fichier ~/.vimrc
:
:set souris=a
semble bien fonctionner avec tmux
, mieux que cette ligne :
:set souris=r
Je ne peux pas vraiment expliquer la différence ; si vous êtes un utilisateur de vim
, essayez-les et voyez quelle option fonctionne le mieux pour vous.
Si vous devez tester ces options de tmux
, vous vous retrouverez peut-être à éditer votre fichier ~/.tmux.conf
, à quitter tmux
, puis à redémarrer tmux
. Cela peut devenir un processus fastidieux, donc si vous voulez des solutions de contournement, voici quelques options :
Option 1 : Après avoir édité (et enregistré) votre fichier ~/.tmux.conf
, exécutez cette commande (tout en étant dans tmux
) :
CTRL+B :source-file ~/.tmux.conf
ENTER
Cela appliquera immédiatement les nouveaux paramètres de votre fichier ~/.tmux.conf
dans votre session tmux
actuelle, sans avoir besoin de redémarrer tmux
.
Option 2 : Si vous êtes dans une session tmux
, vous pouvez activer/désactiver temporairement des options juste pour cette session en exécutant des commandes comme celles-ci au shell Unix :
tmux set-option -g mode-souris on
tmux set-window-option -g touches-mode vi
Option 3 : Vous pouvez également activer/désactiver temporairement des options dans une session tmux
avec :
CTRL+B :set-option -g souris on
ENTER
CTRL+B :set-window-option -g touches-mode vi
ENTER
Bonne chance, et amusez-vous avec tmux
!
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 ajoutant ceci à votre ~/.tmux.conf :
Shells 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"
Shells 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 vous aidera
Vous pouvez toujours utiliser la logique du diable pour définir des options en fonction de votre version actuelle de Tmux : voir ma réponse précédente ici.
Mais depuis Tmux v1.7, set-option
ajoute "-q" pour supprimer les erreurs et ne rien afficher (voir le journal des modifications). Je recommande d'utiliser cette fonctionnalité, c'est plus lisible et plus facilement expansible.
Ajoutez ceci à votre ~/.tmux.conf
:
# à partir de la version 2.1
set -gq mouse on
# avant la version 2.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-file
votre nouveau .tmux.conf
Note supplémentaire : Je suis prêt à supprimer ma précédente réponse si les gens préfèrent celle-ci
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.