我在Mac OS X上使用Emacs 24.1.1时出现问题。我正在编辑Jade和CoffeeScript文件,因此我为这些文件类型启用了空白模式。
我所看到的是,无论空白行列的设置如何,都会使用空白行字体突出显示超过70个字符的行。
在这张照片中,很明显我已经定制了空白行列以跟踪填充列,并且我将填充列设置为120,但是突出显示更短的行。
我已经浏览了Jade模式的代码,并没有看到任何可以解释这种行为的内容,但我对Emacs Lisp只有一点理解。
提前感谢任何指针!
答案 0 :(得分:5)
您必须在激活whitespace-line-column
之前设置whitespace-mode
。也就是说,如果您想要更改其值,除非您再次关闭whitespace-mode
,否则它不会生效。具有讽刺意味的是,在您激活模式一次之前,该变量不适用于M-x customize
: - (
但是,您可以通过在.emacs文件中添加以下行来自定义此变量的全局值:
(setq whitespace-line-column 120)
由于在启动Emacs时会评估.emacs,因此该设置将在您第一次调用空白模式之前生效,因此应该执行您想要的操作。如果您不想全局设置值,但仅限于Jade文件,请将以下内容放在.emacs文件中:
(set (make-local-variable 'whitespace-line-column) 80)
(add-hook 'after-change-major-mode-hook
'(lambda () (when (eq major-mode 'jade-mode)
(setq whitespace-line-column 120))))
如果您根本不想特别突出长线,您可能需要考虑第三种选择。您可以自定义变量空白样式(通过键入M-x customize-variable
ENTER whitespace-style
ENTER )并在值列表中删除条目:
(如果有的话)。这应该关闭全局独立于whitespace-line-column
的长线突出显示(再次,只有在你去除并重新激活空白模式之后)。