萧雁翎
首先我不认同Vim Vs. Emacs的讨论是无意义的。我使用Vim的时间更长一点,在Linux, Mac OS X, Windows下均是作为「文本编辑器」。接触Emacs主要是开始学习Clojure之后。老实说,在入门了两个软件之后(两者的入门门槛都很高,入门是指有过一段时间的非学习目的的实际适用),我觉得吸收两者的精华以配合自己的情况及场景为好。我认为Emacs可以学学,至少是学学Emacs的key binding, 然后可以学学elisp, 理解一下Emacs的工作机制。Emacs的key binding适用范围非常广。即使你不用Emacs, 肌肉记忆下几个常用的移动光标的快捷键也是非常有好处的。因为这能够给你跨操作系统的「一致体验」Mac OS X下几乎所有的文本输入框,包括Chrome的Omnibox, XCode, IntelliJ, TextMate... 在这方面我觉得是OS X的一个巨大优势:Apple键修饰的快捷键基本上是「功能键」,目的是完成一个功能,例如新建Tab, 关闭Tab, 而Ctrl修饰的快捷键保持了Emacs的keybinding,目的是为了「移动光标」, 例如Ctrl - K 删除到行尾,Ctrl - A 移动到行首, Ctrl - E移动到行尾;Linux的Terminal. 抱歉我好多年不用Linux桌面,不知道Linux的桌面应用是否也支持Emacs keybinding. 我也见过不少同学用Vi的command line keybinding, 但是老实说本来就是大多数时候单行的编辑场景,用Vi这种带模式的编辑实在没必要。命令行下「输入」占大多数。Windows下的cygwin… 只知道这了。另外像Chrome的Web DevTools里面支持少数几个,例如Ctrl - L清空屏幕。所以其实这方面我觉得对于「普通用户」来说Emacs的意义比Vim更大,更加融入我们的日常生活。