./tmux.confに状態変数を定義して、この変数に基づいてキーバインディングに別のコマンドを呼び出す方法があるかどうか疑問に思います。
たとえば、tmuxでウィンドウの最大化を切り替えたいM-F
(ウィンドウが最大化されていない場合、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
確実に可能です。この回答良い例があります。
あなたが探しているものが最大化されたウィンドウを切り替えることであれば、バージョン1.8以降、これはフラグを使用して実装された-Z
基本的なtmux機能ですresize-pane
(参照スーパーユーザーへの答えです。)。
私のインストールはデフォルトでバンドルされていますtmux-prefix(zOS XのHomebrew経由)。