Il existe trois classes distinctes d'options : serveur, session et fenêtre. Ces classes sont exclusives : chaque option n'appartient qu'à une seule de ces classes. Il n'y a jamais d'héritage entre les classes d'options.
Il n'y a qu'un seul niveau d'options de serveur, il n'y a donc pas d'héritage (bien que vous puissiez avoir plusieurs serveurs indépendants à l'aide de l'option -L
o -S
drapeaux de ligne de commande).
Les options de session et de fenêtre utilisent chacune une hiérarchie à deux niveaux : les options globales de session (fenêtre) fournissent des valeurs par défaut pour les options de session (fenêtre) qui ne sont pas définies. Les options de session et de fenêtre sont toutes initialement non définies, de sorte que les nouvelles sessions/fenêtres utilisent automatiquement les valeurs des options globales de session/fenêtre.
Lorsqu'une option de session est définie ( set-option
), la nouvelle valeur définie remplacera la valeur globale pour cette session. Pour revenir à l'utilisation de la valeur globale, désactivez l'option ( set-option -u
). Les modifications apportées aux valeurs des options globales de session affecteront toutes les sessions dans lesquelles cette option est actuellement désactivée. La même idée s'applique aux options de fenêtre (sauf que la définition d'une option de fenêtre remplace la valeur pour une fenêtre individuelle au lieu d'une session individuelle).
Par exemple, pour trouver la valeur effective de la base-index
option de session pour une session particulière :
- Vérifier la session
base-index
(c'est-à-dire ce que vous obtenez de l'option tmux -t «target-session» show-options base-index
* ).
- Si la session a un
base-index
valeur, puis l'utiliser.
- Si la valeur de la session n'a pas été définie, utilisez la valeur globale (c'est-à-dire ce que vous obtenez à partir de
tmux show-options -g base-index
).
De même, pour trouver la valeur effective de la mode-keys
option de fenêtre pour une fenêtre particulière :
- Vérifiez la fenêtre
mode-keys
(c'est-à-dire ce que vous obtenez de l'option tmux -t «target-window» show-options -w mode-keys
** ).
- Si la fenêtre a un
mode-keys
valeur, puis l'utiliser.
- Si la valeur de la fenêtre n'a pas été définie, utilisez la valeur globale (c'est-à-dire ce que vous obtenez à partir de
tmux show-options -gw mode-keys
).
* Anciennes versions de tmux n'acceptent pas un argument de nom d'option pour show-options
. Avec ces versions, vous devrez faire quelque chose comme grep pour cela : tmux -t target show-options | grep '^base-index '
.
** C'est la même chose que tmux show-window-options base-index
si vous préférez. La commande correspondante pour les options globales de la fenêtre est tmux show-window-options -g base-index
.
Voici un schéma :
.---------------.
( 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)