tmux: como vincular uma chave para iniciar o comando shell?

9

Eu uso tmuxpara desenvolver, com dois painéis: um para editar o código e outro para compilá-lo. Eu preciso alternar o painel com muita frequência para iniciar o comando de compilação (diga " mvn install").
Como vincular uma chave (digamos " Ctrl+ B C") para iniciar esse comando específico no outro painel (ou sem nenhum painel)?

cdupont
fonte

Respostas:

7

C-b cjá possui uma ligação padrão que pode ser prudente deixar inalterada. Escolhendo outro caractere, por exemplo, C-b Cvocê pode configurar uma ligação no seu ~/.tmux.confarquivo da seguinte maneira:

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

Os -t.-meios "o outro painel". Entersignifica a chave desse nome, ou seja, a nova linha no final do comando.

meuh
fonte
Obrigado pela solução. No entanto, aprendi que ele também imprime o comando no painel do terminal devido.
Elquimista
7

A resposta certa para esta pergunta é: use bind-key, por exemplo:

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

onde KEY=Cno seu caso.

Igor Chubin
fonte
Obrigado. Não está claro para mim onde o comando será executado? Em qual painel será a saída?
Cdupont 11/1118
Essa deve ser a resposta aceita. a resposta do meuh funciona, mas simula a interação humana real, resultando na impressão do comando no painel do terminal.
Elquimista 27/12/18