Функции в конфиге tmux
Можно ли определить функцию в конфигурации Tmux? У меня есть общий рабочий процесс, который я хочу запустить для данного окна tmux. Прямо сейчас я определил это в скрипте bash, который получает номер окна в качестве параметра. Пример:
bind 1 run-shell "~/.config/tmux/switchWindow.sh 1"
bind 2 run-shell "~/.config/tmux/switchWindow.sh 2"
bind 3 run-shell "~/.config/tmux/switchWindow.sh 3"
bind 4 run-shell "~/.config/tmux/switchWindow.sh 4"
[...]
У меня есть эта настройка для нескольких функций. Итак, кроме моего tmux.config
для работы моей установки tmux требуется несколько сценариев bash. Я хочу сгладить это и в идеале все в tmux.conf
, Есть ли способ определить функции в моей конфигурации tmux и использовать внутри них команды bash?
1 ответ
Насколько я знаю, не существует официального способа объявить функцию оболочки непосредственно в .tmux.conf
, Если вы используете bash
обычно может быть полезно объявить функции в default-command
и выставить их дочерним процессам с export -f
и откройте интерактивный экран с bash -i
,
set-option -g default-command ' \
function switchWindow () { \
echo "Do something for $1"; \
}; \
function otherFunc () { \
echo "Do something for $1"; \
}; \
export -f switchWindow otherFunc; \
bash -i'
bind 1 send-keys "switchWindow 1" C-m
bind 2 send-keys "switchWindow 2" C-m