web-dev-qa-db-fra.com

Utiliser la barre de défilement du terminal avec tmux

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

37
Jeff

Ceci est possible à la fois dans GNU screen et dans tmux et la solution de contournement est similaire: inciter les multiplexeurs à penser que le terminal n'a pas de mode "autre écran" (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 partie 'xterm*' 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 le code Terminal.app d'Apple, il s'agit de 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 lorsque vous basculerez entre les fenêtres screen ou tmux, mais c’est pratique pour feuilleter rapidement pour voir le résultat d’une commande ls ou autre.

39
Doug J

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

set -g mode-mouse on
5
Shubham Chaudhary