我知道如何在 tmux 中将按键绑定到命令,但我想创建一个自定义命令(可以使用前缀键 + 冒号输入)。在此自定义命令中,我想执行其他几个命令。
我的想法是这样的:
no-side-status() {
set status-left-length 0
set status-right-length 0
}
side-status() {
set status-left-length 50
set status-right-length 150
}
因此我可以键入:no-side-status
来隐藏左侧和右侧状态栏,然后键入:side-status
来恢复左侧和右侧状态栏。
是否可以创建这样的自定义命令?如果可以,该怎么做?如果不行,还有其他方法可以实现我想要的吗?
答案1
最初,tmux 除了运行外部 shell 脚本之外,不支持任何自定义命令。
有一个 mod 为 tmux 添加了全面的脚本支持:http://ershov.github.io/tmux/
它还允许创建用户命令。例如,您的命令如下:
proc no-side-status {} {
set status-left-length 0
set status-right-length 0
}
proc side-status {} {
set status-left-length 50
set status-right-length 150
}
要从 tmux 命令行使用,只需输入C-b :
和side-status
或no-side-status
。
要将其绑定到密钥,请使用bind C-p tcl side-status
。
答案2
bind C-p run "/usr/bin/notify-send Foo"
答案3
这是完整答案。您可以有两个 tmux 配置。一个包含
set status-left-length 0
set status-right-length 0
bind-key R source-file ~/.tmux.alternative.conf \; \
display-message "Alternative configuration loaded"
另一个包含
set status-left-length 50
set status-right-length 15
bind-key R source-file ~/.tmux.conf \; \
display-message "Default configuration loaded"
答案4
tmux 现在支持浮动窗口了。你可以使用 弹出一个窗口tmux display-popup
。然后在这个弹出的窗口中运行你想要使用的脚本。