yunhen / dotemacs

Personal Emacs configuration files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dot Emacs

这里是我的Emacs配置,其中有一些个人写的elisp hack,欢迎试用、吐槽。

功能

根据我个人的需要,目前这套配置实现了下面的功能:

Emacs Starter Kit

此配置使用了Emacs Starter Kit,使用了starter-kit-bindings, starter-kit-eshell和starter-kit-lisp这几个模块。

包管理

init.el里列出了配置所需要的包,并将流行的elpa repo加到列表里了,启动 Emacs时会自动检查所需的包是否已安装,如果没有则会自动安装。

Clojure IDE

依赖clojure-mode和nrepl.el实现的Clojure IDE

Python 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模式下还支持通过 . 来触 发补全,在一个对象/模块等后面输入 . 可以自动触发补全并打开补全列表。

yasnippet

内置部分个人收集、编写的snippets,请参照snippets子目录。

org2blog

conf.d/blog.el是个人博客的配置,如果需要使用org2blog来写博客,请修改 blog.el配置,改为自己的Wordpress配置。

org-mode的LaTeX导出

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

About

Personal Emacs configuration files


Languages

Language:Emacs Lisp 100.0%