为何Emacs 和 Vim 被称为两大神器

如题所述

第1个回答  推荐于2017-11-26
追求独步天下的高手和低手们争着一睹它们的风采,可看到它们朴素单薄的界面后,不禁心下怀疑:这就是神器吗?甚至有人生了轻视之心。肤浅的人嗤之以鼻,说:什么年代了,还抱着这么老土的玩意不放,真他妈Geek!同学,请冷静下来,听我说:它们的确够老了,都几十年的寿命了,但你想想为什么,为什么这么古老的编辑器,却有越来越多的人皈依它们。Windows下用UltraEdit和Editplus的人质问:它们到底比UltraEdit和Editplus好在哪里?我说:不可同日而语。连UltraEdit和EditPlus都没用过的同学问:它们就相当于Linux上的 Notepad吧?我说:请你从我的眼前消失。一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长,于是在没发现它们的强大之前就放弃了,说:太难用了,把键盘当鼠标用的烂玩意,有什么好的?还是有一些人留下来了,坚定地守护着这两大神器。一些说葡萄太酸的人想离开又不甘心,总是问:它们到底神在哪里啊?我不禁想起了李宗盛的几句歌词:: 有人问我你究竟是哪里好,这么多年我还忘不掉?春风再美也比不上你的笑,没见过你的人不会明了。 也许你不会明了,我还是要努力讲一讲。1. 无敌的可扩展性1.1 可扩展性给了软件强大的生命曾几何时,Windows用户对软件的可扩展性没有概念,他们只能对他们使用的软件进行非常有限的定制。扩展软件的权利保留在软件开发者手中。软件的使用者如果想要新的功能和特性,只能等待软件的升级。有能力的用户等不及了,为了添加自己想要的功能,从0开始写了一款新的软件。就这样,新的功能意味着新的软件,Windows下的软件前赴后继,迅速地更新换代着。因此, Windows下的软件都很短命。Linux和开源软件渐渐流行起来,人们才发现:可扩展性才能给软件强大的生命。在MS的VS横行的今天,Eclipse为什么被评为最好的IDE?就是因为它在IDE中最具可扩展性。在IE几乎一统天下的时候,为什么Firefox能夺走越来越多的用户,也是因为它的可扩展性。提供了良好的扩展接口,用户自然会写出各种各样的插件,来满足用户自己形形色色的要求。这样,软件在用户的推动下自然变得强大了。Emacs和Vim没有被时代淘汰,反而越发强大,也正是因为在数不清的编辑器中,他们具有无可匹敌的可扩展性。1.2 Emacs是伪装成编辑器的操作系统有句夸张的话说:Emacs是伪装成编辑器的操作系统。细细想来,这句话并不夸张。Emacs其实是个Lisp的解释器,因此可以用Lisp灵活地扩展。 Lisp是什么东西,这同样是种很有生命力的编程语言。在C语言还没有发明的年代,MIT的人工智能实验室写ITS操作系统时,一部分用的是汇编语言,还有一部分就是用的Lisp。现在,Lisp仍在人工智能研究领域广泛使用着。有这么牛逼的扩展语言,注定Emacs向着无所不能的方向发展。渐渐地,人们用Emacs不再限于写程序,写文档,而且在Emacs里管理文件系统,运行终端,收邮件,上网,听音乐……,真是一发不可收拾。甚至,有人用Emacs控制咖啡机煮咖啡。这种大而全的扩展,背离了“一个程序只做一件事并做好它”的 Unix哲学,被Unix的忠诚用户所诟病。可是真的背离了吗? Emacs说过自己是一个编辑器吗?正是因为Emacs的无敌的可扩展性,人们才分不清Emacs到底是不是一个编辑器了。但,就是有人喜欢这种All-in-One的哲学,喜欢在Emacs中完成每件事。所以才会有人写《生活在Emacs中》,所以, Emacs才会成为一种信仰。1.3 Vim不只是ViVim是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体积庞大,启动缓慢。很有点一山不容二虎的意思,大概因为二者都处于神器的高度,才会斗争不断吧。也可能是因为二者截然不同的设计哲学吸引的用户在价值观上也互不认同。本回答被提问者采纳

解析:为何Emacs和Vim被称为两大神器
Vim用户说Emacs体积庞大,启动缓慢。很有点一山不容二虎的意思,大概因为二者都处于神器的高度,才会斗争不断吧。也可能是因为二者截然不同的设计哲学吸引的用户在价值观上也互不认同。

为何Emacs 和 Vim 被称为两大神器
Emacs和Vim通过别的编辑器无法比肩的可扩展性,不断吸收广大用户的智慧,是它们能成为“神器”的原因之一。2. 特立独行的魅力2.1 可扩展性让你倾注了灵魂一旦你意识到Vim或Emacs的强大,你就踏上了不停发掘它们潜力的漫漫长路。你不停地改进自己的配置文件,你不停地搜索更好的插件,甚至有一天你开始动手写自己的插...

emacs和vim彼此的优越性..
简单的说emacs是大而全,vim是小而精。所以,emacs扩展性非常强, 相对的按键操作比较麻烦。而vim扩展起来就需要借助操作系统上的很多工具,一般都是Unix\/Linux下面的。这两个东西学习起来很不容易。现在大家都使用集成开发环境,如Eclipse, VS等,这样可以将注意力集中到程序本身上。初学者最好不要一上...

vim 和 emacs 到底比ultraedit 和notepad2\/++ 强在什么地方?
emacs的文本处理能力比vim强,二进制处理能力也比vim强,emacs比vim程序体积大。如某文件在vim中16进制显示就有问题,在emacs中的16进制模式中显示无误。emacs和vim打开一个很大的文件,速度都很快,都比其他常用程序快很多。

有哪些好用的在线 LaTeX 编译器
emacs -- 没好好用过。编写其他代码时,它和 vim 一样强大,相信编写 LaTeX 文档也一样强。emacs 和 vi (现已被 vim 取代) 是 Unix 用户的两大神器,一般人只能驾驭其中一个,牛人才能两个都精通。WinEdt --- 集成环境,有编码窗口,有编译按钮。由于 CTeX 的原因,在国内的 Windows 平台上...

有哪些好的LaTeX编辑器?
Windows, MacOS。emacs -- 没好好用过。编写其他代码时,它和 vim 一样强大,相信编写 LaTeX 文档也一样强。emacs 和 vi (现已被 vim 取代) 是 Unix 用户的两大神器。主要功能 1、采用全屏布局,扩大编辑空间。2、将目录区和编辑提示区分离。3、优化工具栏排布。4、优化编辑提示逻辑。

谁说Vim不是IDE
至于为什么给这篇文章起这么个名字,读者就当做是个噱头好了。其实Vim、Emacs、ST2等已经和IDE没有太大区别了。编程人生 我个人接触vim从2000年开始,当时正值第一波互联网浪潮,我刚毕业不久,一如现在的热血青年,投身到互联网的大熔炉中(当然和现在的互联网弄潮儿不一样的,当年我们大部分都被熔掉了...

大学生程序员必备的十款工具
Vim是vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 02·uTools桌面插件工具 优点:简洁美观、插件化,能够节约时间。uTools 是一个极简、插件化的现代桌面软件,通过自由选配丰富的插件,打造得心应手的工具集合...

emacs编辑器的下载及使用安装问题
如果你用过vim,可能会觉着emacs初始的工作方式比vim好太多,起码不会按个esc就啥也输不进去。但是相信我,你被骗了,真的。想让此等神器按你的方式工作,不折腾个欲仙欲死是不大可能了。geek么,就喜欢折腾,如果你是这样的人,恭喜你,你找到了世界上最好玩的玩具,它能从各方面满足你折腾与探索之心,尽情享吧。

作为程序员的你,常用的软件有哪些?
当然你比较习惯Linux\/Unix下开发,Emacs\/Vim可能是你用得比较多的文本编辑器,还有UltraEdit、Sublime Text、EditPlus、Atom这些老牌的文本编辑器,不过现在我觉得每个程序员都应该下载一个Visual Studio Code,支持的语言比较多,而且插件非常丰富,是微软官方支持的开发者工具,开源免费而且颜值非常高。 查询资料、版本管理工具...

相似回答