Esistono tre classi distinte di opzioni: server, sessione e finestra. Queste classi sono esclusive: ogni opzione appartiene a una sola delle classi. Non c'è mai eredità tra le classi di opzioni.
Esiste un solo livello di opzioni del server, quindi non vi è ereditarietà (sebbene sia possibile avere più server indipendenti utilizzando i flag della riga di comando -L
o -S
).
Le opzioni di sessione e finestra utilizzano ciascuna una gerarchia a due livelli: le opzioni di sessione globale (finestra) forniscono valori predefiniti per le opzioni di sessione (finestra) non impostate. Le opzioni di sessione e finestra non sono tutte inizialmente impostate, quindi le nuove sessioni / finestre useranno automaticamente i valori globali dell'opzione sessione / finestra.
Quando viene impostata un'opzione di sessione ( set-option
), il valore appena impostato sovrascriverà il valore globale per quella sessione. Per tornare a utilizzare il valore globale, deselezionare l'opzione ( set-option -u
). Le modifiche ai valori dell'opzione di sessione globale avranno effetto su tutte le sessioni in cui tale opzione non è attualmente impostata. La stessa idea si applica alle opzioni della finestra (tranne che per l'impostazione di un'opzione della finestra ha la precedenza sul valore di una singola finestra anziché di una singola sessione).
Ad esempio, per trovare il valore effettivo per l' base-index
opzione di sessione per una determinata sessione:
- Controlla l'
base-index
opzione della sessione (cioè da cosa ottieni tmux -t «target-session» show-options base-index
* ).
- Se la sessione ha un
base-index
valore, quindi usalo.
- Se il valore della sessione non è stato impostato, utilizzare il valore globale (ovvero da cosa si ottiene
tmux show-options -g base-index
).
Allo stesso modo, per trovare il valore effettivo per l' mode-keys
opzione finestra per una finestra particolare:
- Controlla l'
mode-keys
opzione della finestra (es. Da cosa ottieni tmux -t «target-window» show-options -w mode-keys
** ).
- Se la finestra ha un
mode-keys
valore, allora usalo.
- Se il valore della finestra non è stato impostato, utilizzare il valore globale (ovvero da cosa si ottiene
tmux show-options -gw mode-keys
).
* Le versioni precedenti di tmux non accettano un argomento per il nome dell'opzione per show-options
. Con queste versioni si dovrà fare qualcosa di simile grep per esso: tmux -t target show-options | grep '^base-index '
.
** È lo stesso di tmux show-window-options base-index
, se ti piace di più. Il comando correlato per le opzioni della finestra globale è tmux show-window-options -g base-index
.
Ecco un diagramma:
.---------------.
( 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
. Tuttavia, dal punto di vista dell'utilizzo, le opzioni del server non sono necessarie IMHO.