如何让 xterm 将 Alt 键作为 Meta 发送到 emacs?

rah*_*hul 9 emacs xterm

我看到,这个问题已经被问 时间。那里给出的解决方案似乎不适用于我的设置。这是我的故事:

我使用 ubuntu 12.0.04 LTS 和 xmonad(不是超过 gnome),并在我的工作中使用 xterm。我更喜欢使用 xterm 而不是不同的终端或 emacs 自己的窗口。使用 emacs -nw 时,我发现无法识别 Alt。我使用 xev 验证了 Alt 确实正在生成。此外,如果我使用 rxvt,我会看到 Alt 被 emacs -nw 识别。我正在使用邪恶模式(作为一个长期的 vim 用户和一个 emacs newbee),我真的不希望我的转义键反弹为 alt(这是另一个线程中给出的解决方案)。我该怎么办?(如果有帮助,没有运行 emacs 的 xterm 窗口上的 Alt-x 会生成“ø”或者如果我运行emacs -nw -Q)。

Bra*_*iam 13

正如Arch Wiki 中所见,您需要让 Xterm 将正确的转义密钥发送到程序:

如果您使用该Alt键作为键盘快捷键,您的资源文件中将需要它:

XTerm*metaSendsEscape: true
Run Code Online (Sandbox Code Playgroud)

所以,只要这样做:

echo 'XTerm*metaSendsEscape: true' >> ~/.Xresources
Run Code Online (Sandbox Code Playgroud)

并重新启动您的 Xterm 会话。

  • 除了重新启动会话,您还可以运行 `xrdb -merge ~/.Xresources` (6认同)