使用purcell的配置快速上手Emacs

不废话,请先看这篇文章:

一年成为Emacs高手(像神一样使用编辑器)

之后的问题就比较简单了,使用purcell的配置,然后稍加自定义即可。

purcell的配置是基于Mac OS的,但毕竟emacs跨平台特性很好。
Windows和Linux也能用,直接clone下来就能正常运行。

本文主要讲解如何站在巨人的肩膀上管理自己的配置,基于2014年7月的.emacs.d版本。

1.purcell预留的接口
purcell的配置给用户留了两个接口,一个是custom.el,一个是init-local.el
前者主要是用来配置自定义变量,后者主要是用来配置自定义函数。
举个栗子:
custom.el文件

(custom-set-variables
 ;; Never backup in cureent directory
 '(backup-directory-alist (quote (("." . "~/.backups"))))
 
 ;; The color of "80 column rule" Guides line 
 '(fci-rule-color "darkblue")
)

lisp/init-local.el文件

;; The color of "80 column rule" Guides line 
(add-hook 'prog-mode-hook 'sanityinc/prog-mode-fci-settings)

各详细请参考我的配置
https://github.com/jhpx/emacs.d/blob/master/custom.el
https://github.com/jhpx/emacs.d/blob/master/lisp/init-local.el

2.接口上再建接口
在lisp/init-local.el里,可以require一个自己的配置文件。
以sml语言为例:

;; Add support for some special languages
(require 'init-sml)

建立一个lisp/init-sml.el文件

(require-package 'sml-mode)
(provide 'init-sml)

利用purcell的配置,一句require-package即可从elpa里自动下载对应的packag,
即第一次运行emacs时即可联网下载本地不存在的package文件。
这样最大的好处通过git管理配置文件即可,无视各种package的实体。
如此就使需要git管理的文件小了很多。

3.使用git管理自己的配置
思路就是在本地维护两个分支。
一个purcell分支关联purcell的git里的master分支
另一个master分支关联到我自己(jhpx)的git里的master分支
每次从第一个分支pull,切换到第二个分支merge,再push到自己的github上。

详细命令就不说了,很多人用的git客户端都不一样。
其实参考我的git配置文件直接编辑config也可。

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
	hideDotFiles = dotGitOnly
[remote "origin"]
	url = git@github.com:jhpx/emacs.d.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[remote "purcell"]
	url = https://github.com/purcell/emacs.d.git
	fetch = +refs/heads/*:refs/remotes/purcell/*
[branch "purcell"]
	remote = purcell
	merge = refs/heads/master