2006-10-02

Vim vs Emacs 续

这次是接续上一次,用了一段时间的Emacs,我得出的结论是:作为一个编辑器Vim才是王者,原因是,当理解了所输入的键盘指令,就可以组合出各种花样。
比如,删除一整行、一个单词、删除到某个字符出现、删除一个句子,Emacs中需要分别绑定一个按键,可能还需要分别写函数,而Vim只需要使用d或x命令,加上一些范围指令dd, dw, d/...等等。这些是单纯目前的Emacs所不能做到的——我试用了Viper,能够实现很多功能,但还不够理想。
不过我觉得Emacs的优势也是明显的,Lisp是一个完整的语言,而Vim脚本则很依赖Vim的功能。使用elisp自定义函数时,我写了一个为某个选区两边加上双引号的小程序,并绑定到某个按键,很快就搞定,通过自带的info查询了一些函数,就搞定了,而Vim的脚本,需要处理normal 模式、insert模式,需要使用execute模仿指令输入而非直接调用函数,并不很直观。使用Lisp编程感觉也更加舒服自然。
不过这次的研究,也让我对Vim的认识更上了一个台阶,过去一直没有接触过Vim的脚本,也不知道如何使用Vim定义按键,也不知道Vim的abbrev,这次通过和Emacs的对比,也让我了解不少。
不知道哪位Emacs牛人,能指点一下,让我能明白Emacs的更妙用途

1 条评论:

gosman 说...

我刚放弃emacs,改学vim。vim让人爱不释手。