Є три різні класи варіантів: сервер, сеанс та вікно. Ці класи є ексклюзивними: кожен варіант належить лише одному з класів. Між опціональними класами ніколи не відбувається спадкування.
Існує лише один рівень параметрів сервера, тому спадкування там немає (хоча ви можете мати кілька незалежних серверів, використовуючи прапори -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
. Однак з точки зору використання параметри сервера IMHO не потрібні.