7

如果我在宽屏显示器上工作,我喜欢主要使用两个窗格并使用C-a Ca.

如果我正在使用方形显示器,我将使用两个窗口。我希望能够在它们之间切换,C-a C-a而无需更改我的tmux.conf.

4

2 回答 2

11

如果你总是希望 Ca

  • 当活动窗口有多个窗格时在窗格之间切换,并且
  • 当活动窗口只有一个窗格时在窗口之间切换,

然后您可以使用if-shell计算活动窗口中窗格数量的 来决定last-panelast-window

bind-key C-a if-shell 'test $(tmux list-panes | wc -l) -gt 1' 'last-pane' 'last-window'

在“宽”和“方形”配置之间切换(例如通过break-panejoin-pane)时,重新排列窗格仍然“由您决定”。


tmux 1.8if-shellrun-shell做格式扩展,所以你可以简单的 shell 命令一下:

bind-key C-a if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window'
于 2012-09-12T03:08:20.930 回答
1

我想建议以下(调整 80 以区分您的两个终端宽度)

if-shell '[ "$COLUMNS" -gt 80 ]' 'bind-key C-a "select-window -t :.+"' 'bind-key C-a "next-window"'

但我要么弄乱了语法,要么COLUMNS没有在相关tmux环境中设置,因为上面的 shell 表达式对我来说总是评估为假。

于 2012-09-11T15:06:03.120 回答