382 votes

Faire défiler la sortie Shell avec la souris dans tmux

Le défilement de la souris ne fonctionne pas en tmux la façon dont cela fonctionne lorsque je lance Shell sans tmux (dans le terminal Gnome). Il semble que tmux envoie les événements de défilement de la souris comme si j'appuyais sur les touches Haut/Bas. Mais je veux que cela défile à travers le Shell. salida l'histoire. Existe-t-il un moyen de faire fonctionner tmux de cette manière ?

Nota: Je sais comment faire défiler avec le clavier (grâce à une autre question ici).

J'ai essayé le défilement de la souris dans deux versions de tmux :

-1voto

stealz Points 1

Vous pouvez combiner les idées de liaison des autres réponses pour obtenir un comportement de défilement assez satisfaisant : fonctionne dans vim passe automatiquement en mode copie dans le terminal et le quitte lorsque vous atteignez le bas de la page vous permet toujours d'utiliser la molette de votre souris dans man, less et journalctl.

Mon code :

bind -n WheelUpPane if -t = "test $(echo #{pane_current_command} |grep -e 'man' -e 'less' -e 'journalctl')" "select-pane -t = ; send-keys Up Up Up Up"  "if-shell -F -t = '#{?mouse_any_flag,1,#{pane_in_mode}}' 'send-keys -M' 'select-pane -t = ; copy-mode -e; send-keys -M'"
bind -n WheelDownPane if -t = "test $(echo #{pane_current_command} |grep -e 'man' -e 'less' -e 'journalctl')" "select-pane -t = ; send-keys Down Down Down Down"  "if-shell -F -t = '#{?mouse_any_flag,1,#{pane_in_mode}}' 'send-keys -M' 'select-pane -t = ; copy-mode -e; send-keys -M'"

vous pouvez ajouter d'autres commandes qui nécessitent des touches fléchées pour le défilement dans la partie grep -e 'man'.

J'ai ajouté les touches d'envoi plusieurs fois, de sorte qu'un clic sur la molette de la souris fera défiler 4 lignes à la fois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X