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 这个目录要忽略掉,具体还有哪些需要忽略的,请自行检查。