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作爲主力編輯器!