46 votes

Utiliser la barre de défilement du terminal avec tmux

Je sais comment défiler dans tmux en utilisant le clavier, mais j'ai remarqué qu'il semblerait qu'il y ait un moyen d'utiliser la touche barre de défilement du terminal avec GNU Screen . Peut-on faire cela avec tmux ?

49voto

Doug J Points 668

Ceci est possible à la fois dans GNU screen et dans tmux et la solution est similaire : tromper les multiplexeurs en leur faisant croire que le terminal n'a pas de mode "écran alternatif" (tel que celui utilisé par pico, mutt, etc). Ceci est réalisé en définissant des commandes termcap pour la session.

Pour l'écran GNU, placez 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@'

Le ' xterm* La partie ' de la commande doit être réglée sur le nom de l'émulateur de terminal déclaré. On peut supposer qu'il s'agit d'une forme de xterm, mais vous pouvez vérifier le vôtre sur la plupart des systèmes *nix sains 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 le logiciel Apple Terminal.app C'est dans Settings->Profile->Advanced (ou Settings->Advanced->Emulation pre-yosemite) "Declare terminal as".

Le résultat final est que le débordement se retrouve dans le tampon de retour de défilement du terminal au lieu de disparaître. Bien sûr, comme il s'agit d'un tampon statique, les choses vont se gâter lorsque vous passerez de l'écran à tmux Windows, mais c'est pratique pour passer rapidement d'un écran à l'autre afin de voir la sortie d'une commande ls ou une commande de ce type.

8voto

Shubham Chaudhary Points 2339

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

set -g mode-mouse on

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