我正在使用emacsformacosx.com并希望阻止我的 Apple 键盘上的 Meta_R(右元或右选项键)成为 Emacs 元键。
原因是我希望能够继续使用正确的选项键作为字符修饰符,以便在用 emacs 编写时可以输入 UTF-8 字符。例如,我知道我可以做 aC-x 8 RET
和 type em dash
,但这比Alt_R -
!
有没有办法将键码传递给global-unset-key
? 还是我忽略的其他东西?
我应该清楚我仍然希望能够使用 Meta_L 绑定:)
我正在使用emacsformacosx.com并希望阻止我的 Apple 键盘上的 Meta_R(右元或右选项键)成为 Emacs 元键。
原因是我希望能够继续使用正确的选项键作为字符修饰符,以便在用 emacs 编写时可以输入 UTF-8 字符。例如,我知道我可以做 aC-x 8 RET
和 type em dash
,但这比Alt_R -
!
有没有办法将键码传递给global-unset-key
? 还是我忽略的其他东西?
我应该清楚我仍然希望能够使用 Meta_L 绑定:)
要将左 alt 键映射到 META并将右 alt 键映射到 ALT,在 Mac OS X 版本的 GNU Emacs 上,我使用:
(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)
它应该为您期望的行为完成工作。
Aquamacs有一个名为ns-right-alternate-modifier的变量。如果我正确阅读了文档,这应该可以满足您的要求:
(setq ns-right-alternate-modifier nil)
我不确定库存 GNU Emacs 是否支持此功能。
我为我的 macbook pro 找到了一个带有法式键盘的解决方案。
考虑到我在这里几乎没有使用过 Fn 键,我做了什么:
; ALT 被视为 ALT 而不会被解释为 META
(setq-default mac-option-modifier nil)
; Fn 被视为 META 而不是被解释为 Fn
(setq-default mac-function-modifier 'meta)
所以我可以在 emacs 中使用尽可能多的反斜杠!
\\[伟大的!!!]\\
这不完全是您想要的,但这就是我所做的并且可能会帮助某人(例如在只有一个选项键的 Macbook 键盘上):您可以只绑定您想要的键:
(global-set-key "\M-_" (lambda () (interactive) (ucs-insert "2014")))
对于破折号等。只需绑定您常用的任何内容。在极少数情况下,您想输入未绑定的内容,您可以(在 Aquamacs 中,并且在其他 Emacsen 中也应该可以)点击C-;
绑定到toggle-mac-option-modifier
,这样 Option 键不再是 Meta,输入字符,然后再次击中C-;
。