54 votes

Lier une commande dans tmux sans utiliser la clé de préfixe

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 + n trop encombrant pour changer de volet, je me demandais donc si je pouvais lier C-1 par exemple, pour passer au volet #1.

Ou peut-être qu'il y a un moyen de faire en sorte que le raccourci dans l'émulateur de terminal envoie C-b + 1 quand j'appuie sur C-1 ?

Merci !

56voto

shmuelp Points 1116

Pour votre exemple, utilisez :

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

Le site -n est utilisé pour bind-key, cela signifie qu'il n'y a pas de préfixe.

4voto

J'ai un doute sur la réponse acceptée ici.

Selon tmux(1) , -n is an alias for -T root . Ainsi, en incluant -n ne signifie pas réellement qu'il n'y a "pas de préfixe", mais plutôt que la commande sera liée à la table racine, ce qui n'est "pas recommandé".

tmux(1) :

La table racine est utilisée pour les touches pressées sans le préfixe key : lier 'c' à new-window dans la table racine (non recommandé) signifie que le simple 'c' créera une nouvelle fenêtre.

Ce que cela semble dire, c'est que :

bind -n c new-window

Créera une nouvelle fenêtre lorsque c est pressé, et en effet, il le fait.

L'humour pince-sans-rire dans la phrase de l'auteur "non recommandé" vient du fait que "c" sera bien sûr pressé de nombreuses fois dans une session tmux moyenne, étant donné que Le "c" est la troisième lettre la plus fréquente en anglais. .

Pour un autre exemple, voici un changement rapide de fenêtre tmux (en utilisant les touches PageUp/PageDown) :

unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X