tmux: bagaimana cara mengikat kunci untuk meluncurkan perintah shell?

9

Saya gunakan tmuxuntuk mengembangkan, dengan dua panel: satu untuk mengedit kode, dan satu untuk mengkompilasinya. Saya perlu sering berpindah panel untuk meluncurkan perintah kompilasi (katakan " mvn install").
Bagaimana saya bisa mengikat kunci (katakan " Ctrl+ B C") untuk meluncurkan perintah khusus di panel lain (atau tanpa panel sama sekali)?

cdupont
sumber

Jawaban:

7

C-b csudah memiliki standar yang mengikat yang mungkin bijaksana untuk tidak berubah. Memilih karakter lain, misalnya C-b CAnda dapat menyiapkan pengikatan di ~/.tmux.conffile Anda sebagai berikut:

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

The -t.-berarti "panel lainnya". Entersingkatan kunci dari nama itu, yaitu baris baru di akhir perintah.

meuh
sumber
Terima kasih atas solusinya. Namun, saya mengetahui bahwa itu juga mencetak perintah ke panel terminal karena.
elquimista
7

Jawaban yang tepat untuk pertanyaan ini adalah: gunakan bind-key, misalnya:

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

KEY=Cdi mana dalam kasus Anda.

Igor Chubin
sumber
Terima kasih. Tidak jelas bagi saya di mana perintah akan dijalankan? Di panel mana akan menjadi output?
cdupont
Ini harus menjadi jawaban yang diterima. jawaban meuh bekerja tetapi mensimulasikan interaksi manusia nyata, sehingga menghasilkan pencetakan perintah ke panel terminal.
elquimista