screenrc:如何在 gnome 终端中将“alt+数字”映射到“选择屏幕窗口”

screenrc:如何在 gnome 终端中将“alt+数字”映射到“选择屏幕窗口”

我在网上找到了这个:

bindkey "\261" 选择 1
bindkey "\262" 选择 2
bindkey "\263" 选择 3
....

基本上它将alt+映射1到“选择 1”;alt将 +2映射到“选择 2”。因此,当您按下alt+时1,它应该跳转到屏幕窗口 1。

这在 中有效xterm但在 中无效gnome-terminal。我知道gnome-terminal已经使用alt+N切换到选项卡n。所以我关闭了 gnome 终端的这个键映射gnome configure editor。但它仍然不起作用。

似乎当我按下alt+时1,它是由 接收的bash,而不是由 GNU screen 程序接收,因此它会在 bash 上放置一个特殊字符或放置"arg: 1"

有什么解决办法吗?非常感谢!

答案1

该问题是由于 Xterm 和 GNOME 终端对 Meta 键(PC 键盘上的 Alt)的不同处理引起的。

在 Xterm 中,按住 Meta 键将(默认)设置字符的最高位(Meta+1变为\261),而 GNOME 终端和大多数其他终端仿真器将保留字符不变但在其前面加上一个ESC(按下相同的键变为\033\061)。

GNOME 终端中似乎没有办法配置 Meta 键的处理(printf '\033[?1036l'可能可行,但我无法测试),因此您必须以某种方式绑定\033\061到“ select 1”等。(它实际上不太可能起作用,即使起作用,也可能破坏所有其他特殊键:箭头键、功能键等。)

相关内容