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ção.
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 globais de sessão (janela) fornecem valores padrão para as opções de sessão (janela) não definidas. As opções de sessão e janela são todas desmarcadas inicialmente, portanto, novas sessões / janelas usarão automaticamente os valores globais das opções de sessão / janela.
Quando uma opção de sessão é configurada ( set-option
), o novo valor definido substituirá o valor global para essa sessão. Para voltar a usar o valor global, desmarque a opção ( set-option -u
). As alterações nos valores das opções globais da sessão afetarão todas as sessões nas quais essa opção está desmarcada no momento. A mesma idéia se aplica às opções da janela (exceto a configuração de 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 base-index
opção de sessão para uma sessão específica:
- Verifique a
base-index
opção da sessão (ou seja, o que você obtém de tmux -t «target-session» show-options base-index
* ).
- Se a sessão tiver um
base-index
valor, use-o.
- Se o valor da sessão não foi definido, use o valor global (ou seja, o que você obtém
tmux show-options -g base-index
).
Da mesma forma, para encontrar o valor efetivo da mode-keys
opção da janela para uma janela específica:
- Marque a
mode-keys
opção da janela (ou seja, o que você obtém de tmux -t «target-window» show-options -w mode-keys
** ).
- Se a janela tiver um
mode-keys
valor, use-o.
- Se o valor da janela não foi definido, use o valor global (ou seja, o que você obtém
tmux show-options -gw mode-keys
).
* As versões mais antigas do tmux não aceitam um argumento de nome de opção para show-options
. Com essas versões que você terá que fazer algo como grep para isso: tmux -t target show-options | grep '^base-index '
.
** É o mesmo que tmux show-window-options base-index
, se você preferir. 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)
show -s
. No entanto, da perspectiva do uso, as opções do servidor não são necessárias IMHO.