Emacs 配置文件管理

以下配置方式属于个人习惯。

使用 ~/.emacs.d/init.el 加载 Emacs Lisp 脚本

不用 ~/.emacs 加载配置的理由是:我需要用 GitHub 备份配置文件,这样直接将 ~/.emacs.d 加入仓库。

拆分配置文件 针对多门编程语言的配置文件,可以拆分成多个配置文件,然后在 init.el 中分别载入,这样就方便维护配置文件了。如:

;; In init.el
(add-to-list 'load-path "~/.emacs.d/my-setting")

(require 'my-common-lisp)
(require 'my-clojure)
(require 'my-newlisp)
(require 'my-python)

第一行 add-to-list 的目录存放了我拆分的配置文件,结构如下:

my-setting/
├── my-clojure.el
├── my-common-lisp.el
├── my-markdown.el
├── my-newlisp.el
└── my-python.el

拆分出来的每个独立的 .el 文件底部都要加入 provide,如在 my-python.el 加入:

(provide 'my-python)

拆分过后,我的 init.el 就只写一些通用的配置,专有的配置我就独立成一个小文件,这样 init.el 就不用写一大堆注释了,增加、删除都更加方便点。

使用 GitHub 备份配置文件

之前说过,不用 ~/.emacs 来写配置信息而用 ~/.emacs.d/init.el 的目的就是为了用 Git 管理,这样我只用在 ~/.emacs.d 下初始化一个仓库,再到 GitHub 上新建一个仓库,最后 push 上去。无论是在服务器还是其他地方,只用从 GitHub 上 clone 一份配置文件即可。

但注意,一定要在 .gitignore 中忽略掉一些带了敏感信息的文件,比如 ~/.emacs.d/eshell/history 中就记录了我的命令历史,所以 eshell 这个目录要忽略掉,具体还有哪些需要忽略的,请自行检查。