首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅为某些模式启用空格模式

如何仅为某些模式启用空格模式
EN

Stack Overflow用户
提问于 2011-11-07 20:33:37
回答 2查看 2K关注 0票数 8

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

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

代码语言:javascript
复制
(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告诉我:

代码语言:javascript
复制
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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-07 22:17:15

事实证明,我的.emacs.el中的命令毕竟(几乎)是有效的。让我困惑的是,"WS“出现在所有缓冲区的模型中,即使只有C和C++缓冲区获得了whitespace-mode的效果。

另一个问题是我有一个拼写错误:c++mode而不是c++-mode

票数 4
EN

Stack Overflow用户

发布于 2011-11-07 22:17:42

显然,空白-全局-模式的含义与你(和我)理解的非常不同。

试一下怎么样?

代码语言:javascript
复制
(require 'whitespace)

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

并对c++模式重复同样的事情?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8036576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档