RET 和 C-m 真的完全一样吗?

Are RET and C-m really the same exactly?

图形模式下RETC-m的作用相同,即换行。

但是,当我使用M-aM-e时,他们似乎会区分它们。 RET 产生的换行符,它们全部跳过到双RET 点,而C-m 产生的换行符,它们逐行移动光标。为什么会这样?

两个键的说明 (C-h k) 显示相同。

如果重要的话,它是 Ubuntu 12.04 上的 Emacs23.3.1。

答案可能取决于您所处的模式以及操作系统生成的键码。当我在 Windows 框的 *scratch* 缓冲区中点击 Ctrl-h k Ctrl-m 时,我将获得 (newline) 的信息以及它绑定到 RET 的信息.理论上,在某些其他模式下,C-mRET 可以设置为不同的功能。当然,这要求 OS 不会生成相同的密钥代码。

图形模式下,答案是(当然除非键被重新定义)。

仔细检查我的文件表明我观察到的效果是巧合。正是在我 C-m 的那些段落中,所有行都以点结尾(这是一首诗)。

实际上,C-h k 键描述对两个键说的是同一件事。感谢 将我推向这个方向。

Emacs 写为 RET(或 <RET>)的是,是的,与 C-m 相同的字符 - 它是 ASCII 控制字符 13。无论您使用什么键盘等,都是如此。

但是,当您按下名为 EnterReturn 的物理(键盘)键时,Emacs 看到的逻辑键(又名 "key sequence")可能与 RET(又名 C-m)。要查看 Emacs 在您按下该键盘键时识别的键,请使用 C-h k 并按下该键。如果 Emacs 说 RET 那么这是典型的情况,是的,按下那个键就等同于按下 Control 然后按下 m (假设标有 Control 的键做了什么它通常会)。