elpa全称Emacs Lisp Package Archive,类似apt-get,以期通过统一集中的方式管理emacs packages,这里有篇介绍http://emacswiki.org/emacs/ELPA
自emacs24起,elpa已经成为内建的一部分,虽然现在源还不算十分丰富,但常见的插件基本都能找到,自动解决依赖自动编译用起来很方便,
不过elpa的默认行为我不太喜欢,默认的elpa会自动加载全部packages,而且要等到emacs初始化文件加载后,这样packages只能通过"间接"方式设置了,
好在我们可以改变默认行为,以下是我的配置:
;加入3个源
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")))
;禁止elpa自动加载packages
(setq package-enable-at-startup nil)
;手动初始化之,如此elpa会将packages的路径加入load-path中,免去我们分别手动加入的麻烦了
(package-initialize);
;下面require需要的packages并设置之就好了