我正在尝试仅在某些模式下自动启用emacs whitespace-mode。根据文档,启用global-whitespace-mode并设置whitespace-global-modes变量应该可以做到这一点。但是我无法使其正常工作。

在我的.emacs.el中,我有:

(require 'whitespace)
(global-whitespace-mode t)
(setq whitespace-global-modes '(c-mode c++-mode))

但是whitespace-global-modes的定义似乎被忽略了;在每个缓冲区中启用global-whitespace-mode。我知道我正确地获得了变量名,因为C-h v whitespace-global-modes告诉我:
whitespace-global-modes's value is (c-mode c++mode)

Documentation:
Modes for which global `whitespace-mode' is automagically turned on.
...

那我在做什么错?我是否误解了whitespace-global-modes的目的?

我正在运行emacs 23.2.1。

最佳答案

显然,空白全局模式的含义与您(和我)所理解的完全不同。

怎么样

(require 'whitespace)

(add-hook 'c-mode-hook
  (function (lambda ()
              (whitespace-mode t))))

并为c++模式重复相同的事情?

关于emacs - 如何只为某些模式启用空白模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8036576/

10-13 06:00