1

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

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

4

3 回答 3

3

你有没有尝试过:

(load-file ".common-system/emacs")

如果您指定文件的完整路径,它会更好(如Stefan建议的那样),例如

(load-file "~/.common-system/emacs")
于 2013-01-18T20:36:52.997 回答
1

如果您坚持使用当前的存储库布局,则使用load-file(如其他人所建议的那样)是要走的路。

但是,如果您命名您的顶级目录.emacs.d并将文件init.el放入其中,Emacs 将找到它并自动运行它。这样,您不必.emacs在使用的每个系统上手动编辑文件。

于 2013-01-18T20:57:20.297 回答
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)
   ))
于 2013-01-18T20:43:41.963 回答