【问题标题】:EmacsW32: possible to use both "windows key" and "alt key" bindings together?EmacsW32:可以同时使用“windows key”和“alt key”绑定吗?
【发布时间】:2010-09-26 20:14:44
【问题描述】:
问题: EmacsW32 是 Emacs 的一个版本,它允许用户让 Emacs 将“Windows”键视为“Meta”键(而不是将 Alt 键视为“Meta”键)。尽管这如宣传的那样有效,但问题是当您想为“Alt”键创建 Emacs 键绑定时会发生什么?
问题:在这种情况下,有没有办法让 Emacs 也可以捕获并创建与“Alt”键的键绑定,即使它现在认为“Windows”键是新的 Meta?
【问题讨论】:
标签:
windows
emacs
binding
keyboard
editor
【解决方案1】:
您可以将 Windows 和 Alt 键都绑定到 Meta,或者您可以将 Alt 键分配给不同的更改键。 Emacs 提供了这些可能的绑定:
Shift
Control
Meta
Hyper
Super
您必须查看系统文档以了解如何将物理键绑定到这些(例如,man xmodmap 用于 X windows)。
【解决方案2】:
要确定 Emacs 是否能够识别您的 Alt 键:输入 C-h c,然后输入一些以 Alt 开头的组合键,例如Alt-f。
如果它显示“M-f runs the command forward-word”(例如),那么 Emacs 会将您的 Alt 键也视为 Meta 键,并且您绑定到 Meta 的任何东西都将与 Windows 键和 Alt 键一起使用,所以有没有办法使 Alt 键的工作方式与 Windows 键不同。
如果它显示“Hyper f is undefined”或“Super f is undefined”(例如),那么 Emacs 将您的 Alt 键分别识别为 Hyper 或 Super,并且您可以将命令绑定到以 Hyper 或 Super 开头的键绑定,这些将与您的 Alt 键一起使用。
如果它根本没有反应,则意味着它没有将 Alt 键识别为任何东西,并且您在 Emacs 中无能为力:Emacs 甚至没有获得该键。在这种情况下,正如另一个答案所说,您应该在 Windows 上查找 xmodmap 的等价物——这与注册表有关; GNU Emacs FAQ for Windows 的How do I swap CapsLock and Control? 部分有一些相关细节(“扫描码”);另请参阅this page。