2010-11-10 18:40:45 +0000 2010-11-10 18:40:45 +0000
1389
1389

Comment faire défiler dans tmux ?

Je viens de commencer à utiliser tmux, et j'aime beaucoup, mais je dois pouvoir défiler dans les buffers/panneaux/fenêtres que j'ai ouverts. Je me fiche de savoir si ça fonctionne avec la souris ou pas. Lorsque je fais une recherche sur la page de manuel de tmux, je ne trouve que deux occurrences du mot “scroll”, et les deux ont trait au mode de copie. Y a-t-il un moyen de faire défiler les pages sans avoir à passer par le mode copie ?

Réponses (12)

1685
1685
1685
2010-11-11 03:02:16 +0000

Ctrl-b puis [ puis vous pouvez utiliser vos touches de navigation normales pour faire défiler (par exemple, Flèche haut ou PgDn). Appuyez sur q pour quitter le mode de défilement.

Vous pouvez également appuyer sur Ctrl-b PgUp pour passer directement en mode de copie et faire défiler une page vers le haut (ce qui semble être ce que vous souhaitez la plupart du temps)

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

Extraits de la page de manuel :

tmux peut être contrôlé à partir d'un client joint en utilisant une combinaison de touches composée d'une touche de préfixe, “C-b” (Ctrl-b) par défaut, suivie d'une touche de commande.

The default command key bindings are:

[ Enter copy mode to copy text or view the history.

Function vi emacs
-------- -- -----
Half page down C-d M-Down
Half page up C-u M-Up
Next page C-f Page down
Previous page C-b Page up
Scroll down C-Down or C-e C-Down
Scroll up C-Up or C-y C-Up
Search again n n
Search again in reverse N N
Search backward ? C-r
Search forward / C-s

Plus un tas d'autres. Notez que vous devez appuyer deux fois sur C-b si vous l'utilisez pour la mise en page puisque C-b est lié comme touche de commande. Voir la page man pour des informations sur la façon de faire précéder une commande en mode copie par un compte de répétitions.

Vous pouvez définir le mode de reliure de la touche en utilisant Ctrl-b, puis

:set-window-option mode-keys emacs

ou vi.

335
335
335
2012-11-25 13:05:29 +0000

Eh bien, vous devriez réfléchir à la bonne façon de régler le défilement : ajoutez votre tmux.conf

set -g mouse on #For tmux version 2.1 and up

ou

set -g mode-mouse on #For tmux versions < 2.1

Ça a marché pour moi dans les fenêtres et les vitres. Maintenant, tmux est tout simplement parfait. Practical tmux a plus d'informations sur les fichiers tmux.conf.

147
147
147
2011-08-22 20:49:40 +0000

De mon .tmux.conf :

# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Cela permet le défilement natif de l'xterm.

63
63
63
2015-12-01 16:09:27 +0000

Pour le tout nouveau tmux 2.1, pour faire défiler votre souris de façon saine, voici la bonne réponse :

set -g mouse on
" sane scrolling:
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 recharger votre .tmux.conf vous devez redémarrer votre tmux, par exemple tmux kill-server && tmux

tiré de https://github.com/tmux/tmux/issues/145

16
16
16
2015-04-17 03:43:47 +0000

Dans mon cas, il suffit d'opter pour + flèche vers le haut et + flèche vers le bas sur OSX.

12
12
12
2013-06-21 15:33:39 +0000

C'est la façon dont je l'ai fait fonctionner, et les raisons pour lesquelles je pense que c'est mieux que la façon par défaut.

Pour l'essayer, mettez toutes les sections du code dans ~/.tmux.conf.

Étape 1. Changez la clé de préfixe pour ne pas avoir à atteindre un bit. Le “B” est apparemment une touche proche, mais il se trouve au milieu des deux index (à “F” et “J”, respectivement). Comme ce raccourci est essentiel dans le tmux, C-j est bien meilleur car il implique un mouvement nul de la main (en dehors de la frappe de la touche).

set -g prefix C-j
unbind C-b
bind C-j send-prefix

Étape 2. S" (pour entrer en mode copie) est : 1) fermer (même raison que ci-dessus), 2) implique l'autre main (comparez : la 1-2 dans la boxe, ou la commande ls pour voir les fichiers dans un répertoire), et 3) pourrait être considéré comme un mnémonique pour le “défilement” (bien que le mode copie ne soit pas seulement une question de défilement).

bind s copy-mode

Étape 3. La dernière partie, le défilement proprement dit. Les lettres “P” et “N” sont familières aux utilisateurs d'Emacs à cet effet. Ils sont proches, intuitifs (“P” est au-dessus de “N” sur le clavier) et mnémotechniques (“précédent” et “suivant”). Si vous venez de faire défiler Emacs et que vous allez ensuite sur tmux, il est logique d'avoir ces raccourcis. Cependant, j'ai découvert que “I” et “K” sont encore meilleurs - ils sont encore plus proches que “P” et “N”, et intuitifs (pour la même raison) ; quant à la mnémotechnique - comme le défilement est une chose si courante, la mnémotechnique n'aura pas vraiment d'importance car les raccourcis contourneront bientôt votre cerveau et entreront dans la mémoire musculaire.

8
8
8
2016-12-07 16:34:30 +0000

Je vous recommande d'essayer le plugin tmux-better-mouse-mode pour résoudre la plupart de vos problèmes liés à la souris tmux.

Il est compatible avec Tmux 2.1+ et la nouvelle approche set-option -g mouse on.

8
8
8
2016-03-31 00:42:33 +0000

J'ai beaucoup cherché et la meilleure solution pour moi fonctionne comme mentionné dans ce guide détaillé http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

Ajouter ces reliures dans ~/.tmux. conf :

set -g mode-mouse on

unbind +
bind + \
  new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
  swap-pane -s tmux-zoom.0 \;\
  select-window -t tmux-zoom

unbind -
bind - \
  last-window \;\
  swap-pane -s tmux-zoom.0 \;\
  kill-window -t tmux-zoom

Avec l'approche ci-dessus mise en œuvre, vous pouvez copier à partir des panneaux d'une fenêtre ainsi qu'en zoomant dans chaque panneau d'abord en utilisant Prefix +.

Un détail important qui manquait avec le mode souris est d'appuyer sur Shift avant de sélectionner une zone à copier. Cela la copiera dans le tampon terminal traditionnel au lieu du tampon de copie tmux. https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )

7
7
7
2015-10-28 10:59:33 +0000

La seule chose qui fonctionne pour moi est de mettre ce qui suit dans ~/.tmux.conf

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

(vous devrez peut-être redémarrer pour que cela prenne effet)

Update:

J'ai trouvé que si vous changez le paramètre dans Putty Connection > Data > Terminal-type à “putty” (utilisé pour corriger certains problèmes de formatage) de “xterm” alors cette solution ne fonctionne plus.

Mise à jour 2:

Utilisez ceci si vous voulez “putty” comme type de terminal : set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

6
6
6
2017-01-04 20:22:53 +0000

Cela a fonctionné pour moi :

vim ~/.tmux.conf
set -g mode-mouse on ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf
4
4
4
2019-09-22 02:10:00 +0000

FWIW, sur un macbook/OSX Mojave, après ctrl+[ faire :

  • up arrow pour la ligne supérieure
  • down arrow pour la ligne inférieure
  • fn + up arrow pour la page supérieure
  • fn + down arrow pour la page inférieure
  • q pour quitter le mode d'affichage
-2
-2
-2
2016-10-26 07:55:46 +0000
  • Ctrl + A - pour commencer le défilement
  • Ctrl + C - pour arrêter le défilement