在 .dir-locals.el 中重新加载次要模式

gsi*_*011 3 emacs text-editors

在 .dir-locals.el 中,我只能将变量设置为值,无法调用函数。但是,执行以下代码后,我需要禁用然后重新启用whitespace-mode

((nil . ((indent-tabs-mode . t)
     (whitespace-style . (face empty trailing lines-tail)))))
Run Code Online (Sandbox Code Playgroud)

我尝试(eval . (global-whitespace-mode))根据我发现的另一个答案进行添加,但这完全破坏了空白模式,然后我无法启用或禁用它。如何重新加载这个次要模式?

Die*_*enò 5

我认为您正在寻找的是启用whitespace-mode缓冲区。您可以这样做,.dir-locals.el但语法并不明显:

((nil . ((indent-tabs-mode . t)
         (mode . whitespace)
         (mode . flyspell))))
Run Code Online (Sandbox Code Playgroud)

这将同时启用whitespace-modeflyspell-mode;它适用于您可能想要以这种方式加载的任何次要模式。