Liaison d'une commande dans tmux sans utiliser la clé de préfixe


46

Est-il possible de lier une commande tmux à une combinaison de touches et de l'utiliser directement sans appuyer d'abord sur le préfixe?

Je trouve C-b + ntrop fastidieux de C-1changer de volet. Je me demandais si je pouvais, par exemple, effectuer une liaison , pour passer au volet n ° 1.

Ou peut-être y a-t-il un moyen de faire en sorte que le raccourci de l'émulateur de terminal soit envoyé C-b + 1lorsque j'appuie sur C-1?

Merci!


1
Je viens d'utiliser set -g prefix C-a.
Grawity

Moi aussi, je viens de poser Cb sur ma question parce que c'est la valeur par défaut.
Ivan

Réponses:


46

pour votre exemple, utilisez:

bind-key -n C-1 select-pane -t 1

l'argument -n de bind-key signifie aucun préfixe.


1
Merci! Cela le fait presque, sauf qu'il ne reconnaît pas les chiffres, dit-il unknown key: C-1. Si j'utilise une lettre cela fonctionne. Savez-vous comment je peux spécifier une clé numérique?
Ivan

6
@ Ivan: Les codes habituels pour les frappes de contrôle viennent de ASCII. ASCII ne définit pas les codes pour C-1..C-9. Les caractères de contrôle ASCII standard sont C- @, Ca..Cz, C- [, C- \, C-], C- ^, C-_ et C- ?. La plupart des terminaux ne prennent tout simplement pas en charge des codes distincts pour la plupart des touches modifiées (bien que beaucoup prennent en charge certains modificateurs pour les touches de direction et les touches de fonction). Vous ferez probablement mieux d'utiliser F1à la place de C-1(notez également que les numéros de volet commencent par 0, et non par 1: lie F1 à la sélection de volet 0, F2 à 1, etc.).
Chris Johnsen

2

J'ai un problème avec la réponse acceptée ici.

Selon tmux(1), -n is an alias for -T root. Ainsi, inclure -nne signifie pas qu'il n'y a "pas de préfixe", cela signifie que la commande sera liée à la table racine, ce qui est "non recommandé".

tmux(1):

La table racine est utilisée pour les touches pressées sans la clé de préfixe: relier "c" à new-window dans la table racine (non recommandé) signifie que "c" va créer une nouvelle fenêtre

Cela semble être le suivant:

bind -n c new-window

Va créer une nouvelle fenêtre quand con appuie dessus, et c'est effectivement le cas.

L'humour sec dans la phrase de l'auteur "non recommandé" est le fait que "c" sera bien entendu enfoncé plusieurs fois dans la session moyenne de tmux, étant donné que "c" est la troisième lettre en anglais la plus fréquente .

Voici un autre exemple de changement rapide de fenêtre tmux (utilisant les touches PageUp / PageDown):

unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.