![我可以通过屏幕将组合键传递给程序吗?](https://linux22.com/image/1485193/%E6%88%91%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%B1%8F%E5%B9%95%E5%B0%86%E7%BB%84%E5%90%88%E9%94%AE%E4%BC%A0%E9%80%92%E7%BB%99%E7%A8%8B%E5%BA%8F%E5%90%97%EF%BC%9F.png)
我已经设置了屏幕,可以使用功能键切换窗口。但是,我正在尝试 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
这将我的功能键分别映射F1到F12屏幕窗口 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。