有没有一种方法可以在屏幕之间进行切换,而无需每次都按 ctrl-a tab?

有没有一种方法可以在屏幕之间进行切换,而无需每次都按 ctrl-a tab?

本质上我只是想按Ctrl+Tab,而不是Ctrl+A然后Tab。我不相信这可以通过别名来完成,但已经阅读了一些关于可能使用stty? 的内容。但我从未使用过stty,也不知道如何做到这一点。

答案1

是的,但只能与您的终端仿真器配合。终端仿真器发送转义序列(或在少数情况下发送单个控制字符)来指示按下功能键。请参阅“终端 - 输入”部分键盘输入和文本输出如何工作?更多细节。您需要配置终端以发送Ctrl+的唯一转义序列Tab。某些终端同时发送纯文本TabCtrl+ 的制表符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 会话。

答案3

使用xbindkeys+xdo工具。附加到~/.xbindkeysrc

"xdotool key ctrl+a Tab"
    release+Control + Tab

相关内容