Utiliser Ctrl + B en moins dans tmux

17

J'utilise le Ctrl+Bpréfixe de commande in tmux, mais cela se heurte à Ctrl+Bin less, qui est utilisé pour faire défiler un fichier.

Comment puis-je faire en sorte que cela fonctionne? Dois-je définir un préfixe de commande différent dans tmux? Je ne veux vraiment pas avoir à apprendre de nouvelles liaisons de touches si je peux l'éviter.

dogbane
la source

Réponses:

18

Évidemment, vous ne pouvez pas avoir deux touches qui font la même chose lorsque les deux programmes écoutent. Tmux va l'obtenir en premier. Vous n'avez pas spécifié quel ensemble de raccourcis clavier vous ne souhaitez pas réapprendre, mais vous devez faire quelque chose de différent car la même clé est utilisée pour les deux applications.

Si vous ne l'utilisez que de manière occasionnelle, lessvous pouvez simplement transmettre la vraie chose en appuyant sur Ctrl+ BB(c'est-à-dire Ctrl-B deux fois) tmuxpour transmettre un seul Ctrl-B à l'application dans le volet actuel.

Si vous voulez changer la tmuxliaison pour être autre chose (dites comme Ctrl+ Acomme screen), vous pouvez l'ajouter à votre fichier `~ / .tmux.conf:

unbind C-b
set -g prefix C-a

Si vous souhaitez utiliser autre chose less, la Gclé est généralement déjà liée au début du fichier, donc aucune modification n'est nécessaire. Si ce changement ne vous convient pas, vous pouvez relier les clés à l'aide de lesskey.

Caleb
la source
Si je change la liaison tmux en Ctrl+A, cela entrera en conflit avec le début de la commande. J'ai également «Ctrl + B + B» lié à la fenêtre précédemment sélectionnée.
dogbane
1
@Caleb: Dans mon tmux(Ubuntu 11.04 avec la configuration par défaut), "Ctrl + B B" ne fait rien (ni n'est documenté dans la page de manuel); il faut utiliser "Ctrl + B Ctrl + B" pour envoyer un Ctrl + B à l'application. (En revanche, par screendéfaut , utiliser "Ctrl + A A" pour envoyer un "Ctrl + A" à l'application.) Excellente réponse, en tout cas.
Riccardo Murri
1
@RiccardoMurri: C'est un problème de nomenclature. Je n'ai pas laissé d'espace entre les Btouches qui indiquerait un relâchement du contrôle. Normalement, avec des touches de style comme celles-ci, vous mettriez un espace ou une virgule entre les touches si la touche de contrôle devait être libérée, mais ce n'est pas une norme bien définie. Certaines personnes n'utilisent même pas la même +syntaxe ...
Caleb
@dogbane: Si vous associez à nouveau un double CTRL-B à autre chose que la valeur par défaut, c'est votre faute et vous devrez soit remapper cela, mapper la version directe de CTRL-B à autre chose, soit utiliser une clé différente pour moins.
Caleb
2
@dogbane J'utilise Ctrl+\ , mais c'est évidemment une question de préférence personnelle. Vous n'aimerez pas mon choix si vous n'avez pas un moyen de taper Ctrl+\ sur votre clavier sans contorsions des doigts.
Gilles 'SO- arrête d'être méchant'
17

Dans tmux avec la configuration par défaut, appuyer deux fois sur Ctrl + B envoie un Ctrl + B à l'application.

Riccardo Murri
la source
6

Vous pouvez utiliser la commande tmux send-prefix. Il enverra votre préfixe de liaison de clé tmux à la fenêtre actuelle

Par exemple, dans .tmux.conf:

set-option -g prefix C-a
bind-key v send-prefix

Ensuite, appuyer sur Ctrl-a+ venverra Ctrl-aau terminal.

diabloneo
la source
0

Vous pouvez essayer d'utiliser Page Up;)

Simon D
la source