关于终端 Emacs中的C-m 和 RET

今天在终端中的Emacs里绑定键位的时候发现会被自动映射成RET,我在StackExchange上找到了一个办法,在配置文件中添加(define-key input-decode-map [?\C-m] [C-m]),但是这样一来会导致我在终端下的Emacs中无法正常使用回车键。请问大家有遇到这个问题吗?如果有,大家是怎么解决的呢?

在配置里面用 if 条件句判断是否在终端以决定是否运行相关配置代码。

终端里就是分不清的吧?下一层提供给emacs的时候就是无法区分的。你那个配置大概是把回车C-m都写做C-m

你如果用iterm 可以用这种方法进行区分

http://jixiuf.github.io/blog/00002-emacs-on-mac.html/#sec-8

https://github.com/jixiuf/vmacs/blob/a2e125ea305beb11d166d63a939d84df5ebc1817/conf/conf-keybind.el#L19