1983 votes

Comment faire défiler dans tmux ?

Comment puis-je faire défiler avec le clavier ou la souris? La page de manuel de tmux indique qu'il faut entrer en mode copie pour faire défiler. Y a-t-il un moyen de faire défiler rapidement sans entrer manuellement en mode copie?

9 votes

De quoi vous préoccupez-vous en termes de surcharge? copy-mode est la manière de visualiser l'historique (et éventuellement de copier des éléments de celui-ci).

3 votes

Pour moi, vous pouvez appuyer sur f7 pour le mode de défilement et q pour quitter.

25 votes

set -g mode-souris on selon la réponse de @chaiyachaiya a été le gagnant pour moi

2387voto

Damian Powell Points 315

Ctrl-b puis [ puis vous pouvez utiliser vos touches de navigation habituelles pour vous déplacer (par ex. Fleche Haut ou PgDn). Appuyez sur q pour quitter le mode de défilement.

Alternativement, vous pouvez appuyer sur Ctrl-b PgUp pour passer directement en mode de copie et faire défiler d'une page vers le haut (ce dont vous aurez le plus souvent besoin)

En mode vi (voir ci-dessous), vous pouvez également faire défiler la page ligne par ligne vers le haut/bas en utilisant Shift-k et Shift-j (si vous êtes déjà en mode de défilement). Non majuscule, le curseur bouge à la place de la page.

Extraits de la page de manuel:

tmux peut être contrôlé depuis un client connecté en utilisant une combinaison de touches d'un touche de préfixe, ‘C-b’ (Ctrl-b) par défaut, suivie d'une touche de commande.

 Les liaisons de touches de commande par défaut sont:

[           Entrer en mode copie pour copier du texte ou afficher l'historique.

Fonction                     vi              emacs
--------                     --              -----
Demi-page vers le bas        C-d             M-Down
Demi-page vers le haut       C-u             M-Up
Page suivante                C-f             Page down
Page précédente              C-b             Page up
Défiler vers le bas          C-Down ou C-e   C-Down
Défiler vers le haut         C-Up ou C-y     C-Up
Rechercher à nouveau         n               n
Rechercher à nouveau en arrière N               N
Rechercher en arrière         ?               C-r
Rechercher en avant           /               C-s

Et bien d'autres encore. Notez que vous devez appuyer deux fois sur C-b si vous l'utilisez pour monter d'une page puisque C-b est lié en tant que touche de commande. Consultez la page de manuel pour des informations sur la manière de précéder une commande de mode de copie avec un compteur de répétition.

Vous pouvez définir le mode de liaison de touches en utilisant Ctrl-b, puis

:set-window-option mode-keys emacs

ou vi.

22 votes

Je pense que C-b = est par défaut choose-buffer. Vouliez-vous dire C-b [ (qui est par défaut copy-mode)? Vous pouvez également utiliser C-b PageUp pour entrer directement en mode copie sur la page précédente (très pratique lorsque vous savez ce que vous voulez visualiser/copier a déjà défilé hors de la page actuelle).

1 votes

@Chris : Dans mon tmux 0.8 (et sa page de manuel), C-b = est scroll-mode. Apparemment, les versions plus récentes ont abandonné cela.

1 votes

Ahh, ça explique tout. Je pense avoir commencé avec 1.1 qui était déjà après que scroll-mode avait été incorporé. L'OP dit « seulement deux occurrences du mot "scroll" [dans la page de manuel] », donc la version est probablement une sans scroll-mode.

538voto

chaiyachaiya Points 4489

Eh bien, vous devriez envisager la bonne façon de définir le défilement : ajoutez dans votre ~/.tmux.conf

set -g mouse on        #Pour tmux version 2.1 et supérieure

ou

set -g mode-mouse on   #Pour les versions de tmux < 2.1

Cela a fonctionné pour moi sous windows et dans les panneaux. Maintenant, tmux est juste parfait.

Tmux pratique contient plus d'informations sur les fichiers tmux.conf.

8 votes

Lorsque je fais cela, les clics de souris et les défilements entraînent l'impression de caractères sans signification dans la zone de commande du terminal que j'utilise avec tmux. Des idées ?

0 votes

Cela fonctionne très bien pour moi. Maintenant, si seulement nous pouvions trouver des combinaisons de touches pour faire la même chose (peut-être une à la fois), je serais un campeur très heureux.

55 votes

Futurs utilisateurs de la souris tmux: Pour vous éviter de devoir à nouveau faire défiler jusqu'en bas avant de taper, vous pouvez appuyer sur q pour quitter le mode de défilement.

187voto

TMB Points 121

De mon .tmux.conf :

# Défilement normal
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Cela permet le défilement natif de xterm.

41 votes

Pouvez-vous expliquer exactement ce que cela fait?

16 votes

Je ne sais pas ce qu'il fait, mais c'est du pur génie. Enfin, le défilement de tmux fonctionne, yay!

8 votes

Cela ne fonctionne pas pour moi sur OS X...

96voto

Flov Points 881

Pour la dernière version de tmux 2.1, pour faire défiler avec votre souris de manière raisonnable, voici la bonne réponse :

set -g mouse on
# défilement raisonnable:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"

il ne suffit pas de simplement recharger votre fichier .tmux.conf vous devez redémarrer votre tmux, par exemple tmux kill-server && tmux ou simplement arrêter les services qui utilisent tmux.

provenant de https://github.com/tmux/tmux/issues/145

2 votes

Comment cela n'est-il pas la réponse acceptée?

2 votes

La note de cette réponse sur le fait que "recharger simplement .tmux.conf ne suffisait pas" et sortir de toutes les sessions tmux pour moi (peut-être que kill-server fonctionnerait) a été utile!

3 votes

Pouvez-vous élaborer sur le fonctionnement de ceci ?

25voto

ythdelmar Points 321

Dans mon cas, simplement opt + UpArrow et opt + DownArrow sur OSX.

0 votes

@fixer1234 La question ne mentionne pas du tout Linux. tmux peut également être utilisé sur OS X.

0 votes

@slhck : Merci. Trop les yeux embrumés; l'astigmatisme est entré en jeu. J'avais mal lu la balise tmux comme une balise linux.

0 votes

Solution la plus simple et ne nécessitant aucune configuration!

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