Emacs - require-final-newline 本地值覆盖全局值

标签 emacs emacs24 emacs-prelude

我想设置require-final-newline对于每个缓冲区到 nil .
在我的配置文件中,我有:

(setq require-final-newline nil)
(setq-default require-final-newline nil)

它似乎正确设置了全局值。但是在我打开的每个缓冲区中,本地值仍然是 t .使用 describe-variable ,我得到:
require-final-newline is a variable defined in `files.el'.
Its value is t
Original value was nil
Local in buffer myfile.js; global value is nil
files.el/usr/local/Cellar/emacs/24.5/share/emacs/24.5/lisp/ ,所以我想我不应该修改它。
如何将此本地值设置为 nil ?

最佳答案

首先,有强制设置require-final-newline的模式。基于这些类型的文件需要最后的换行符。我不相信js-mode然而,是其中之一。

大概你有一些导致这种情况的自定义配置,也许是通过 js-mode-hook 设置的或 prog-mode-hook .

emacs -Q 确认这不是默认行为,然后您可以着手追踪罪魁祸首(我只想在您的 elisp 文件中将 M-x rgrep 用于 require-final-newline)。

关于Emacs - require-final-newline 本地值覆盖全局值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32905446/

相关文章:

linux - 如何水平拆分新窗口但保持两个窗口的宽度相同?

emacs24 - elpa 和 init.el 的加载顺序

emacs - 自定义emacs-prelude提供的软件包列表

html - html 的 Emacs 缩进(网络模式)不能正常工作

emacs - 如何在 emacs 中更改自动换行突出显示

emacs - 如何移动目录和其中的所有缓冲区?

c - 如何让 Emacs 正确处理 C 预处理器条件

emacs - 如何在 org-mode 中更改 "DEADLINE"和 "SCHEDULED"的默认文本?

Emacs:Aquamacs 更新后,自动填充模式的 Alt-q 在 LaTeX 中的数学分隔符处换行