Vim是Vi最受欢迎的变种之一,除了继承了Vi迅捷的编辑方式, Vim的功能已经比原始的Vi强大得多。 这也得益于它可以用Vim脚本无限地扩展。 Vim.org 上已经有数千个脚本了,给Vim增加各种各样的特性和功能。 为了证明Vim的可扩展性不输于Emacs,也有用户写了 在Vim中玩游戏、运行Shell、和集成GDB在Vim内部调试的插件。 客观地讲,Vim的脚本语言与Emacs的ELisp相比,略显逊色, 但这丝毫不妨碍它把Vim扩展成非常优秀的编辑器。 说到底,Vim的前身Vi和Emacs的设计采用了不同的哲学, Vi更符合Unix传统,它通过管道机制和系统内各种积木工具打交道, 它讲究的是和系统内的工具程序协作来完成用户的任务。 和Emacs相比,它的定位很明确,就是要做一个强大的编辑器。 因此Vim的绝大部分扩展,都是为了更好地完成编辑文本的任务。 海纳百川,有容乃大。Emacs和Vim通过别的编辑器无法比肩的可扩展性, 不断吸收广大用户的智慧,是它们能成为“神器”的原因之一。 2. 特立独行的魅力 2.1 可扩展性让你倾注了灵魂 一旦你意识到Vim或Emacs的强大,你就踏上了不停发掘它们潜力的漫漫长 路。你不停地改进自己的配置文件,你不停地搜索更好的插件,甚至有一 天你开始动手写自己的插件。就像剑客保养自己的剑一样,你也甘心花时 间提升你的Vim或Emacs。经年累月,不知不觉,你已经在那把剑上倾注了 你的灵魂。 2.2 独特的操作方式让你中了毒 Emacs和Vim有着迥异的操作方式,却成了Unix/Linux世界中两种代表性的 操作方式,有些软件的操作方式类似Vi,而有些软件的方式类似Emacs, 甚至有些软件提供了Vi的键绑定和Emacs的键绑定让你选择。 而无论哪种操作方式,对Windows用户来说都是古怪的。 虽说古怪,多少代人也验证了这两种操作方式的高效。 Emacs号称Ctrl到死的编辑器。其实它几乎用了所有的辅助键, 听说过没有,Emacs = Esc + Meta + Alt + Ctrl + Shift。 所以高德纳大师说操作Emacs,就像弹奏管风琴。 Emacs使用非常多的组合按键,这大概也是它高效于其它无模式编辑器的原 因之一。你也可以定义自己的组合键序列,调用自己写的lisp函数, 完成自己想要的功能。 Vi一向是以快速的文本编辑闻名于世的。它的按键更简洁,通常是单个字 符按键,就实现某种操作。但这是以有模式为代价的。你要不停地按Esc在 从它的插入模式返回Normal模式。客观得讲,在文本编辑方面, Vim比Emacs高效,因为它提供了一些Emacs没有对应功能的操作来辅助高效 的文本编辑。但它的模式切换也让一些人受不了,于是那些人选择了 Emacs。 不管你选择了Vim还是Emacs,你都要为习惯它们独特的操作方式而努力, 这是一个技艺积累的过程。当你习惯了Vim或Emacs,你会有欲罢不能的感 觉,你希望用它们完成尽可能多的任务, 因为你再用别的编辑器也已经不习惯。 用Vim或Emacs就像吸食毒品,慢慢地就会上瘾。 它们会带给你渐渐强烈的快感,但你也向它们献出了自己的灵魂。 这时,你只能称它们为神器。 3. 黑客的编辑器 Vim的前身Vi的作者Bill Joy和Emacs的作者Richard Stallman 都是那个时代著名的黑客,所以这两款编辑器一开始面向的主要用户 就是写程序的人,现在仍然是。 它们对编程加入了越来越多的支持,如语法高亮、智能缩进、关键字补全 甚至集成调试。也有越来越多的程序员从IDE转向了Vim和Emacs。 用Vim和Emacs编程到底有什么好处? 我想首先是它们高效的编辑操作会提高你的编程效率。 其次你可以用它们完成各种语言的编程,所谓一剑在手,夫复何求。 你不用再因为编程语言不同去学习不同的IDE的使用, 那些庞大的IDE的升级换代也与你再不相关, 你把精力用于学习编程语言本身就好了。 听说Google和微软内部开发也都不用IDE的, 他们也会用Emacs或Vim。 因为我写的程序不多,还不能深入体会用Vim或Emacs开发程序的乐趣。 我只是觉得这很酷,你看,Linux之父Linus多年来用的是一款 MicroEmacs,它比GNU Emacs或XEmacs少许多功能,但Linus就是用它在维 护Linux。 微软的大牛Don Box,Com之父,一直用Emacs, 他说谁也不能夺走他的编辑器。他还在网上放了一段他用Emacs写C#程序的 视频。 编程大师们的选择,也是Emacs和Vim被追捧为神器的原因之一。 4. 神器引发的圣战 Vim用户和Emacs用户有着旗鼓相当的品位,应该互相欣赏才对。 现实却是,忠诚于Vim的用户和忠诚于Emacs的用户互不相容, 常常没完没了地打口水仗。Emacs用户说Vim的操作方式单一而古怪, Vim用户说Emacs体积庞大,启动缓慢。 很有点一山不容二虎的意思,大概因为二者都处于神器的高度,才会斗争 不断吧。也可能是因为二者截然不同的设计哲学吸引的用户在价值观上也 互不认同。 正因为两者难分高下,新人总是在Vim和Emacs之间犹豫不定, 很难决定到底要皈依哪一个神
- 1
- 粉丝: 328
- 资源: 110
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
前往页