# emaconfig **Repository Path**: nodin/emaconfig ## Basic Information - **Project Name**: emaconfig - **Description**: emacs配置 - **Primary Language**: Emacs Lisp - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2013-11-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ━━━━━━━━ README Nodin ━━━━━━━━ Table of Contents ───────────────── 1 Dot Emacs .. 1.1 功能 ..... 1.1.1 Emacs Starter Kit ..... 1.1.2 包管理 ..... 1.1.3 Clojure IDE ..... 1.1.4 Python IDE ..... 1.1.5 自动补全 ..... 1.1.6 yasnippet ..... 1.1.7 org2blog ..... 1.1.8 org-mode的LaTeX导出 ..... 1.1.9 字体和配色 ..... 1.1.10 自定义的功能和按键绑定 .. 1.2 安装 1 Dot Emacs ═══════════ 这里是我的Emacs配置,其中有一些个人写的elisp hack,欢迎试用、吐槽。 1.1 功能 ────── 根据我个人的需要,目前这套配置实现了下面的功能: 1.1.1 Emacs Starter Kit ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 此配置使用了[Emacs Starter Kit],使用了starter-kit-bindings, starter-kit-eshell和starter-kit-lisp这几个模块。 [Emacs Starter Kit] https://github.com/technomancy/emacs-starter-kit 1.1.2 包管理 ╌╌╌╌╌╌╌╌╌ init.el里列出了配置所需要的包,并将流行的elpa repo加到列表里了,启动 Emacs时会自动检查所需的包是否已安装,如果没有则会自动安装。 1.1.3 Clojure IDE ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 依赖clojure-mode和nrepl.el实现的Clojure IDE 1.1.4 Python IDE ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 使用了python-mode和ipython实现的Python IDE 1.1.5 自动补全 ╌╌╌╌╌╌╌╌╌╌ 使用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模式下还支持通过 `.' 来触发补 全,在一个对象/模块等后面输入 `.' 可以自动触发补全并打开补全列表。 [Emacs Live] https://github.com/overtone/emacs-live 1.1.6 yasnippet ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 内置部分个人收集、编写的snippets,请参照snippets子目录。 1.1.7 org2blog ╌╌╌╌╌╌╌╌╌╌╌╌╌╌ conf.d/blog.el是个人博客的配置,如果需要使用org2blog来写博客,请修改 blog.el配置,改为自己的Wordpress配置。 1.1.8 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 ╰──── 1.1.9 字体和配色 ╌╌╌╌╌╌╌╌╌╌╌ 默认使用了Ubuntu Mono和文泉驿等宽微米黑,配色使用了solarized-light。如 果需要修改字体和配色,请查看并修改settings.el。 1.1.10 自定义的功能和按键绑定 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ `C-o' 类似Vim的 `o' ,在当前行之后插入新行(并加上合适的缩进) `M-o' 类似Vim的 `O' ,在当前行之前插入新行(并加上合适的缩进) `C-' 切换到下一个buffer `C-' 切换到上一个buffer 1.2 安装 ────── clone本repo到~/.emacs.d,启动Emacs即可。 ╭──── │ cd ~ │ git clone git@git.oschina.net:nodin/emaconfig.git .emacs.d ╰────