我想使用与网络浏览器中相同的快捷方式在窗口之间跳转。
所以我尝试了
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。
答案1
没有所谓的角色^{
。
字节 0 到 0x1f 有 32 个 ^X 控制字符:^@
, ^A
.. ^Z
, ^[
, ^\
, ^]
, ^^
, ^_
。也是^?
字节 0x7f,ASCII 集中的最后一个字符。
请注意,终端^I
在Ctrl+I和上Tab、^[
在Ctrl+[和上Escape、^M
在Ctrl+M和上发送Enter。在 上Backspace,一些发送^H
(BS)一些^?
(DEL)。有些在+和+上发送^@
(NUL)等。IOW,按下+ 某些键时发送的字符是控制字符(具有控制功能的字符,例如回车符,它将电传打字机的滑架返回到起始位置), ASCII 中只有有限的集合(总共 33 个)。Ctrl@CtrlSpaceCtrl^M
在我的英国 PC 上,键盘{
位于Shift+上[,并且使用我的终端仿真器 (xterm) Ctrl+ Shift+[发送^[
类似Ctrl+[或Escdo 的内容。 AFAICT,kitty 在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
将发送与发送F11和F12键相同的序列(\x1b
这里又^[
称为 ESC)。
您可以将其绑定到 tmux 配置中:
bind-key -n "F11" previous-window
bind-key -n "F12" next-window