Emacs Lisp:如何将文件夹及其所有第一级子文件夹添加到加载路径 [英] Emacs Lisp: How to add a folder and all its first level sub-folders to the load-path
本文介绍了Emacs Lisp:如何将文件夹及其所有第一级子文件夹添加到加载路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我的文件夹结构设置如下:
〜/ Projects
emacs
package1
package1-helpers
package2
package2-helpers
package2-more-helpers
package3
package3-helpers
如何添加这些文件夹:
- 〜 / Projects / emacs
- 〜/ Projects / emacs / package1
- 〜/ Projects / emacs / package2
- 〜/ Projects / emacs / package3
...到加载路径
从我的.emacs文件?
我基本上需要一个简短的自动版本的代码:
<$ p $
(add-to-list'load-path〜/ Projects / emacs / package1)
(add-to-list'load-path〜/ Projects / emacs / package2)
(add-to-list'load-path〜/ Projects / emacs / package3)
解决定方案
(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) $ b(不(等于f..))
(不(等于f。)))
(加载到列表的加载路径名))))
If I have a folder structure set up like this:
~/Projects
emacs
package1
package1-helpers
package2
package2-helpers
package2-more-helpers
package3
package3-helpers
How do I add these folders:
- ~/Projects/emacs
- ~/Projects/emacs/package1
- ~/Projects/emacs/package2
- ~/Projects/emacs/package3
...to the load-path
from my .emacs file?
I basically need a short automated version of this code:
(add-to-list 'load-path "~/Projects/emacs")
(add-to-list 'load-path "~/Projects/emacs/package1")
(add-to-list 'load-path "~/Projects/emacs/package2")
(add-to-list 'load-path "~/Projects/emacs/package3")
解决方案
(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 Lisp:如何将文件夹及其所有第一级子文件夹添加到加载路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文