这个问题与在加载路径中添加子目录的问题有关。下面是是一个解决方案。不幸的是,它似乎恢复了负载路径。我试着自己解决,但做不到,需要帮助。
因此,我的问题是:如何恢复load-path。
我试过(setq load-path (reverse load-path)),但失败了-这意味着load-path不是一个列表.
编辑
反向加载路径工作,确实-我不知道我做错了什么,当我尝试它之前,张贴。
我面临着一个非常奇怪的问题,simple.el阴影sunrise-commander.el -尽管它应该在此之前加载。我想--问题在于加载路径中有dir的顺序--但是现在--当我反转load-path -- progmodes dir在sunrise 1之前--问题仍然存在。我很困惑。
然后,我将重新制定我的问题:如何确保给定的扩展在核心Emacs的代码之后加载?
编辑2
如果阴影并不意味着,我认为-我的实际问题是,许多sunrise-commander和icicles键被绑定到核心emacs函数。例如,当我使用冰柱时,M-p被绑定到
M-p runs the command recenter-top-bottom, which is an interactive
compiled Lisp function in `window.el'.而它应该是previous-history-element。类似地,当我使用sunrise-commander时,M-u被绑定到
M-u runs the command subword-backward, which is an interactive
compiled Lisp function in `subword.el'.而实际上应该是sr-history-next。
编辑3
哦,我解决了!在过去,我经常安装emacs的东西系统,通过突触包管理器。然后我提出了一个解决方案--这样的话,我就不可能有自己的定制了。在那之后,我维护一个本地的emacs和emacs包。所以我要做的就是删除所有全系统的emacs东西。
**编辑4**
不不是那样的。这是ErgoEmacs键绑定扩展的方式。在我评论完之后,我让M-n和M-p在icicles中工作得很好。虽然RET在日出指挥官仍然称为dired函数-而不是日出。希望以后能解决。
发布于 2012-03-07 13:06:14
扩展由require或load加载。load-path仅指定require将在其中搜索的文件夹列表。假设您的.emacs.d/vendor dir中充满了Emacs扩展,并且它被添加到您的load-path中(加载路径中条目的顺序并不重要,除非相同的扩展位于其中的几个文件夹中--称为加载路径阴影,可以用M-x list-load-path-shadows检查)。此时您可以做两件事之一:
(require 'extension)
;; or
(load "~/emacs.d/vendor/extension.el)require还有一个额外的好处,就是它不会两次加载库。因此,要回答您的问题--确保扩展是在核心之后加载的(Emacs自动加载的东西很少),只需要在需要加载的东西之后才能加载。
在第二次编辑之后,我想您应该看看这篇关于Emacs中键绑定的伟大文章。
发布于 2012-03-18 03:26:11
不确定这是否重要,但关于“如何在simple.el之前加载某些内容”:您不能这样做,因为simple.el是在‘.emacs’可执行文件中预加载的,所以在加载.emacs之前很久就已经加载了。
https://stackoverflow.com/questions/9600977
复制相似问题