web-dev-qa-db-fra.com

Liaison d'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 fastidieux pour changer de volet. Je me demandais donc si je pouvais lier C-1, par exemple, pour passer au volet n ° 1.

Ou peut-être existe-t-il un moyen de créer un raccourci dans l'émulateur de terminal pour envoyer C-b + 1 lorsque j'appuie sur C-1?

Merci!

44
Ivan

pour votre exemple, utilisez:

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

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

45
Autoplectic

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

Selon tmux(1), -n is an alias for -T root. Donc, inclure -n ne signifie pas réellement 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

Crée une nouvelle fenêtre lorsque c est enfoncé, 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
2
g33kz0r