tmux: comment lier une clé pour lancer la commande shell?


9

J'utilise tmuxpour développer, avec deux volets: un pour éditer le code, et un pour le compiler. Je dois changer de volet très souvent pour lancer la commande de compilation (par exemple " mvn install").
Comment puis-je lier une clé (dites " Ctrl+ B C") pour lancer cette commande spécifique dans l'autre volet (ou sans aucun volet)?

Réponses:


7

C-b cpossède déjà une reliure standard qu'il pourrait être judicieux de laisser inchangée. Choisir un autre caractère, par exemple, C-b Cvous pouvez configurer une liaison dans votre ~/.tmux.conffichier comme suit:

bind C send-keys -t.- 'mvn install' Enter

Le -t.-moyen "l'autre volet". Enterreprésente la clé de ce nom, c'est-à-dire la nouvelle ligne à la fin de la commande.


Merci pour la solution. Cependant, j'ai appris qu'il imprime également la commande dans le volet terminal en raison.
— elquimista

7

La bonne réponse à cette question est: utiliser bind-key, par exemple:

tmux bind-key "$KEY" run-shell "/path/to/script.sh"

où KEY=Cdans votre cas.


Merci. Il n'est pas clair pour moi où la commande sera exécutée? Dans quel volet sera la sortie?
— cdupont

Ce devrait être la réponse acceptée. La réponse de meuh fonctionne mais elle simule une véritable interaction humaine, ce qui entraîne l'impression de la commande dans le panneau terminal.
— elquimista
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.