【问题标题】:Adding Subdirectories to Load Path将子目录添加到加载路径
【发布时间】:2011-11-11 10:37:42
【问题描述】:

我希望能够自动加载它们,而不是单独指定插件目录中的每个子目录,为此我将以下内容包含到我的 .emacs 文件中:

(let ((base  "~/.emacs.d/plugins/"))
      (normal-top-level-add-subdirs-to-load-path))

require 'rinari
require 'yasnippet

不幸的是,上面的结果是:File error: Cannot open load file, rinari

有人知道出了什么问题以及如何解决吗?

【问题讨论】:

    标签: emacs emacs23


    【解决方案1】:

    你好近啊……

    (let ((default-directory "~/.emacs.d/plugins/"))
      (normal-top-level-add-subdirs-to-load-path))
    

    normal-top-level-add-subdirs-to-load-path 在当前目录下工作,您可以通过变量 default-directory 设置该目录,而不是像您尝试过的 base

    【讨论】:

    • 谢谢,我不知道default-directory 是一个特殊变量。
    【解决方案2】:

    您可以在启动期间调查subdirs.el 文件的作用。这是将子目录放入您的load-path 的好方法。

    例如,许多默认加载路径是由以下命令发现的文件引起的:
    find /usr -name subdirs.el

    【讨论】:

    • 啊,太好了!是的,请参阅 C-h i g (elisp) Startup SummaryC-h f normal-top-level-add-subdirs-to-load-pathC-h f normal-top-level-add-to-load-path,并查看现有 subdirs.el 文件中这些文件的用法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多