不知何故,我正在使用的 emacs 不会将 Alt 视为 Meta。它只使用ESC。如果我按 Alt+x,它会告诉我“AX”未定义。我试图弄清楚如何将它映射到元,但在网络上没有运气,因为在我搜索的大多数结果中,人们默认将 Alt 作为元。我想这样的事情应该有效:
global-set-key Alt(?) 'meta
但我不确定如何在 lisp 中表示 Alt .. 有什么帮助吗?谢谢!
不知何故,我正在使用的 emacs 不会将 Alt 视为 Meta。它只使用ESC。如果我按 Alt+x,它会告诉我“AX”未定义。我试图弄清楚如何将它映射到元,但在网络上没有运气,因为在我搜索的大多数结果中,人们默认将 Alt 作为元。我想这样的事情应该有效:
global-set-key Alt(?) 'meta
但我不确定如何在 lisp 中表示 Alt .. 有什么帮助吗?谢谢!
大多数解决方案会告诉您在 X11 级别更改键盘映射。wiki 存在信息过多的问题。如果您只想要一个仅在 emacs 级别上工作的解决方案(对 VNC/远程桌面非常有用),那么将以下行添加到您的 emacs 初始化文件中
;; Map Alt key to Meta
(setq x-alt-keysym 'meta)
在 shell(甚至)中输入此命令M-x shell对我有用。
xmodmap -e "clear mod4"
当问题是输出xmodmap包含显示 Meta_L 设置为 mod4 的行时,此方法有效:
mod4 Meta_L (0x73)
Emacs 认为您的键盘具有 Meta 键,因此它不会将 Alt 解释为 Meta。上面的命令告诉 X 你没有 Meta 键,所以 Emacs 会按照我们习惯的方式解释 Alt。
我遇到了同样的问题,把它放在 ~/.emacs 中帮助了我。
(set-keyboard-coding-system nil)
如果您需要更多帮助,请参阅此 http://www.emacswiki.org/emacs/MetaKeyProblems#toc15