包A,包B。 (use-package A :ensure t :defer t )
(use-package B :ensure t :defer t :hook (b-hook . a-hook) )
在buffer切换到 C+±mode 下面自动加载包A。并根据hook再加载包B。在use-package 里面应该怎么配? 或者怎么实现?
包A,包B。 (use-package A :ensure t :defer t )
(use-package B :ensure t :defer t :hook (b-hook . a-hook) )
在buffer切换到 C+±mode 下面自动加载包A。并根据hook再加载包B。在use-package 里面应该怎么配? 或者怎么实现?
没看懂你的第二个需求。第一个需求可以这么写
(use-package cc-mode
;; 其他配置
:config
(use-package A
;; 配置
))
吐槽一下,有的时候用 use-package
完全是给自己找麻烦嘛:
(with-eval-after-load 'cc-mode
(require 'A))
感谢指导。 包B呢?也要像A一样套到里面吗? 不套的话貌似不能加载。
不用use-package 有什么好的推荐么? 全写lisp看起来太蛋疼了
还想请教下。主模式的切换,emacs在做。 elisp可以写个线程监听主模式的切换来加载自己需要的包,卸载掉不需要的吗?
major mode 不都有hook嘛?
调用 autoload 就会自动加载包,没有加 autoload 就用:commands
关键字生成一个。
所以第二个需求应该这样:
(use-package cc-mode
:ensure nil
;; 其他配置
:config
(use-package B
:ensure t
:defer t)
(use-package A
:ensure t
:defer t
;; 配置
:hook (a-mode . b-autoload-func)
)))