防止 Emacs 在按下 return 键时删除尾随空格

Prevent Emacs from deleting trailing whitespace when return key is pressed

要编辑降价文本,我使用 Emacs 的 markdown-mode。我想用“ ”(即 2 个空格)来表示 "newline"。但在那种情况下,如果我按 return 键转到下一行,尾随的空格会自动删除。

我想要那个空白。我怎样才能做到这一点?我需要向我的 init.el 添加任何额外的配置吗?

要查找RET在做什么,可以尝试C-h k RET,这表明RET绑定到markdown-enter-key 最后清除空格。

解决此问题的一种方法是在降价模式下删除该绑定。为此,您可以将其添加到您的配置中(init.el 或 .emacs.el)。

(require 'markdown-mode)
(define-key markdown-mode-map (kbd "C-m") nil)

这会阻止 RETmarkdown-enter-key 的绑定,它的工作方式与正常 return

一样

另一种实现方式是设置

(custom-set-variables '(markdown-indent-on-enter nil))

这可以防止自动删除空格。