设置默认关闭多个minor-mode

purcell emacs.d cloned的emacs.d的基础配置.

计划从init.el中关闭下面三个minor-mode函数

(flycheck-mode -1)
(flymake-mode -1)
(prettify-symbols-mode -1)

按照文档说明, 传入negative参数

;;flycheck
When called interactively, toggle ‘flycheck-mode’. With prefix ARG, enable ‘flycheck-mode’ if ARG is positive, otherwise disable it.
When called from Lisp, enable ‘flycheck-mode’ if ARG is omitted, nil or positive. If ARG is ‘toggle’, toggle ‘flycheck-mode’. Otherwise behave as if called interactively.

其他两个minor-mode函数文档与flycheck-mode相同.

但是, 启动后, 以上三个minor-mode仍然没有默认关闭.

请问是怎么回事?

他们只对当前buffer有效

你觉得当前buffer是哪个?

可能是有些 mode hook 了这些 minor-mode,建议排查配置。

1 个赞
$ grep -ri  "add-hook.*pretti" .emacs.d                                                                                                     
.emacs.d/lisp/init-editing-utils.el:  (add-hook 'after-init-hook 'global-prettify-symbols-mode))                                           
Binary file .emacs.d/elpa-25.2/cider-20190121.1852/cider-repl.elc matches                                                                  
Binary file .emacs.d/elpa-25.2/prettier-js-20180109.726/prettier-js.elc matches    

如果不去修改init-editing-utils.el这个文件, 可以在我的'init.el中将这个"add hook` 覆盖掉吗?

remove-hook,需要在 load init-editing-utils.el 以后。

1 个赞