在控制台/终端中,Emacs org-mode 中 M-RET 和 M-UP/DOWN 无法使用

14
我在Ubuntu 10.04/10.10的GNOME和Compiz上使用emacs23。在Emacs (GUI)中的org-mode普通列表中按下M-RET会插入一个新项,而按下M-Up则将该项向上移动。
但是,在Terminator和gnome-terminal下的emacs -nw中,这些键的操作与预期不同。M-Up键没有作用,而M-RET键只是将光标向下移动一行并缩进位置。在xterm中也存在相同的问题,它会插入\215。相反,按下ESC-RETESC-Up可以达到预期的功能。同样的问题也存在于通过ssh访问的无头服务器上运行emacs -nw时,也出现在Terminator、gnome-terminal和xterm中。
我已经进行了广泛的搜索,包括org-mode Gmane列表,但没有找到答案。这是org-mode的已知问题还是与终端仿真器和/或窗口管理器有关?
3个回答

5
除了我问题中提到的按键外,通过ssh和PuTTY无法使用的还有S-TAB、S-左、S-右、S-上和S-下。在TTY连接(ssh、screen、PuTTY)上使用某些键是已知问题。
在org-mode手册的“在TTY上使用Org”一节中详细介绍了替代键。请参考该手册:Using Org on a TTY

3

存在其他等效于M-RET的组合键:

当Emacs在图形用户界面下运行时,"<return>"是Return ↩键。

当Emacs在终端下运行时,“RET”是Return ↩键。

“RET”也等效于“C-m”(【Ctrl+m】)。(http://ergoemacs.org/emacs/emacs_key_notation_return_vs_RET.html)

对于M-<up/down>的等效键,您可以使用:

ESC-<up>
ESC-<down>

2
终端模拟器的菜单栏不会将用于Emacs的键传递给Emacs。为了让Emacs按照预期接收键,您可以使用或禁用菜单栏并像往常一样在Emacs中使用键。
补充说明:
对于xterm,如果您按下CTRL +鼠标按钮1,您将看到“Meta sends Escape”。您需要确保该选项已被选中/启用,以使在Emacs中正常工作。

@vpti3833:感谢您的回复。为什么在Terminator/gnome-terminal中Emacs中可以使用“M-x”?在这种情况下,“M”传递了过去。在gnome-terminal中禁用菜单栏会导致“M-UP”正常工作,但不是“M-RET”。 - SabreWolfy
@SabreWolfy:M-Ret 应该在终端模拟器中执行某些操作。在 xterm 中,它可以在全屏和窗口显示之间切换。不过我不确定它在其他终端模拟器中的作用。 - vpit3833
谢谢。我查看了GNOME本身和模拟器中的键盘快捷键。 M-RET 没有绑定任何功能。我需要进一步研究它。我还会尝试按照您的建议设置 xterm - SabreWolfy

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