我可以通过屏幕将组合键传递给程序吗?

我可以通过屏幕将组合键传递给程序吗?

我已经设置了屏幕,可以使用功能键切换窗口。但是,我正在尝试 Vim 调试,并被告知要使用 F5 键来启动它。显然,这只会将我切换到屏幕窗口 5(如果存在)。

在我的.screenrc我有以下内容:

bindkey "^[OP" select 1
bindkey "^[OQ" select 2
bindkey "^[OR" select 3
bindkey "^[OS" select 4
bindkey "^[OT" select 5
bindkey "^[OU" select 6
bindkey "^[OV" select 7
bindkey "^[OW" select 8
bindkey "^[OX" select 9
bindkey "^[OY" select 10
bindkey "^[OZ" select 11
bindkey "^[O[" select 12

这将我的功能键分别映射F1F12屏幕窗口 1 - 12。

有没有办法让我将其发送F5到 vim,本质上让屏幕忽略它?

答案1

不要使用文字转义序列,而是给出 termcap 序列:

bindkey -k k0 select 1 # F1 key
....  # to k9 for F10
bindkey -k F1 select 11 # F11
bindkey -k F2 select 12

然后,您应该能够通过 传递它们C-a F5

或者,添加一个具有该效果的显式转义序列。适合转义,使用^T

bindkey "\024" mapdefault

...然后使用C-t F5将 F5 传递给 vim。

相关内容