Comment envoyer rapidement des commandes aux sessions tmux imbriquées?

30

J'ai ce qui suit dans mon .tmux.conf

set -g prefix M-j
bind-key j  send-prefix

J'ai besoin d'appuyer sur ( Atl+ J) + ( J) + touche liée pour envoyer quelque chose à la session tmux imbriquée. Je pense que c'est plutôt lent. Y a-t-il une meilleure façon? Par exemple, j'aimerais pouvoir faire ( Alt+ J) + (2x clé liée) pour faire des choses dans la session imbriquée. J'exécute constamment des commandes dans la session tmux supérieure au lieu de les exécuter dans la session imbriquée. De plus, comment se fait tout le monde se fixe prefixà C-a? Je trouve terriblement lent et désagréable de taper cette combinaison. Est-ce que je manque quelque chose?

Rolf
la source
Bien que je n'aime pas non plus Ctrl-A, votre commentaire sur son désagrément suggère que votre petit doigt atteint peut-être la touche de contrôle. Si c'est le cas, vous pourriez envisager de remapper le verrouillage des majuscules comme touche de contrôle - c'est ce que je fais pour garder le contrôle de mon doigt tordu, puis Ctrl + A est également moins difficile.
Stabledog
@Stabledog votre hypothèse est juste. Néanmoins, j'ai mappé capslock à ESC. Comment appuyez-vous sur capslock + a?
Rolf
Le combo Ca vit sur GNU Screen, qui est antérieur à tmux.
Kusalananda

Réponses:

33

C'est une pression de touche de moins pour envoyer une commande à votre session imbriquée si vous choisissez une clé différente. J'utilise Ctrltpour mon préfixe standard et Ctrlapour les sessions imbriquées.

# set prefix key to ctrl+t
unbind C-b
set -g prefix C-t

# send the prefix to client inside window
bind-key -n C-a send-prefix

Notez que j'utilise le -ncommutateur. À partir de l'entrée de clé de liaison dans man tmux:

si -n est spécifié, il n'est pas nécessaire d'utiliser la clé de préfixe, la commande est liée à la clé seule.

Ainsi, à titre d'exemple, Ctrlt, couvre une nouvelle fenêtre dans tmux; Ctrla, cfait de même dans la session imbriquée.

jasonwryan
la source
Impressionnant! Cela rend la session imbriquée aussi rapide qu'une session normale.
Rolf
1
Il n'est pas nécessaire de vous désengager C-bsi vous vous y êtes habitué. bind-key -n C-a send-prefixdevrait suffire.
utapyngo
0

La raison de ctrl-a est que la plupart des hackers Unix (que je connais au moins) remappent les majuscules pour contrôler. Cela rend tous les contrôles plus rapides, en particulier ctrl-a.

user256123
la source
2
Oui, comme je l'ai dit dans un commentaire précédent ci-dessus: Comment diable pouvez-vous appuyer sur capslock + a en même temps? J'utilise le petit doigt pour appuyer sur l'un ou l'autre.
Rolf