オプションには、サーバー、セッション、ウィンドウの3つの異なるクラスがあります。これらのクラスは排他的です。各オプションは1つのクラスのみに属します。オプションクラス間に継承はありません。
サーバーオプションのレベルは1つしかないため、そこには継承がありません(-L
または、-S
コマンドラインフラグを使用して複数の独立したサーバーを持つことができます)。
セッションとウィンドウのオプションはそれぞれ2レベルの階層を使用します。グローバルセッション(ウィンドウ)オプションは、設定されていないセッション(ウィンドウ)オプションのデフォルト値を提供します。セッションとウィンドウのオプションはすべて最初は設定されていないため、新しいセッション/ウィンドウは自動的にグローバルなセッション/ウィンドウのオプション値を使用します。
セッションオプションが設定されている場合(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
です。ただし、使用の観点からは、サーバーオプションは必須ではありません。