是否可以在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命令?
答案 0 :(得分:2)
据我所知,没有官方方法直接在.tmux.conf
中声明shell函数。
如果您经常使用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