如何在emacs中自动加载highlight-lines-matching-regexp?

时间:2013-08-14 19:16:56

标签: emacs hook highlight lines

我用

突出显示超过80个字符的行
M-x highlight-lines-matching-regexp RET .\{81\} RET hi-yellow RET

我希望emacs能够自动为我的所有缓冲区启用此功能。

我试过

(add-hook 'after-load-functions
          '(lambda () ('highlight-lines-matching-regexp ".\{81\}" 'hi-yellow)))

写在How can I make emacs highlight lines that go over 80 chars?中,但不起作用。它说

run-hook-with-args: Wrong number of arguments: (lambda nil (highlight-lines-matching-regexp ".{81}" (quote hi-yellow))), 1

如何告诉emacs自动将其应用于我的所有缓冲区?

1 个答案:

答案 0 :(得分:0)

你犯了两个错误:

1)在'之前还有一个额外的highlight-lines-matching-regexp 2)after-load-functions没有合适的钩子(在某种意义上,它将参数传递给挂钩到after-load-functions的函数)

您应该使用此(或类似的钩子,您可以在the reference中找到不完整的钩子列表):

 
(add-hook 'change-major-mode-hook '(lambda () (highlight-lines-matching-regexp ".\\{81\\}" 'hi-yellow)))

假设您只想在编程模式下使用此功能,您可能需要使用prog-mode-hook代替change-major-mode-hook(这仅适用于emacs版本> = 24)。