Tmux

tmux:不能綁定 C-{ 沒有前綴

  • September 4, 2022

我想在具有與 Web 瀏覽器相同的快捷方式的視窗之間跳轉。

所以我嘗試了

bind-key -n "C-{" previous-window
bind-key -n "C-}" next-window

bind-key -n "C-S-[" previous-window
bind-key -n "C-S-]" next-window

它不工作。

我正在使用 macos、kitty 和 zsh。

沒有^{性格這樣的東西。

字節 0 到 0x1f 有 32 個 ^X 控製字元:^@, ^A.. ^Z, ^[, ^\, ^], ^^, ^_. 也是^?字節 0x7f,ASCII 集中的最後一個字元。

請注意,終端^I同時發送Ctrl+ITab^[同時發送Ctrl+[Escape^M同時發送Ctrl+MEnter。根據Backspace,一些發送^H(BS)一些^?(DEL)。一些在+和+上發送^@(NUL)等。IOW,按下+ 某些鍵時發送的字元是控製字元(具有控制功能的字元,例如將電傳打字機的馬車返回到起始位置的輸入), ASCII 中只有一個有限的集合(總共 33 個)。Ctrl``@``Ctrl``Space``Ctrl``^M

在我的英國 PC 鍵盤{上,Shift+[和我的終端仿真器 (xterm) Ctrl+ Shift+[發送^[喜歡Ctrl+[Esc做。AFAICT,小貓在Ctrl+ Shift+上什麼也沒發送[

您始終可以對其進行配置,使其在按下Ctrl++ (或鍵盤上的等效項Shift)時發送一些特定字元或字元序列[,然後將其綁定tmux 配置中的某些內容。

例如,使用:

map ctrl+shift+[ send_text all \x1b[23~
map ctrl+shift+] send_text all \x1b[24~

在您的~/.kitty/kitty.conf, 中,將發送與發送和鍵kitty相同的序列(這裡是ESC)。F11``F12``\x1b``^[

你可以在 tmux 配置中綁定它:

bind-key -n "F11" previous-window
bind-key -n "F12" next-window

引用自:https://unix.stackexchange.com/questions/716063