我在我的emacs配置文件中使用了以下结构:对于我使用的每种编程模式,我都在一个名为programming-mode-config.el的文件中维护配置。 (所以python配置将进入python-mode-config.el等)。如何使用自动加载来正确加载自定义配置?
此前,我曾经在我的init.el中要求每个这些文件。这种方法的缺点是我的启动时间很长。所以这个周末,我坐下来把所有的需求转换成自动加载。现在我的初始化文件看起来是这样的:
(autoload 'python-mode "python-mode-config" "Load python config" t)
因此蟒蛇配置将不会被加载,直到我打开Python文件。这有助于将我的启动时间缩短到1秒左右,但在所有情况下都无法正常工作。例如,
(autoload 'erc "erc-mode-config" "Load configuration for ERC" t)
根本不加载我的erc调整。望着自动加载的文件,它指出:
Define FUNCTION to autoload from FILE.
...
If FUNCTION is already defined other than as an autoload,
this does nothing and returns nil.
所以我猜的ERC配置不加载,因为ERC来“内置”使用Emacs,而蟒蛇模式是一个插件我使用。有什么方法可以让我的erc配置只在我实际使用erc时加载?我看到的唯一另一种选择是使用eval-after-load,但将我的自定义的每一小部分都加载到eval-after-load中会非常痛苦。
恐怕也可能是我没有正确地自动加载自动加载。任何帮助,将不胜感激。
谢谢,我有一种唠叨的感觉,我的自动加载错误:) – vedang 2011-05-28 16:35:53
另外,你是对的。我以前的配置(需要'python)后跟(需要'python-mode-config)。当我将它重写为自动载入时,我将(require'python)命令移动到python-mode-config文件中。 现在坐着并修理我所有的自动加载和加载后评估。 – vedang 2011-05-28 16:43:53