web-dev-qa-db-fra.com

Comment puis-je faire une page vers le haut ou vers le bas dans tmux avec Terminal.app?

Lorsque je suis dans tmux, seule une partie du texte s'affiche. Si j'essaie de faire défiler vers le haut ou vers le bas, la console fait défiler vers le haut mais pas le texte réel. Si je fais CTRL + b suivi de [, Je vois dans la barre d'état *tmux, et si j'appuie sur la flèche vers le haut ou vers le bas, je peux effectivement monter/descendre sur le texte ligne par ligne . Lorsque j'appuie sur q je vois dans la ligne d'état bash.

Quand je fais CTRL+b suivre Page UP ou Page la console monte ou descend mais pas le texte.

Comment faire défiler le texte vers le haut ou vers le bas sur plusieurs lignes à la fois?

65
Jim

Si vous utilisez Terminal.app d'OS X, il capturera Page up/down touches et faites simplement défiler le contenu de la fenêtre, comme si vous utilisiez la barre de défilement. Vous pouvez utiliser Shift+Page up/down pour les envoyer à l'application à l'intérieur du terminal.

En utilisant cela, vous devriez pouvoir faire défiler une page à la fois en utilisant:

  1. Control+B
  2. [
  3. Touches flèches ou Shift+Page up/down
  4. Control+C une fois le défilement terminé

Si vous souhaitez modifier cela pour qu'il se comporte comme toutes les autres applications de terminal sur toutes les autres plates-formes, vous pouvez aller dans Terminal -> Préférences, Paramètres, choisir votre profil et aller dans Clavier, et échanger les liaisons pour "page suivante/page suivante" et "décaler la page vers le bas/décaler la page vers le haut":

Terminal.app keyboard settings screenshot

91
mrb

J'utilise la combinaison par défaut sur le MacBook Pro pré Yosemite: fn++ ou fn++.

EDIT: J'ai trouvé sur un MBP exécutant Yosemite fn+ ou fn+ devrait fonctionner par défaut.

Dans la documentation, il est souvent indiqué par ⇞ ou ⇟

32

Modifiez le fichier ~/.tmux.conf, insérez le paramètre `` souris '' et sourcez le fichier, c'est-à-dire:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf
11
Surya

Une mise à jour des commandes de liaison dans la réponse de Rob et en réponse aux commentaires d'Alex:

J'ai aussi trouvé page-up et page-down ne sont pas des commandes tmux (v1.8) valides, une manière correcte de mettre à jour votre ~/.tmux.conf est:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

Choisissez emacs ou vi selon le style utilisé par tmux, reportez-vous à mode-keys in manuel tmux

Après cela, vous pouvez monter et descendre avec j et ; en mode copie

7
Ronnie

De https://wiki.archlinux.org/index.php/Tmux

Si vous rencontrez des problèmes de défilement avec Shift-PageUp/Shift-PageDown dans votre terminal, essayez ceci:

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

Il peut également s'agir d'une émulation de terminal, essayez l'une des méthodes suivantes.

export TERM=vt100
export TERM=ansi
export TERM=xterm

peut-être que l'un d'eux le ferait.

Il y a aussi bind-key, dans ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

lierait j et ; au précédent et au suivant.

3
Rob Bos

Vérifiez que vous utilisez les liaisons de touches tmux appropriées (vi vs emacs) en essayant les deux ensembles: https://superuser.com/questions/196060/selecting-text-tmux-copy-mode

J'ai eu un problème similaire où je pouvais déplacer le curseur avec les touches fléchées mais je ne pouvais pas faire défiler la page vers le haut ou vers le bas en utilisant Control+U/D et ne pouvait pas sélectionner et copier à l'aide Space et Enter. Il s'avère que tmux était en mode emacs sur mon Mac et en mode vi sous Linux même si je ne l'ai jamais explicitement défini pour aucun des systèmes d'exploitation.

1
Wei

Si vous êtes nouveau sur OS X et connaissez les raccourcis clavier de Windows et Linux, vous aurez probablement l'habitude d'utiliser le CTRL pour beaucoup de choses. Sous OS X, la clé de commande (ou Apple) est souvent utilisée à la place de la touche CTRL.

De plus, au lieu des touches Page, essayez d'utiliser Command + Up (ou les autres touches directionnelles) pour déplacer votre curseur ou votre écran.

0
SunSparc