Existem três classes distintas de opções: servidor, sessão e janela. Essas classes são exclusivas: cada opção pertence a apenas uma das classes. Nunca há herança entre as classes de opções.
Há apenas um nível de opções de servidor, portanto, não há herança (embora você possa ter vários servidores independentes usando os sinalizadores de linha de comando -L
ou -S
).
As opções de sessão e janela usam uma hierarquia de dois níveis: as opções de sessão global (janela) fornecem valores padrão para opções de sessão (janela) não definidas. As opções de sessão e janela são inicialmente não definidas, portanto, novas sessões / janelas usarão automaticamente os valores das opções globais de sessão / janela.
Quando uma opção de sessão é definida ( set-option
), o valor recém-definido substituirá o valor global dessa sessão. Para voltar a usar o valor global, desmarque a opção ( set-option -u
). As alterações nos valores da opção de sessão global afetarão todas as sessões nas quais essa opção está atualmente não definida. A mesma ideia aplica-se às opções da janela (exceto definir uma opção de janela substitui o valor de uma janela individual em vez de uma sessão individual).
Por exemplo, para encontrar o valor efetivo da opção base-index
session para uma sessão específica:
- Verifique a opção
base-index
da sessão (por exemplo, o que você obtém detmux -t «target-session» show-options base-index
* ).- Se a sessão tiver um valor
base-index
, use-a. - Se o valor da sessão não foi definido, use o valor global (por exemplo, o que você obtém de
tmux show-options -g base-index
).
- Se a sessão tiver um valor
Da mesma forma, para encontrar o valor efetivo da opção mode-keys
window para uma janela específica:
- Verifique a opção
mode-keys
da janela (por exemplo, o que você obtém detmux -t «target-window» show-options -w mode-keys
** ).- Se a janela tiver um valor
mode-keys
, use-a. - Se o valor da janela não foi definido, use o valor global (por exemplo, o que você obtém de
tmux show-options -gw mode-keys
).
- Se a janela tiver um valor
* As versões mais antigas do tmux não aceitam um argumento de nome de opção para show-options
. Com essas versões, você terá que fazer algo parecido com grep : tmux -t target show-options | grep '^base-index '
.
** Isso é o mesmo que tmux show-window-options base-index
, se você gostar disso Melhor. O comando relacionado para as opções da janela global é tmux show-window-options -g base-index
.
Aqui está um diagrama:
.---------------.
( 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)