如何获得仅针对特定模式的空白模式
问题描述:
我试图让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。
答
事实证明,我的.emacs.el
中的命令毕竟是(几乎)。令我困惑的是,即使只有C和C++缓冲区得到whitespace-mode
的效果,所有缓冲区中的“WS”都会出现。
另一个问题是我有一个错字:c++mode
而不是c++-mode
。
答
显然,whitespace-global-modes的含义与你(和我)所理解的有很大不同。
如何试图
(require 'whitespace)
(add-hook 'c-mode-hook
(function (lambda()
(whitespace-mode t))))
,并重复同样的事情,在C++ - 模式?
嗯,那么模式行中WS的含义是什么?我很困惑。全球的WS,本地的WS ......那种事情? –