在emacs中,如果函数没有';还没有定义吗?
我从ELPA安装了一些东西,即邪恶和彩虹分隔符 为了让它们在emacs加载时运行,我将设置如下内容:在emacs中,如果函数没有';还没有定义吗?,emacs,elisp,elpa,Emacs,Elisp,Elpa,我从ELPA安装了一些东西,即邪恶和彩虹分隔符 为了让它们在emacs加载时运行,我将设置如下内容: (evil-mode) (global-rainbow-delimiters-mode) 在我的init.el文件中 但是,因为我是从ELPA安装的,所以在我的init.el加载之后才会加载,所以这两个符号都是未定义的 据我所知,这也阻止我做类似的事情 (add-hook 'after-init-hook 'global-rainbow-delimiters-mode) 我怎样才能解决这个问
(evil-mode)
(global-rainbow-delimiters-mode)
在我的init.el文件中
但是,因为我是从ELPA安装的,所以在我的init.el加载之后才会加载,所以这两个符号都是未定义的
据我所知,这也阻止我做类似的事情
(add-hook 'after-init-hook 'global-rainbow-delimiters-mode)
我怎样才能解决这个问题
Postscript:这个问题实际上是由于我没有在init.el开始时调用
(package initialize)
,这将在正确的时间加载使用包安装的所有东西(EvillMode和rainbow定界符只是其中的两个)您的添加钩子
解决方案将起作用
在那里,'global-rainbow-delimiters-mode
只是一个名称,它将在以后调用addhook
时解析为函数,此时函数将存在
确实提到了这个方法,虽然它似乎把它当作最后的手段。
< p>您的代码>添加钩子< /C>解决方案将起作用。 在那里,'global-rainbow-delimiters-mode
只是一个名称,它将在以后调用addhook
时解析为函数,此时函数将存在
确实提到了这个方法,虽然它似乎把它当作最后的手段。
< p> AFAIU编译init文件不是一个好主意-但目前还没有相关。 您的钩子失败,因为它在读取init之后运行,但在加载内容之前运行。您需要一个函数在从ELPA加载后运行加载后尝试evalAFAIU编译init文件不是一个好主意,但到目前为止还没有相关内容 您的钩子失败,因为它在读取init之后运行,但在加载内容之前运行。您需要一个函数在从ELPA加载后运行
加载后尝试eval您也可以使用
(软件包初始化)
提前初始化软件包。这将允许您不将所有代码放在一个钩子中。您也可以使用(package initialize)
提前初始化包。这将允许您不将所有代码放在一个钩子中。确实如此。这似乎很奇怪,我想我已经试过了,但没用。也许我上次忘了用字节编译init文件了。这似乎很奇怪,我想我已经试过了,但没用。也许我上次忘记了字节编译init文件为什么编译init.el是个坏主意?我编译init.el已经很多年了。问题是,如果您进行了更改而忘记编译Emacs,那么将加载旧的字节编译版本,您可能会感到困惑,为什么它没有您的更改。我在startup和Shutdown中添加了钩子,询问我是否要编译init.el(如果它已更改),这样我就永远不会忘记这样做。为什么编译init.el是个坏主意?我编译init.el已经很多年了。问题是,如果您进行了更改而忘记编译Emacs,那么将加载旧的字节编译版本,您可能会感到困惑,为什么它没有您的更改。我在startup和shutdown中添加了钩子,询问我是否要编译init.el(如果它已更改),所以我永远不会忘记这样做。