Défilement sur Mac avec Tmux et iTerm

16

J'utilise iTerm 2.1.4 et Tmux sur OS X Yosemite. J'aimerais pouvoir faire défiler mes fenêtres iTerm de haut en bas, mais je ne sais pas ce qui contrôle le défilement. Tmux contrôle-t-il le défilement lorsque je l'utilise avec iTerm ou iTerm contrôle-t-il toujours le défilement?

J'ai essayé d'utiliser les différentes touches qui sont censées faire défiler iTerm mais tout ce que j'obtiens sont des caractères "~~~~~" sur la ligne de commande. Comment faire défiler avec cette configuration?

Rayon
la source

Réponses:

31

Le défilement Tmux est un peu différent du simple défilement avec une molette de souris ou un trackpad.

Dans tmux, le défilement est accompli en envoyant d'abord 'prefix- ['. Vous verrez une petite boîte jaune dans le coin supérieur droit de la fenêtre de votre terminal.

Dans ce mode, vous pouvez utiliser les touches fléchées, PageUp, PageDown, Ctrl-U, Ctrl-D, hjkl (vi-mode) ou d'autres touches de mouvement configurables pour faire défiler vers l'avant ou l'arrière dans le tampon.

Il existe une option dans les versions relativement récentes de tmux qui vous permet d'utiliser la souris en mode défilement.

ajoutez ceci à votre .tmux.conf

set-option -g mouse on

De plus, si la mémoire est utilisée, tmux est «intégré» à iTerm, et donc des fonctionnalités comme le multiplexage sont également intégrées. Y a-t-il une raison pour laquelle vous souhaitez utiliser tmux dans iTerm? Le terminal OSX intégré est définitivement amélioré par un multiplexeur comme tmux, mais iTerm cherche à remédier à ces lacunes en étant une solution autonome.

EDIT 1: Après la mise à niveau vers El Capitan, j'ai remarqué un comportement inconnu lors de l'utilisation de Terminal.app et tmux. Cela m'a conduit à un excellent article détaillant les options que je ne connaissais pas et qui cherchent à répondre à votre question plus en profondeur que je ne pouvais l'espérer. Toutes les options sont spécifiques à tmux, pour autant que je sache, et sont indépendantes des versions OSX, donc les utiliser dans Yosemite devrait être bien. Votre question de défilement est abordée ici, avec des options telles que:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

Beaucoup plus d'options utiles dans l'article lié ci-dessous.

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html

notdavidcronenberg
la source
3
Le lien partagé au bas de cette réponse est excellent mais maintenant légèrement obsolète. Pour atteindre votre objectif, vous devrez également lire ceci: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz
Ne fonctionne pas pour moi sur la haute sierra
Ulysse BN
fonctionne dans iterm2 en utilisant tmux mais se gâte dans terminal.app avec des choses comme le défilement dans vim cesser de fonctionner puis copier-coller devient plus étrange
Ishan Srivastava
1

J'ai trouvé les moyens suivants pour y faire face (macOS Mojave):

  • Activez le mode de défilement tmux, puis appuyez sur la touche flèche vers le haut; iTerm vous invite à définir la préférence susmentionnée pour le défilement. Mais au cas où vous auriez manqué / rejeté cette invite, vous ne serez plus invité, je pense.

  • Allez dans les paramètres iTerm -> "Avancé" -> "La molette de défilement envoie les touches fléchées en mode d'écran alternatif" -> réglez sur "oui".

tout le monde
la source