Ada tiga kelas opsi yang berbeda: server, sesi, dan jendela. Kelas-kelas ini eksklusif: setiap opsi hanya milik salah satu kelas. Tidak pernah ada warisan antara kelas opsi.
Hanya ada satu tingkat opsi server, jadi tidak ada warisan di sana (meskipun Anda dapat memiliki beberapa server independen menggunakan bendera perintah -L
atau -S
baris perintah).
Opsi sesi dan jendela masing-masing menggunakan hierarki dua tingkat: opsi sesi global (jendela) memberikan nilai default untuk opsi sesi (jendela) yang tidak disetel. Semua opsi sesi dan jendela pada awalnya tidak disetel, sehingga sesi / jendela baru akan secara otomatis menggunakan nilai opsi sesi / jendela global.
Ketika opsi sesi diatur ( set-option
), nilai yang baru ditetapkan akan menimpa nilai global untuk sesi itu. Untuk kembali menggunakan nilai global, hapus pilihan ( set-option -u
). Perubahan pada nilai opsi sesi global akan mempengaruhi semua sesi di mana opsi itu saat ini tidak disetel. Ide yang sama berlaku untuk opsi jendela (kecuali pengaturan opsi jendela menimpa nilai untuk jendela individual, bukan sesi individu).
Misalnya, untuk menemukan nilai efektif untuk base-index
opsi sesi untuk sesi tertentu:
- Periksa opsi sesi
base-index
(yaitu apa yang Anda dapatkan dari tmux -t «target-session» show-options base-index
* ).
- Jika sesi memiliki
base-index
nilai, maka gunakan.
- Jika nilai sesi tidak ditetapkan, maka gunakan nilai global (yaitu apa yang Anda dapatkan
tmux show-options -g base-index
).
Demikian pula, untuk menemukan nilai efektif untuk mode-keys
opsi jendela untuk jendela tertentu:
- Periksa opsi jendela
mode-keys
(yaitu apa yang Anda dapatkan dari tmux -t «target-window» show-options -w mode-keys
** ).
- Jika jendela memiliki
mode-keys
nilai, maka gunakan.
- Jika nilai jendela tidak ditetapkan, maka gunakan nilai global (yaitu apa yang Anda dapatkan
tmux show-options -gw mode-keys
).
* Versi tmux yang lebih lama tidak menerima argumen nama opsi untuk show-options
. Dengan versi mereka yang Anda akan harus melakukan sesuatu seperti grep untuk itu: tmux -t target show-options | grep '^base-index '
.
** Ini sama dengan tmux show-window-options base-index
, jika Anda suka itu lebih baik. Perintah terkait untuk opsi jendela global adalah tmux show-window-options -g base-index
.
Berikut adalah diagram:
.---------------.
( 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
. Namun dari perspektif penggunaan, opsi server tidak perlu IMHO.-g
dan dihapus-s
hanya demi kesederhanaan UX. Saya hanya tidak mendapat manfaat dengan mengetahui opsi adalah opsi server.