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"

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.