我在网上找到了这个:
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
”等。(它实际上不太可能起作用,即使起作用,也可能破坏所有其他特殊键:箭头键、功能键等。)