18

我正在使用emacsformacosx.com并希望阻止我的 Apple 键盘上的 Meta_R(右元或右选项键)成为 Emacs 元键。

原因是我希望能够继续使用正确的选项键作为字符修饰符,以便在用 emacs 编写时可以输入 UTF-8 字符。例如,我知道我可以做 aC-x 8 RET和 type em dash,但这比Alt_R -!

有没有办法将键码传递给global-unset-key? 还是我忽略的其他东西?

我应该清楚我仍然希望能够使用 Meta_L 绑定:)

4

4 回答 4

26

要将左 alt 键映射到 META并将右 alt 键映射到 ALT,在 Mac OS X 版本的 GNU Emacs 上,我使用:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)

它应该为您期望的行为完成工作。

于 2011-06-27T11:08:51.940 回答
15

Aquamacs有一个名为ns-right-alternate-modifier的变量。如果我正确阅读了文档,这应该可以满足您的要求:

(setq ns-right-alternate-modifier nil)

我不确定库存 GNU Emacs 是否支持此功能。

于 2011-06-14T15:34:00.323 回答
3

我为我的 macbook pro 找到了一个带有法式键盘的解决方案。

考虑到我在这里几乎没有使用过 Fn 键,我做了什么:

; ALT 被视为 ALT 而不会被解释为 META
(setq-default mac-option-modifier nil)

; Fn 被视为 META 而不是被解释为 Fn
(setq-default mac-function-modifier 'meta)

所以我可以在 emacs 中使用尽可能多的反斜杠!

\\[伟大的!!!]\\

于 2011-11-20T11:27:39.333 回答
2

这不完全是您想要的,但这就是我所做的并且可能会帮助某人(例如在只有一个选项键的 Macbook 键盘上):您可以只绑定您想要的键:

(global-set-key "\M-_" (lambda () (interactive) (ucs-insert "2014")))

对于破折号等。只需绑定您常用的任何内容。在极少数情况下,您想输入未绑定的内容,您可以(在 Aquamacs 中,并且在其他 Emacsen 中也应该可以)点击C-;绑定到toggle-mac-option-modifier,这样 Option 键不再是 Meta,输入字符,然后再次击中C-;

于 2011-06-14T15:40:53.600 回答