【问题标题】:Use Alt key as Meta in emacs在 emacs 中使用 Alt 键作为 Meta
【发布时间】:2013-02-06 22:06:23
【问题描述】:

不知何故,我正在使用的 emacs 不会将 Alt 视为 Meta。它只使用ESC。如果我按 Alt+x,它会告诉我“A-X”未定义。我试图弄清楚如何将其映射到元,但在网络上没有运气,因为在我搜索的大多数结果中,人们默认将 Alt 作为元。我想这样的事情应该可行:

global-set-key Alt(?) 'meta

但我不确定如何在 lisp 中表示 Alt .. 有什么帮助吗?谢谢!

【问题讨论】:

  • 您使用的是哪个操作系统?
  • @koopajah 我看了一眼,没有找到我的解决方案。这看起来是一个非常简单的问题,不是吗?我只需要知道如何在 lisp 中表示 Alt 键? :(
  • @Lindydancer Linux 在 Windows 机器上通过 xterm
  • 具有讽刺意味的是,我一直在寻找对面:如何在英文键盘中启用 ALT 键?

标签: emacs


【解决方案1】:

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

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

【讨论】:

  • 在使用 RealVNC 的 Mac 上,我还需要设置键映射(专家选项)以将 LeftOptKey 映射到 Alt_L
【解决方案2】:

我遇到了同样的问题,将其放入 ~/.emacs 对我有所帮助。

(set-keyboard-coding-system nil)

如果您需要更多帮助,请参阅此内容 http://www.emacswiki.org/emacs/MetaKeyProblems#toc15

【讨论】:

    【解决方案3】:

    在 shell(甚至 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 那里学到的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 2011-07-03
      相关资源
      最近更新 更多