tmux 中的状态/切换变量

tmux 中的状态/切换变量

我想知道是否有一种在 ./tmux.conf 中定义状态变量的方法,这样根据这个变量,键盘绑定将调用不同的命令。

例如,我想用来M-F切换 tmux 中窗格的最大化(如果窗格未最大化,MF 会将其最大化,否则它将取消最大化)

这是我到目前为止的伪代码:

# Maximize pane: -------
# IF PANE_MAXIMIZED=False: 
# THEN: PANE_MAXIMIZED=True, and:
bind -n M-F new-window -d -n tmux-zoom  \; swap-pane -s tmux-zoom.0 \; select-window -t tmux-zoom

# Unmaximize pane -------
# IF PANE_MAXIMIZED=True: 
# THEN: PANE_MAXIMIZED=False, and:
bind -n M-F last-window \; swap-pane -s tmux-zoom.0 \; kill-window -t tmux-zoom

答案1

你可以使用该run-shell命令执行任意shell命令,所以这当然是可能的。这个答案有一个很好的例子。

如果您要寻找的只是切换最大化窗口,从版本 1.8 开始,这是一个本机 tmux 功能,通过使用标志-Z来实现resize-pane(请参阅这个关于超级用户的答案)。

它在我的安装中默认绑定tmux-prefixz通过 OS X 上的 Homebrew)。

相关内容