最近搬到了Emacs(并成为了一名粉丝),我想使用Autohotkey来制作 Ctrl + X Ctrk + C 一个通用的“关闭”命令。
以下是我在.ahk
文件中的内容:
; Universal Close
:*:^x^c::
WinClose, A
Return
似乎不起作用。我做错了什么?
为了澄清我的击键,这里是序列:
在按下或释放 C 键时(我不介意哪个),活动窗口关闭。
成功案例:我已经通过Honest Abe实现了答案,添加了一些小调整以避免在实际使用Emacs时产生烦恼。这是最终结果(谢谢,H.A。!):
; Universal Close
$^x::
IfWinActive, ahk_class Emacs
Sendinput, ^x
Else {
keywait, c, d, t0.6
If ErrorLevel
Sendinput, ^x
Else
WinClose, A
}
Return
答案 0 :(得分:4)
这是一个在 Control + X 之后按 C 等待0.6秒的示例:
$^x::
keywait, c, d, t0.6
If ErrorLevel
Sendinput, ^x
Else
WinClose, A
Return
如果在0.6秒内没有按下 C 发送控制 + X 。
当热键自身发送时({避免无限循环),{J}开始使用$
。
答案 1 :(得分:1)
虽然这不是您问题的直接答案,但如果您还没有,可能需要查看XKeymacs,http://www.cam.hi-ho.ne.jp/oishi/indexen.html
它在所有/大多数Windows应用程序中为您提供了大量的Emacs功能。与Emacs一样,它具有高度可配置性,因此您可以在全局或应用程序级别启用/禁用Emacs绑定。
对于每个人来说,这可能不是正确的解决方案,但如果没有它,我就无法生存。