Utiliser la barre de défilement du terminal avec tmux


41

Je sais comment faire défiler tmux à l’aide du clavier, mais j’ai remarqué qu’il était possible d’utiliser la barre de défilement du terminal avec GNU Screen . Cela peut-il être fait avec tmux?


6
Vous ne pouvez pas vraiment utiliser la barre de défilement du terminal avec GNU Screen. La barre de défilement n'accède pas réellement au tampon de défilement de Screen, mais au terminal, ce qui signifie que les lignes défilées des différentes sessions Screen sont mélangées.
ak2

@ ak2 tristesse ... mais merci pour l'info!
Jeff

2
iTerm2 envisage d’intégrer [ tmux ] à l’ avenir ( code.google.com/p/iterm2/wiki/TmuxIntegration ). Une telle intégration semble inclure l'utilisation d'une barre de défilement native pour afficher letampon de l'historique tmux .
Chris Johnsen

Réponses:


42

Ceci est possible à la fois dans l'écran GNU et dans tmux et la solution de contournement est similaire: inciter les multiplexeurs à penser que le terminal n'a pas de mode "écran alternatif" (tel que celui utilisé par pico, mutt, etc.). Ceci est accompli en définissant des commandes termcap pour la session.

Pour l'écran GNU, mettez ceci dans votre .screenrc:

termcapinfo xterm*|xs|rxvt|terminal ti@:te@

et pour tmux, ajoutez ceci à votre .tmux.conf:

set -ga terminal-overrides ',xterm*:smcup@:rmcup@'

La xterm*partie ' ' de la commande doit être définie sur ce que votre émulateur de terminal est déclaré. Une certaine forme de xterm est une bonne idée, mais vous pouvez vérifier le vôtre sur la plupart des systèmes sane * nix avec:

echo $TERM

et cela peut généralement être défini dans les préférences de votre programme de terminal (par exemple: pour Apple Terminal.app, il est dans Paramètres-> Profil-> Avancé (ou Paramètres-> Avancé-> Émulation pré-yosémite) "Déclarez le terminal comme".

Le résultat final est que le débordement se termine dans la mémoire tampon de défilement du terminal au lieu de disparaître. Bien sûr, comme il s’agit d’un tampon statique, les choses se compliqueront au fur et à mesure que vous basculerez entre les fenêtres screen ou tmux, mais c’est pratique pour parcourir rapidement le résultat d’une lscommande ou autre.


2
aussi, je viens de voir superuser.com/questions/253414/… , qui fonctionne comme décrit comme une autre alternative.
Doug J


1
@ Nick - Notez que vous résolvez un problème différent: ajouter le support de la souris à tmux. Peut-être une meilleure solution pour vous, mais c'est différent d'utiliser le tampon de défilement natif. Tant que votre émulateur de terminal est correctement défini, ce qui précède fonctionne sur un y * nix, y compris OSX
Doug J

1
On dirait que c'était un tcsh intégré. Sur bash, vous pouvez utiliserecho $TERM
Doug J

1
ce "débordement" fonctionne, mais affiche des caractères unicode étranges à la sortie de tmux: stackoverflow.com/q/31790939/2668831
Louis Maddox

5

Pour activer le défilement, vous pouvez activer le mode souris intégré dans votre ~/.tmux.confcomme suit:

set -g mode-mouse on
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.