显示标签为“Emacs”的博文。显示所有博文
显示标签为“Emacs”的博文。显示所有博文

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的更妙用途

2006-09-30

Emacs vs Vim

一直听某些人说,Emacs是最强的代码编辑器,甚至是一种信仰,不过也常听说Emacs is evil。
过去一直用VIM,随着不断的成长,也受很多人的喜爱,现在对于谁是代码编辑器之王,这两拨人动不动就要吵,有些是从Emacs转到Vim,有些则相反。
这两天搞了个XEmacs玩玩,为什么不用GNU Emacs?因为GNU Emacs对中文支持不好(Windows下)。
Emacs有两个搞笑的名字

  • 是Emacs Makes A Computer Slow的缩写
  • 是Escape Meta-Shift-Backspace-Control x c
用了之后,花了几个小时定义了自己的配置,才觉得,别人说Emacs是种信仰有那么一点道理。和Vim比,除了对Vim的脚本不太适应之外,Emacs的elisp提供了更多的函数来完成任务,而Vim脚本常需要使用execute来模拟键盘输入的指令。而反过来说,虽然Emacs的可自定义能力很强,但Vim预定义的各种命令,已经可以完成Emacs中很多需要自定义的东西了。
真是很难取舍。