tmux: как связать ключ для запуска команды оболочки?

9

Я использую tmuxдля разработки две панели: одну для редактирования кода и одну для его компиляции. Мне нужно переключать панель очень часто, чтобы запустить команду компиляции (скажем, " mvn install").
Как я могу связать ключ (скажем, « Ctrl+ B C») для запуска этой конкретной команды в другой панели (или вообще без какой-либо панели)?

cdupont
источник

Ответы:

7

C-b cуже имеет стандартную привязку, которую было бы целесообразно оставить без изменений. Выбор другого символа, например, C-b Cвы можете установить привязку в вашем ~/.tmux.confфайле следующим образом:

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

В -t.-означает «другая панель». Enterобозначает ключ этого имени, то есть символ новой строки в конце команды.

meuh
источник
Спасибо за решение. Тем не менее, я узнал, что он также печатает команду на панели терминала из-за.
Elquimista
7

Правильный ответ на этот вопрос: использовать bind-key, например:

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

где KEY=Cв вашем случае.

Игорь Чубин
источник
Спасибо. Мне не понятно, где будет выполняться команда? В какой панели будет вывод?
cdupont
Это должен быть принятый ответ. Ответ meuh работает, но он имитирует реальное взаимодействие с человеком, что приводит к выводу команды на панель терминала.
Elquimista