在屏幕内部Putty中传递alt-tab到Emacs内部

问题描述:

我在我办公室的Debian框中的屏幕内运行终端模式Emacs(使用-nw选项)。通过这种方式,我可以在任何地方使用ssh登录我的盒子,即使连接缓慢或间歇也可以工作。在屏幕内部Putty中传递alt-tab到Emacs内部

当我用腻子从Windows系统中,我很想念使用Alt键的可能性 - 标签组合键(M-TAB在Emacs的说法)。我使用两个按键Esc和Tab进行补偿,但这是两次按键,速度较慢。

我才发现,原来使用Autohotkeys我可以让按Ctrl - 标签做一样使用Alt-Tab这个规则:

LControl & Tab::AltTab 

,我可以用这个其他的规则完全禁止使用Alt-Tab :

!Tab::Return 

但这不是我想要的。我需要复制Alt键的功能 - 对其他一些热键标签按Ctrl - 标签是好的和第一条规则确实是),另外我想Alt键 - 标签关键当我使用它时(它会传递给Screen,它将它传递给Emacs)传递给Putty。换句话说,Alt - 选项卡不应禁用,但应删除其特殊含义。

这可能与Windows?

+0

我没有使用过这种设置,但是从描述猜测,你可能只需要发送Esc键和Tab时腻子窗口活动:'#ifwindowActive putty' \ n'标签:: {发送! Esc} {Tab}' – wOxxOm

+0

谢谢你的想法,是的,它的工作原理:) 只有正确的关键字是IfWinActive,我还没有弄清楚如何使它识别腻子窗口,所以我绑定了Al-无条件选项卡。 – user2987821

虽然我没有完全理解你遇到的问题,但这个框架应该给你一些东西来处理基于窗口的条件操作。

!Tab:: 
{ 
WinGetTitle, Title, A 
if (RegExMatch(Title, "PuTTY.*")) 
{ 
    ; Do something if PuTTY is the active window. 
}else{ 
    ; Do something else if PuTTY is NOT the active window. 
}}