Evil--在Emacs中模拟Vim

这篇文章过时了,参见皈依Emacs,现在我对操作方式有较大调整。

Vim模拟

平心而论,Vim的modal editing确实比Emacs强,而Emacs默认的按键绑定设计不好,不适合使用,要让它适合做工作环境往往要改大量按键。“一千个读者心中有一千个哈姆雷特”,Emacs的配置也确实大相径庭。

但和打字配套的附件功能始终不如Emacs,比如repl环境、文件管理、笔记管理、minor mode 等。相当一部分major mode(浅薄地说,和Vim的filetype对应),都是Emacs的比Vim的对应物好用,比如AUCTeXhaskell-modetuareg-mode

Evil

Evil是又一个Vim模拟器,是Vimpulse和vim-mode的接替者。

Pandoc和Gitit的作者John MacFarlane也使用Evil,他也是个能折腾工具的人,他的选择也能说明Evil确实不错:http://john.macfarlane.usesthis.com/

这篇文章介绍了一些Evil使用的技巧,另外强烈推荐Michael Markert的Evil配置

插件

目前似乎有四个插件,个人认为最有用的是这两个:

evil-surround。用来模拟surround.vim 的。这项功能一直是Emacs的软肋,因为缺乏normal mode,即使有text object的移植,换成key sequence再加上control meta之类的键就变得比surround.vim笨拙很多了。

evil-leader。用来模拟Vim的mapleader。我一般把mapleader设为逗号,添加ido-find-file save-buffer compile等绑定。

2015

大概从2012年下半年开始,我基本只用Vim,Emacs仅用于看info。一晃三年过去了,今天因为要用Proof General而又折腾了下Emacs。三年前的配置其实还能用,但还是借这个机会大刀阔斧改掉。 Emacs的生态还是很棒,很多包都转移到GitHub了(Vim的生态转到GitHub感觉更早些)。包管理系统逐渐改善,helm、org-mode、auctex和众多FP语言的major-mode都是Vim对应插件无可比拟的。有Evil在,编辑功能不至于比Vim差太多,继续启用Emacs作为主力编辑器!