Emacs:全局启用空白模式

Posted

技术标签:

【中文标题】Emacs:全局启用空白模式【英文标题】:Emacs: globally enable whitespace-mode 【发布时间】:2011-06-16 21:26:43 【问题描述】:

我想全局启用空白模式。我已经在我的 .emacs 中尝试过这个:

(require 'whitespace)
(setq-default whitespace-style '(face trailing lines empty indentation::space))
(setq-default whitespace-line-column 80)
(setq global-whitespace-mode 1)
(whitespace-mode 1)

但没有成功...我可以通过 M+x 空白模式启用它,但我希望它能够在全球范围内启用它...有什么建议吗?我正在使用 GNU Emacs 23.3.1。

【问题讨论】:

请注意 whitespace-modeglobal-whitespace-mode 是不同的次要模式。前者是缓冲区本地的,后者不是。如果给定缓冲区启用了缓冲区本地模式,则全局模式不会对该缓冲区产生任何影响。 【参考方案1】:

一般来说,最好使用函数调用来启用/禁用模式,而不是设置变量(这是您为 global-whitespace-mode 所做的)。

试试:

(global-whitespace-mode 1)

【讨论】:

两者兼而有之。见C-h v global-whitespace-mode RETC-h f global-whitespace-mode RET phils,谢谢,这让我很惊讶...我一定要学一些 elisp 来自定义 emacs :) @phils - 如何进入正确的模式以键入“C-h v global-whitespace-mode RET”?我花了 3 个小时查看文档、教程和在线。我就是想不通。 在 Mac 上,选项 M 进入标记集,然后是选项 M-x。 :-) 如何禁用它? 0, -1 ?

以上是关于Emacs:全局启用空白模式的主要内容,如果未能解决你的问题,请参考以下文章

如何仅对某些模式启用空白模式

在 Emacs 中,如何根据缓冲区名称自动启用次要模式?

如何全局启用mysql严格模式并保持开启状态?

Emacs 开发者讨论如何构建更“现代”的 Emacs

Asp.Net 启用全局IE兼容模式

使用 emacs -q -l 时将钩子添加到默认模式