M-x 在 Emacs 中无法工作 2 天

M-x not working for 2 days in Emacs

我确实使用 Emacs 多年,尤其是 Cygwin Emacs 版本(Windows 10)几个月。

自 2 天以来,M-x 组合键不再起作用,嗯 ESC x 但我不想被迫使用 Emacs à la Vi ;-)

首先,我以为我的笔记本键盘可能有问题,但是用USB连接的外接键盘观察到同样的效果。

其次,我认为这可能是由于我在自己的 Emacs 初始化文件中所做的一些更改,或者是从 MELPA 继承的更改。为了测试这一点,我回到 Git 的时间,但事实并非如此:问题仍然存在;为了测试 MELPA 包,我使用了最小的 Emacs (emacs -q),但问题仍然存在。

(并且 ESC x 显示 M-x,翻译自 <escape> x,运行命令 execute-extended-command -- 这是预期的。)

最后,奇怪的是,密钥 x 单独工作,C-x 也是如此。另一方面,M (meta) 正在工作:M-cM-w 按预期工作。

所以,总而言之,只有特定组合 M-x 不起作用,我真的不知道为什么。

我可以做任何智能测试来调试它(在 Win 10 上)吗?

在评论中总结答案:

如果您的组合键没有达到您的期望 - 使用 C-h k 查明它是否是 emacs 内部的错误映射,或者在 emacs 有机会之前有什么东西正在抓住这个组合。如果 C-h k 没有对 Alt-X 做出任何响应 - 那么您可以确定 emacs 根本看不到它。

如果您想确认组合键是否已被劫持,请尝试将其与其他应用程序结合使用。 Alt-X 不被常规 Windows 应用程序使用,但如果您碰巧有任何其他可以自定义键绑定的东西,请尝试将 Alt-X 映射到其中的任何东西。 Eclipse、IntelliJ、Visual Studio、gvim。但是看到 C-h k 发生了什么就足以证明了。

要查明是什么窃取了您的 Alt-X,请检查最近安装或重新配置的内容。如果您不记得了,请禁用启动程序。此外,根据我的经验,有几个讨厌的违规者:Intel 视频驱动程序和 Windows 语言栏。 (不使用 Alt-X,使用其他组合键。)Windows 语言栏在窃取 C-S- 时特别烦人),我用它来打嗝。

最后一件事。如果您在 VM 中 运行,则您的组合键可能在主机或来宾级别(或两者,正如我在语言栏中看到的那样)被盗。因此您可能需要在这两个地方四处看看。

我遇到了同样的问题。但是我发现问题出在热键冲突上。我的Win10OS,M-w和腾讯QQ软件冲突。所以当我关闭QQ或者更改QQ热键时,Emacs运行良好。

我不知道为什么,但问题出在 windows v2.0.8 的 Growl。关闭它,emacs 将正常 运行。 无论如何,任何新的程序设置都可能产生冲突。停止所有新的(自错误以来)进程并检查它。 (我不想更改按键配置)