将 Tmux 前缀设置为键序列而不是默认键组合
Setting up Tmux prefix to be a key sequence instead of the default key combination
默认情况下,将焦点切换到 Tmux 以输入命令的前缀是 C-b
(ctrl + b
)。这是一个组合键。相反,我想使用键序列。我想双击 control
键 (C C
(ctrl ctrl
)).
如何实现?
一般来说,你不能这样做:终端使用 Control 作为 modifier键。重复修饰符无效。
这有几个方面:
tmux
(like screen
) 运行s 在常规终端中。 tmux
是一个 curses 应用程序而 screen
是一个 termcap 应用程序这一事实没有区别,因为它们都用于相同类型的终端。
- 终端是传统的,因为它们要么是硬件终端,例如 DEC
VT100
,要么模拟(像)硬件终端。
- 所有这些("real" 终端和终端仿真器)都设计用于发送字符,例如 US-ASCII(本质上是 POSIX 字符集,以及控制字符)。
- 为了能够发送这些字符,一些键被分配了 修饰符 的角色。也就是说,它们仅与其他键结合使用以修改发送的值。
- 修饰符 键的示例包括:Shift、Control、 NumLock, Alt.
- 虽然有图形应用程序(例如
xev
X Window 应用程序)可以读取键盘上几乎任何键的单独按键和按键事件,但终端仿真器使用结合了这些以及修改键的键盘配置。终端仿真器中的应用程序 运行ning 只能看到按键的效果,经过修改以反映您正在使用的是 shift、control 等修改键。
- a 少数 特殊情况存在,例如 Linux 控制台,应用程序可以对其进行系统调用以获取一些事件信息。然而,为传统终端编写的应用程序(回到
tmux
和 screen
)不使用这些特殊情况。这是因为专用信息仅在 某些 终端上可用,而应用程序设计为能够 attach(和 运行 无缝)在任何(传统)终端上)。
关于特殊函数调用,之前已经问过,例如
- Access Keystrokes in C
- How to fetch data in a background process in Ubuntu
默认情况下,将焦点切换到 Tmux 以输入命令的前缀是 C-b
(ctrl + b
)。这是一个组合键。相反,我想使用键序列。我想双击 control
键 (C C
(ctrl ctrl
)).
如何实现?
一般来说,你不能这样做:终端使用 Control 作为 modifier键。重复修饰符无效。
这有几个方面:
tmux
(likescreen
) 运行s 在常规终端中。tmux
是一个 curses 应用程序而screen
是一个 termcap 应用程序这一事实没有区别,因为它们都用于相同类型的终端。- 终端是传统的,因为它们要么是硬件终端,例如 DEC
VT100
,要么模拟(像)硬件终端。 - 所有这些("real" 终端和终端仿真器)都设计用于发送字符,例如 US-ASCII(本质上是 POSIX 字符集,以及控制字符)。
- 为了能够发送这些字符,一些键被分配了 修饰符 的角色。也就是说,它们仅与其他键结合使用以修改发送的值。
- 修饰符 键的示例包括:Shift、Control、 NumLock, Alt.
- 虽然有图形应用程序(例如
xev
X Window 应用程序)可以读取键盘上几乎任何键的单独按键和按键事件,但终端仿真器使用结合了这些以及修改键的键盘配置。终端仿真器中的应用程序 运行ning 只能看到按键的效果,经过修改以反映您正在使用的是 shift、control 等修改键。 - a 少数 特殊情况存在,例如 Linux 控制台,应用程序可以对其进行系统调用以获取一些事件信息。然而,为传统终端编写的应用程序(回到
tmux
和screen
)不使用这些特殊情况。这是因为专用信息仅在 某些 终端上可用,而应用程序设计为能够 attach(和 运行 无缝)在任何(传统)终端上)。
关于特殊函数调用,之前已经问过,例如
- Access Keystrokes in C
- How to fetch data in a background process in Ubuntu