Tmux
如何將 tmux 視窗選擇綁定到 f1-f12 鍵?
目前我使用 CB N 在 tmux 視窗之間移動,其中 N 是我想要的視窗的編號。有沒有辦法映射 f 鍵,以便我可以按 f1 啟動第一個視窗,按 f2 啟動第二個視窗等?
tmux
允許將命令綁定到大多數鍵,有或沒有前綴鍵。$$ … $$此外,還接受以下特殊鍵名:Up、$$ … $$
F1
到F12
,$$ … $$.(來源
man 1 tmux
:)在裡面的shell中執行它
tmux
:for n in 1 2 3 4 5 6 7 8 9 10 11 12; do tmux bind-key -T root "F$n" select-window -t "$n" done
要使綁定永久化,請編輯您的
.tmux.conf
並在表單中添加 12 行:bind-key -T root F1 select-window -t 1 # up to bind-key -T root F12 select-window -t 12
筆記:
tmux
列舉視窗,0
但沒有F0
鍵。您的要求不包括第 0 個視窗。F1
..生成的序列F12
取決於很少的東西,主要取決於終端仿真器及其設置。我可以分辨tmux
出辨識^[OP
,^[OQ
,^[OR
,^[OS
, 但隨後^[[15~
代替^[OT
等等;所以你需要調整你的終端設置。例如,當從 Windows 通過 PuTTY 連接到 Debian 時,我需要在 PuTTY Settings → Terminal → Keyboard → The Function keys and keypad中選擇**Xterm R6。我注意到VT400和*VT100+*部分工作。我不知道您是否可以反過來進行調整(即調整到您的終端)。tmux
- 有些程序出於自己的目的使用功能鍵,您可能希望
tmux
讓它們使用。此範例片段用於.tmux.conf
製作F1
和F2
工作 inmc
andvim
:# Using function keys to select windows, except in mc or vim tmux_commands_with_function_keys="mc vim" bind-key -T root F1 \ if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \ 'send F1' 'select-window -t 1' bind-key -T root F2 \ if-shell 'echo "#{tmux_commands_with_function_keys}" | grep -q "#{pane_current_command}"' \ 'send F2' 'select-window -t 2'