有三种不同的选项类别:服务器,会话和窗口。这些类是互斥的:每个选项仅属于其中一个类。选项类之间永远不会有任何继承。
服务器选项只有一个级别,因此那里没有继承(尽管您可以使用-L
或-S
命令行标志来拥有多个独立的服务器)。
会话和窗口选项各自使用两级层次结构:全局会话(窗口)选项为未设置的会话(窗口)选项提供默认值。会话和窗口选项最初都未设置,因此新的会话/窗口将自动使用全局会话/窗口选项值。
设置会话选项(set-option
)后,新设置的值将覆盖该会话的全局值。要返回使用全局值,请取消设置选项(set-option -u
)。对全局会话选项值的更改将影响当前未设置该选项的所有会话。相同的想法适用于窗口选项(除了设置窗口选项会覆盖单个窗口而不是单个会话的值)。
例如,要查找base-index
特定会话的会话选项的有效值:
- 检查会话的
base-index
选项(即您从tmux -t «target-session» show-options base-index
*获得的内容)。
- 如果会话具有
base-index
值,请使用它。
- 如果未设置会话的值,则使用全局值(即从中获得的值
tmux show-options -g base-index
)。
同样,要查找mode-keys
特定窗口的窗口选项的有效值:
- 检查窗口的
mode-keys
选项(即您从tmux -t «target-window» show-options -w mode-keys
**获得的内容)。
- 如果窗口具有
mode-keys
值,则使用它。
- 如果未设置窗口的值,则使用全局值(即从中获得的值
tmux show-options -gw mode-keys
)。
*较旧的tmux版本不接受的选项名称参数show-options
。对于这些版本,您将必须执行grep之类的操作:tmux -t target show-options | grep '^base-index '
。
** tmux show-window-options base-index
如果您更喜欢,则与相同。全局窗口选项的相关命令为tmux show-window-options -g base-index
。
这是一个图:
.---------------.
( server options )
`---------------'
===========================================================
.----------------------.
( global session options ) base-index 1
`---------+--+---------' visual-bell on
--/ \--
--/ \--
+-----/-----+ +-----\-----+
| session X | | session Y |
+-----------+ +-----------+
base-index 0 visual-bell off
effective values for X:
base-index 0 (set)
visual-bell on (global)
effective values for Y:
base-index 1 (global)
visual-bell off (set)
===========================================================
.---------------------.
( global window options ) pane-base-index 1
`---------+++---------' mode-keys emacs
---/ | \---
--/ | \---
---/ | \---
---/ | \---
+-------/----+ +------+-----+ +------\-----+
| window X.0 | | window X.1 | | window Y.0 |
+------------+ +------------+ +------------+
pane-base-index 0 mode-keys vi
mode-keys vi
effective values for X.0:
pane-base-index 0 (set)
mode-keys vi (set)
effective values for X.1:
pane-base-index 1 (global)
mode-keys emacs (global)
effective values for Y.0:
pane-base-index 1 (global)
mode-keys vi (set)
show -s
。但是,从使用角度来看,服务器选项不是必需的恕我直言。