从Emacs 24.4开始,当我输入以空格开头的行时(一种典型的方式) 表示一个新的段落),在它结束时我点击RETURN,白色空间消失。 “emacs -Q”也会出现此问题。 我的.emacs文件使用了相当简单的文本模式分段方案,即
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'paragraph-indent-minor-mode)
十几年来一直没有问题。当我安装当前(24.4)版本时出现错误。
基本上,我输入:
This is a line beginning with four spaces
一旦我输入RETURN,我的线就会立即变为
This is a line beginning with four spaces
也就是说,缩进消失了。我非常感谢一些建议。 我应该发布一个错误吗?
答案 0 :(得分:5)
在Emacs 24.4中,默认启用electric-indent-mode
。似乎与paragraph-indent-minor-mode
结合导致此问题的原因是什么。您可以通过在任何地方(M-x electric-indent-mode
)或仅在本地缓冲区(M-x electric-indent-local-mode
)中关闭电子缩进模式来避免这种情况。
答案 1 :(得分:1)
以下内容会阻止electric-indent-mode
踩到paragraph-indent-minor-mode
的脚趾。它并不是在所有情况下都是健壮的,但我怀疑它在你的情况下是完全足够的。
(defvar-local my-local-electric-indent-status :unknown)
(defun my-local-electric-indent-disable ()
"Make `electric-indent-mode' ineffective in the current buffer."
(setq my-local-electric-indent-status electric-indent-mode)
(electric-indent-local-mode -1))
(defun my-local-electric-indent-restore ()
"Restore original status of `electric-indent-mode' in the current buffer."
(unless (eq my-local-electric-indent-status :unknown)
(electric-indent-local-mode my-local-electric-indent-status)))
(add-hook 'paragraph-indent-minor-mode-on-hook #'my-local-electric-indent-disable)
(add-hook 'paragraph-indent-minor-mode-off-hook #'my-local-electric-indent-restore)
如果您未至少运行Emacs 24.3,请将defvar-local
替换为:
(defvar my-local-electric-indent-status :unknown)
(make-variable-buffer-local 'my-local-electric-indent-status)
答案 2 :(得分:-1)
;;(global-set-key“\ em”'换行符);;对于emacs 23
global-set-key“\ em”'electric-newline-and-maybe-indent);; for emacs 24