这里是我的Emacs配置,其中有一些个人写的elisp hack,欢迎试用、吐槽。
根据我个人的需要,目前这套配置实现了下面的功能:
此配置使用了Emacs Starter Kit,使用了starter-kit-bindings, starter-kit-eshell和starter-kit-lisp这几个模块。
init.el里列出了配置所需要的包,并将流行的elpa repo加到列表里了,启动 Emacs时会自动检查所需的包是否已安装,如果没有则会自动安装。
依赖clojure-mode和nrepl.el实现的Clojure IDE
使用了python-mode和ipython实现的Python IDE
使用auto-complete插件实现的自动补全,默认使用auto-complete内置的 dictionary,words-in-the-same-buffer等source,并支持clojure和python补 全。
- Clojure补全
借用了Emacs Live的部分配置以实现Clojure的补全,需要启动nrepl.el之后 才能生效(其机制是动态发送clojure代码到nrepl中执行以获取补全列表,因 此其性能也不好,会有卡顿)。
- Python补全
使用了rope,ropemacs和pymacs来实现Python补全、重构等功能。如果要使用 此功能,请自行安装rope和ropemacs(pymacs已包含在repo中了):
sudo pip install rope sudo pip install ropemacs
如果不安装rope和ropemacs,启动Emacs时会报错,所以不需要此功能的话,可 以将conf.d下面的python.el改名或者删除。
- 补全快捷键优化
因为Clojure的补全比较慢,所以Clojure模式下默认的自动补全不会使用 nrepl的source,如果要使用基于nrepl的补全,则可以使用
M-/
来触发。 同样Python的补全也有类似的优化,同时Python模式下还支持通过.
来触 发补全,在一个对象/模块等后面输入.
可以自动触发补全并打开补全列表。
内置部分个人收集、编写的snippets,请参照snippets子目录。
conf.d/blog.el是个人博客的配置,如果需要使用org2blog来写博客,请修改 blog.el配置,改为自己的Wordpress配置。
orgmode.el里的配置可用于方便地使用org-mode编写文章,slides并输出成为漂 亮的PDF文件。此功能依赖texlive(最好完整安装,我用的是2011版,但2012应 该也能行),并需要系统中安装了微软的中文字体(从Windows 7中获取的,宋 体,黑体和楷体)。
使用方法如下:
- 编写文章
打开一个空的org文件,输入
article
并按TAB
即可扩展成一个文章骨架, 把其中的标题、作者等修改好就可以使用org的语法来编写文章,之后可用C-c C-e p
来输出PDF。如果是中文文章,请将LATEX_CLASS
改成cn-article
即可。 - 编写beamer slides
打开一个空的org文件,输入
beamer
并按TAB
即可扩展成一个slides骨 架,把其中的标题、作者等修改好,并按org的语法来编写slides,其中默认 二级标题对应一张slide。输出PDF的命令和上述的是一样的,并默认就支持中 文。
如果需要调整字体等设定,请自行修改orgmode.el。
另外,基于 minted 包的代码高亮也是支持的,只需要系统中安装有 Pygments 即可。在 Linux 下安装方法如下:
sudo pip install Pygments
默认使用了Ubuntu Mono和文泉驿等宽微米黑,配色使用了solarized-light。如 果需要修改字体和配色,请查看并修改settings.el。
C-o
类似Vim的 o
,在当前行之后插入新行(并加上合适的缩进)
M-o
类似Vim的 O
,在当前行之前插入新行(并加上合适的缩进)
C-<dot>
切换到下一个buffer
C-<comma>
切换到上一个buffer
clone本repo到~/.emacs.d,启动Emacs即可。
cd ~
git clone git://github.com/moonranger/dotemacs.git .emacs.d