2008-10-19

Emacs和vim


上图是Emacs。
在善用佳软上看到鼓吹使用vim的文章,于是就试用了一下它上面的例子。vim果然是一个无比强大的编辑器。不过这没并没有让我下决心使用vim,而是让我想学会使用Emacs。因为我明白,对于我来说,EmEditor已经够用了,似乎没有必要花很长的时间去学习另一个编辑器,虽然这个比EmEditor强大很多;我需要的不是一个编辑器,而是一个可以管理文件的编辑器,像Emacs这样可以当成系统使用的编辑器。
有人说Emacs是“神”用的编辑器,一试之下果然不错。花了一天的时间依然没有解决中文化问题,在输入“槑”等非主流字体时它无法显示,完全不知道如何解决。像我这么潮的人怎么可以忍受使用一个无法支持酷酷字体的编辑器呢?无奈之下我只好选择vim,这个对中文支持极好的编辑器。
Emacs实在是太难学习了,以粗浅的感觉,学习Emacs=学习一个古怪的编辑器(我觉得比vi古怪)+一个难学的系统(比linux难学,不是真正的系统,没有系统理论)+一门程序语言。vim相比就容易入门多了,只要理解了所谓的模式,就可以编辑文档——至少不用想着让它支持中文。
网上看到一篇对比Emacs和vi的文章,它这样说:
VIM和Emacs的相似之处:

首先都是全功能的编辑器
缩进,重新编排格式
语法高亮
无限制的"撤消"和"重做"
多个剪切,粘贴板
拼写检查
多语言支持
可扩展性强
宏,函数
自定义键
自己定制.emacs和.vimrc(很多人的这两个文件都写得跟天书似的,可能主要考察一下记忆力)
操作文本串,多行,矩形块
几乎可以识别任何文本文件类型
没有行长度和文件大小的限制(操作系统有限制除外)
自动识别UNIX,MAC,MSWIN的行结尾符
二进制文件编辑
都有很好的帮助和用户手册以及免费的电子书
都有TTY和GUI版本
可以在很多操作系统上运行(*nix,win32,Mac...)
都有父老兄弟:Emacs有Xemacs及其派生的Epsilon,JOVE等;VIM有其老头子VI和兄弟Nvi,Vile,Elvis等
都是FREE SOFTWARE,可以方便地得到

VIM 和 Emacs的不同:

vim主要设计用来写程序的,当然也可操作众多的文本文件;Emacs主要设计用来文本操作的
vim体积小启动快;相反,Emacs体积大,启动慢
VIM专注于文本编辑;而Emacs功能强大:除了VIM常干的事外,还有排版,收发邮件,IDE,播放MP3,日程安排,系统管理,浏览网页,甚至教你做一道精美的川菜....,功能强大到BT的地步. 故若说VIM是一种工具的话,则Emacs则可认为是一种"生活平台"
VIM学习曲线陡峭而较短;Emacs 学习曲线平缓而较长
VIM是有模式的编辑器;而Emacs是没有模式的(现在的很多编辑器和word处理器都是无模式的)
"无模式"的优缺点
常见而显得亲近
对于标准的下拉菜单式GUI程序,容易适应
其命令有复杂的语法和很难敲的多个键的组合,因键盘上的键是有限的,所以恨不得加个脚踏
甚至有些键在标准键盘上都没有
"有模式"的优缺点
容易迷惑现在在那个模式下:Normal mode ,Visual mode ,Select mode ,Insert mode ,Command-line mode, ex mode ; ^X mode, operator-pending mode, Replace mode, Insert normal mode, Insert Visual mode, Insert Select mode我能想起的mode就这些---这么多,头都大了.
在模式间频繁转换是令人讨厌的
可以有更多的按键用于命令
几乎所有的时间手指一般都停留在"normal position",故而效率高
Emacs的GUI更容易操作大体积的文本工作;gvim与Xwindow接合得更好--看起来感觉更舒服一些:好看一些的字体,好一点的语法高亮,好看一点的工具条等等. Emacs的TTY版本与GUI版本看起来非常相似, 而VIM的TTY版本和GUI版本(gvim)就有很大的不同,这也是我几乎不用gvim的原因(个人习惯)

对于我自己来说,最明显的感受也许就是vim不像Emasc一样自带游戏。如果vim能有个俄罗斯方块之类的游戏,那就好了,没事也可以玩一玩。
最后带发一张图:假如vi是微软发明的。此图纯属搞笑,我认为微软是不会发明一种起过一分钟才能上手的东西的。微软的东西永远都是一分钟内上手,一辈子无法完全了解。

没有评论:

留言须知:
0. 你有權保持沉默,但你所說的將作為此BLOG有人訪問的證據。
1. 支持的HTML標籤:<a href="" title=""> <b> <em> <i> <strong>。
2. 留言留名,不然易被无视。(在“评论”中选择“名称/网址”,网址可以不填)。
3. 原則上我不删除留言,除非那則留言侮辱到你。