本质上我只是想按Ctrl+Tab,而不是Ctrl+A然后Tab。我不相信这可以通过别名来完成,但已经阅读了一些关于可能使用stty
? 的内容。但我从未使用过stty
,也不知道如何做到这一点。
答案1
是的,但只能与您的终端仿真器配合。终端仿真器发送转义序列(或在少数情况下发送单个控制字符)来指示按下功能键。请参阅“终端 - 输入”部分键盘输入和文本输出如何工作?更多细节。您需要配置终端以发送Ctrl+的唯一转义序列Tab。某些终端同时发送纯文本Tab和Ctrl+ 的制表符Tab,因此应用程序无法区分它们。要查看终端发送的内容,请按Ctrl+V然后按Ctrl+ Tab。如果您看到一些空格,那就不好了,如果可能的话,您需要重新配置您的终端。如何做到这一点完全取决于终端软件。如果您看到类似^[O5
(escape, O
, 5
) 的内容,那就很好。
假设您的终端发送Ctrl+的唯一转义序列Tab,您可以使用命令告诉 Screen 如何处理它bindkey
。 (它bind
适用于以“屏幕键” Ctrl+开头的绑定A,以及bindkey
其他键绑定)。例如,对于上面的控制序列,将以下行放入您的.screenrc
:
bindkey ^[O5 next
答案2
如果您使用 xterm,请将其添加到您的~/.Xresources文件:
*vt100.translations: #override \n\
Ctrl ~Shift <Key>Tab: string(0x1b) string("[27;5;9~") \n \
Ctrl Shift <Key>Tab: string(0x1b) string("[27;6;9~") \n
这会出现在你的 screenrc 配置文件中:
bindkey "^[[27;5;9~" focus
确保注销您的 X 会话。