Comment puis-je faire une recherche dans tmux avec Terminal.app?

62

Quand je suis dans tmuxseulement une partie du texte apparaît. Si j'essaie de faire défiler la liste vers le haut ou le bas, la console défile 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 réellement monter / descendre sur le texte ligne par ligne . Quand j'appuie, qje vois dans la ligne d'état bash.

Quand je CTRL+bsuis Page UPou quand Pagela console monte ou descend mais pas le texte.

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

Jim
la source
Ce qui m'a surpris, mais ce qui semble fonctionner immédiatement est le défilement avec la souris du milieu tout en utilisant tmux dans gnome-terminal.
Anthon

Réponses:

89

Si vous utilisez Terminal.app sur OS X, il enregistrera les Page up/downpressions sur les touches et fera simplement défiler le contenu de la fenêtre, comme si vous utilisiez la barre de défilement. Vous pouvez utiliser Shift+ Page up/downpour 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échées ou Shift+Page up/down
  4. Control+ Clorsque vous avez terminé avec le scrollback

Si vous voulez changer ceci pour qu'il se comporte comme toutes les autres applications de terminal sur toutes les autres plateformes, vous pouvez aller à Terminal -> Préférences, Paramètres, choisir votre profil et aller à Clavier, et échanger les liaisons pour "page suivante / page précédente" et "décaler la page / décaler la page":

Capture d'écran des paramètres du clavier Terminal.app

mrb
la source
+1 bien que je ne puisse pas le tester mais cela semble être une réponse gagnante. Je me souviens d'avoir essayé CMDavec des flèches mais je ne me souviens pas d'avoir essayé SHIFT. Aussi swap the bindings for "page down/page up" and "shift page down/shift page upque voulez-vous dire? Je ne sais pas quoi faire. J'espère vraiment que cela fonctionnera parce que mes nerfs sont complètement anéantis
Jim
@ Jim Regardez la capture d'écran. Si vous ouvrez les paramètres sur votre ordinateur, vous verrez que vos touches "page précédente / suivante" et "déplacer la page suivante / précédente" ont des actions différentes de celles que j'ai précédemment (ce sont les liaisons: quelle touche fait quelle action). Si vous les permutez, vous pouvez changer ce qui se passe lorsque vous êtes en poste ou non. (Si vous les éditez, vous pouvez entrer \033en appuyant sur
échap
Je n'ai pas ma macdisponibilité pour vérifier cela maintenant, mais dans votre capture d'écran shift page downil y a un texte c'est-à-dire scroll to next page in buffer. Ceci est un texte spécial qui fait exactement ce qui est dit? Ie définit une cartographie? Aussi, y a-t-il un bon livre à ce sujet dans mac? Parce que je suis devenu fou avec le clavier ces dernières semaines
Jim
@ Jim Je ne connais pas de livres; Je suis juste entouré par des gens élevés sur des Mac. En ce qui concerne les paramètres clés, cela aura plus de sens une fois que vous le faites réellement. :)
mrb
D'accord. Je vais essayer cela dès que possible. Merci pour votre réponse. Je suis convaincu que vous avez donné la solution à mon problème! Je l'accepterai dès que je testerai ceci
Jim
31

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

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

Dans la documentation, il est souvent indiqué par ou

Daniël W. Crompton
la source
1
Cela fonctionne pour moi sur un nouvel Air avec 10.9.4 sans modifier les préférences ou les fichiers de configuration ni exécuter les commandes.
Paul A Jungwirth
8

Editez le fichier ~ / .tmux.conf, insérez le paramètre 'souris' et sourcez le fichier, par exemple:

###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
Surya
la source
Cela fonctionne parfaitement!
Sibbs Gambling
7

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

J'ai également trouvé page-upet page-downne sont pas des commandes tmux (v1.8) valides, une manière correcte de mettre à jour votre ~/.tmux.confest:

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

Choisissez soit emacs ou vi en fonction de ce que le style tmux utilise, reportez - vous mode-keysau tmux manuel

Après cela, vous pouvez pageup et down avec jet ;en mode copie

Ronnie
la source
1
Lien rapide sur la manière de mettre tmux en mode vi blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket
Si vous lisez attentivement l' article posté par JiminyCricket, il est expliqué que la syntaxe ci-dessus s'applique uniquement à tmux version 2.3 et ultérieure. Si vous avez une version plus récente, après avoir activé le mode vi, la commande list-keys -T copy-mode-viaffiche les liaisons de clé dans la nouvelle syntaxe (de bons exemples à suivre). Si vous souhaitez créer une liaison de page supérieure, par exemple, utilisez la lignebind-key -T copy-mode-vi j send-keys -X page-up
mareoraft
3

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

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

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

Cela pourrait aussi être une chose d’émulation de terminal, essayez l’une des solutions suivantes.

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

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

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

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

lierait jet ;à précédent et suivant.

Rob Bos
la source
1
page-upet page-downne sont pas des commandes tmux (v1.8) valides, donc ces deux dernières commandes donnent une erreur:Unknown command: page-(up|down)
Alex Leach
Voir la réponse de Ronnie ci-dessous pour que le travail de page en haut et de page en bas fonctionne
Silfheed
1

Vérifiez que vous utilisez bien les liaisons de clé 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 les pages vers le haut ou vers le bas avec Control+ U/ D, ni sélectionner et copier avec Spaceet 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 configuré pour aucun des deux systèmes d'exploitation.

Wei
la source
0

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

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

SunSparc
la source