从.emacs加载并评估文件

时间:2013-01-18 20:30:49

标签: emacs repository

我在许多不同的机器和VM上工作,每个机器和VM可能对.emacs的选项有自己的需求。我有一个Git存储库/子目录.common-system,第二个Emacs Lisp文件.common-system/emacs包含用于我所有系统的通用定义。

我可以对.emacs进行哪些更改,以便自动加载和eval我的辅助定义文件?启动后将辅助文件保留在缓冲区列表之外的加分点。

3 个答案:

答案 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)
   ))