【发布时间】:2017-11-24 06:45:03
【问题描述】:
我在办公室 Debian 机器上的 Screen 内运行终端模式 Emacs(使用 -nw 选项)。这样,我可以在任何地方使用 ssh 登录我的盒子,即使在连接缓慢或断断续续的情况下也可以工作。
当我使用 Putty 从 Windows 登录时,我错过了使用 Alt-Tab 组合键(在 Emacs 中称为 M-TAB)的可能性。我使用 Esc 和 Tab 两个键进行补偿,但这是两个按键,速度较慢。
我刚刚发现使用 Autohotkeys 我可以使 Ctrl-Tab 与 Alt-Tab 执行相同的操作:
LControl & Tab::AltTab
我可以用这条其他规则完全禁用 Alt-Tab:
!Tab::Return
但这不是我想要的。我需要在其他一些热键上复制 Alt-Tab 的功能(Ctrl-Tab 可以,并且第一条规则就是这样做的),另外我希望在我使用它时将 Alt-Tab 键传递给Putty(这会将它传递给Screen,这将传递它到 Emacs)。也就是说,Alt-Tab不应该被禁用,但它的特殊含义应该被删除。
这在 Windows 上可行吗?
【问题讨论】:
-
我没用过这种设置,但从描述中猜想,当putty窗口处于活动状态时,你大概可以只发送Esc和Tab:
#ifwindowActive putty\n!Tab::send {Esc}{Tab} -
谢谢你的想法,是的,它有效:) 只是,正确的关键字是 IfWinActive,我还没有弄清楚如何让它识别腻子窗口,所以我绑定了 Al-无条件制表符。
-
有可能。我在 Linux 和 Windows 上都使用 Ctrl-Tab 在应用程序之间切换,所以我将 Alt-Tab 留给 Emacs。不幸的是,我的 Windows 笔记本电脑已经在我的办公室隔离了一个月,现在仍然如此,所以我无法报告我在 Autohotkey conf 文件中准确写的内容:(
标签: windows emacs autohotkey putty gnu-screen