当前位置:  开发笔记 > 开发工具 > 正文

无法将目录及其所有子目录添加到Emacs中的加载路径

如何解决《无法将目录及其所有子目录添加到Emacs中的加载路径》经验,为你挑选了1个好方法。

问题类似于一个问题.

但是,它也可以将所有子目录放在文件夹中.

Jouni的代码可以实现第一级文件夹

(let ((base "~/Projects/emacs"))
  (add-to-list 'load-path base)
  (dolist (f (directory-files base))
    (let ((name (concat base "/" f)))
      (when (and (file-directory-p name) 
                 (not (equal f ".."))
                 (not (equal f ".")))
        (add-to-list 'load-path name)))))

如何将目录及其所有子目录放入Emacs中的加载路径?



1> Nicholas Ril..:

我在另一个问题中的答案确实处理了多个级别的子目录.

代码供参考

(let* ((my-lisp-dir "~/.elisp/")
       (default-directory my-lisp-dir)
       (orig-load-path load-path))
  (setq load-path (cons my-lisp-dir nil))
  (normal-top-level-add-subdirs-to-load-path)
  (nconc load-path orig-load-path))


let*是许多嵌套let的简写,每个嵌套let绑定一个变量; 常规旧让我们一次绑定所有变量.因此,使用let而不是let*,我无法在default-directory的绑定中引用my-lisp-dir,因为它在let的主体之前不可用.
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有