在emacs中将Alt键用作Meta键

8
一些我正在使用的 Emacs 不将 Alt 视为 Meta。它仅使用 ESC 作为替代键。如果我按下 Alt+x,它会告诉我“未定义 A-X”。我尝试找出如何将其映射到 meta,但在网上没有找到帮助,因为在我的搜索结果中,大多数人默认将 Alt 视为 Meta。我猜这样应该可以工作: global-set-key Alt(?) 'meta 但我不确定如何在 lisp 中表示 Alt.. 有什么帮助吗?谢谢!

1
你读过这个吗:http://www.emacswiki.org/emacs/MetaKeyProblems?或者这个类似的问题:https://dev59.com/nnRA5IYBdhLWcg3wuAcp - koopajah
3
你使用的操作系统是什么? - Lindydancer
@koopajah 我简单地看了一下,没有找到我的解决方案。这似乎是一个非常简单的问题,不是吗?我只需要知道如何在Lisp中表示Alt键?? :( - user1861088
@Lindydancer 通过在 Windows 机器上使用 xterm 连接到 Linux - user1861088
具有讽刺意味的是,我正在寻找相反的内容:如何在英文键盘上启用ALT键? - jgomo3
3个回答

8

大多数解决方案会告诉你在X11级别更改键位映射。维基存在信息过载的问题。如果你只想要一个仅在emacs级别上工作的解决方案(对于VNC/远程桌面非常有用),那么请将以下行添加到你的emacs初始化文件中。

;; Map Alt key to Meta
(setq x-alt-keysym 'meta)

在 Mac 上使用 RealVNC,我还需要设置键映射(专家选项)将 LeftOptKey 映射到 Alt_L。 - Anurag

0

0

在命令行中输入这个命令(即使是M-x shell)对我来说都有效。

xmodmap -e "clear mod4"

当问题是xmodmap的输出包含一行显示Meta_L设置为mod4时,这个方法有效:

mod4        Meta_L (0x73)

Emacs认为你的键盘有一个Meta键,所以它不会将Alt解释为Meta。上面的命令告诉X你没有Meta键,因此Emacs将按照我们习惯的方式解释Alt。

我从https://www.emacswiki.org/emacs/MetaKeyProblems学到了这个技巧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接