我决定从头开始重写我的.emacs,我想设置一些模块化的东西,以避免一个可怕的1k + LoC init.el文件......
我认为每个配置都需要解决一些基本问题:
虽然我仍然想要通过结构,我正在寻找一些如何实现这一点的指针.
我在github等上看了一些.emacs,似乎有不同的方法,没有首选的方法,这有点令人困惑.
我有兴趣阅读有关如何构建这样的设置的一些想法,特别是一些相关的elisp代码.
编辑:已经赶上了事情,并没有太多时间玩这个.将在几天内尝试提出的方法,并看看什么是最好的,同时感谢所有的建议!
edit2:我一直在使用带有org-mode的文字初始化文件,这绝对太棒了!
我还没有设置一个特定的加载机制,我一直在使用这个代码,递归加载我的elisp目录,然后要求或任何设置说明说.
(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
(let* ((my-lisp-dir "~/.emacs.d/elisp/")
(default-directory my-lisp-dir))
(setq load-path (cons my-lisp-dir load-path))
(normal-top-level-add-subdirs-to-load-path)))
Run Code Online (Sandbox Code Playgroud)
我仍然需要对此进行修改,可能使用自动加载,以及一些字节重新编译,如果修改了技巧; 我很乐意听到有关这方面的建议.
我希望包含对非elisp文件(一个小型Python程序)的引用,并希望能够说"它与当前文件位于同一目录中,但具有不同的文件名".在许多脚本语言中,有些东西__FILE__(例如PHP)用于获取当前文件的绝对路径.
如果要包含的文件在中load-path,那么我可以找到它(locate-library "file.py" t),但如果文件不在加载路径中,我就会陷入困境.
那么有没有办法让Emacs Lisp文件找到自己的绝对路径(加载时,不被访问)?