我在许多不同的机器和VM上工作,每个机器和VM可能对.emacs
的选项有自己的需求。我有一个Git存储库/子目录.common-system
,第二个Emacs Lisp文件.common-system/emacs
包含用于我所有系统的通用定义。
我可以对.emacs
进行哪些更改,以便自动加载和eval
我的辅助定义文件?启动后将辅助文件保留在缓冲区列表之外的加分点。
答案 0 :(得分:3)
你试过了吗?
(load-file ".common-system/emacs")
如果您指定文件的完整路径(例如
),效果会更好(如Stefan所示)(load-file "~/.common-system/emacs")
答案 1 :(得分:1)
如果你坚持使用当前的存储库布局,那么使用load-file
(正如其他人的建议)是可行的方法。
但是,如果您将顶级目录命名为.emacs.d
并将文件init.el
放入其中,则Emacs会找到并自动运行它。这样,您就不必在您使用的每个系统上手动编辑.emacs
文件。
答案 2 :(得分:0)
使用(cond),调度用户登录名,系统类型和系统名等变量
(cond
((equal user-login-name
"myname")
;; Stuff
)
((equal system-type 'gnu/linux)
(require 'some-file)
;; some-file, could be any file in load-path, named some-file.el, and ending
;; with (provide 'some-file)
))