标题为"我很困惑,如果我们已经使用了软件包管理器,而不是手动安装的软件包,我们是否应该在init文件中添加 (require 'package_name)
。
某些软件包,例如yasnippet或自动完成,即使我不添加 (require 'yasnippet)
,它仍然可以正常工作,但是如果我不添加 (require 'alpha)
,则使用 alpha
(果酱中的软件包((包装中的软件包(,那么Emacs也无法识别热键C->
,用于提高透明度,我收到错误消息C-> is undefined
,那么require
命令实际上是什么,我们什么时候应该添加它?
require
loads 除非已经加载了。
加载库需要时间,因此通常首选自动加载,因为这会防御负载直到需要。
软件包。EL一般可以自动加载ELPA软件包的自动加载,因此您不需要require
的时间中最多的 - 但是,它最终取决于(a(软件包作者和(b(确切的尝试使用它。
您所描述的声音就像包装错误:即,来自果酱的alpha
软件包包装不佳。(require '<foo>)
不应更改键绑定,例如,由于<foo>
可能会出于各种原因"偶然"加载。
相反,它可能应该定义一个自动加载的alpha-mode
次要模式,因此您使用(require 'alpha)
(或使用(alpha-mode 1)
((或从Customize等同(。