热门问题
时间线
聊天
视角

编辑器之战

Emacs 和 vim 用户之间的竞争 来自维基百科,自由的百科全书

Remove ads

编辑器之战是指计算机编程领域内,两类文本编辑器vi(以及衍生版本)和Emacs用户之间的对抗冲突。这已经成为黑客文化自由软件社区文化的一部分。

战火在两群用户之间多次点燃,他们互相蔑视,坚信自己的选择才是最完美的。相比其他的IT领域战争(如浏览器大战操作系统之争、编程语言之争、代码缩进风格之战),编辑器的选择其实通常只是个人问题。

vi与Emacs的不同

vi与Emacs之间最重要的不同见下表:

更多信息 vi, Emacs ...
Remove ads

vi类型编辑器的优点

  • 遵循“简单工具,多样组合”的理念。
  • 小,符合Unix哲学中的“只做一件事,并做好它”,避免了功能蔓延
  • 比Emacs快(至少历史上是这样的)。
  • 可运行于任何实现了C标准库的系统之上,包括UNIXLinuxAmigaOSDOSWindowsMacBeOSPOSIX兼容系统等等。
  • 让“QWERTY”键盘用户将手指保持在默认键位上,使编辑时手指移动更少。
  • 更普及。基本上所有Unix类Unix系统都默认提供了vi或其变体。

Emacs的优点

幽默

在讨论中,人们常提到ed标准文本编辑器页面存档备份,存于互联网档案馆)。

Thumb
理查德·斯托曼,身份是St IGNU−cius,Emacs教会的圣人

理查德·斯托曼组建了Emacs教会,这个教会称vi为“魔鬼的编辑器”(vi-vi-vi在罗马数字中表示兽名数目)。然而它并不反对vi;相反的,它视私有软件诅咒。(“使用自由版本的vi不是罪恶,而是赎罪。”[13])它还有专门的新闻组,alt.religion.emacs,[14]发布主题宣扬这个滑稽的宗教。

斯托曼曾称自己是St IGNU−cius,Emacs教会的圣人。[15]

vi支持者也成立了对立的vi教,较强硬的Emacs的用户攻击这是“抄袭他们的创意”。

关于vi的模式,一些Emacs用户说vi有两个模式–“不停地哔哔叫”和“搞砸一切”。vi用户则指责Emacs的快捷键会引发腕管综合症,或者拿EMACS这个缩写词作文章,比如“Escape Meta Alt Control Shift”(攻击Emacs太依赖修改键,据vi用户称一些 Emacs 用户由于修改键过多而使用脚踏板,不过 vi 用户也有为切换模式使用脚踏板的)。[16][17] 一些人断定是代表“Eight Megabytes And Constantly Swapping”(8 MB,还不断进行内存交换,过去这已经是很多内存了),或者“EMACS Makes Any Computer Slow”(EMACS使一切计算机跑得慢,这是斯托曼惯用的递归缩写),讽刺Emacs对系统资源的高需求。

针对Emacs的“功能蔓延”,vi支持者认为Emacs是“一个伟大的操作系统,只缺个体面的编辑器”或“一个伪装成编辑器的操作系统”(在现实生活中,的确有 vi 用户在 Emacs 中打开多种窗口使用各种程序,同时在 Emacs 终端模拟器中使用 vi)。

UNIX用户中流行一个游戏,考验一个Emacs用户对这个编辑器的理解深度,或者是拿Emacs的复杂性开玩笑,内容是:预测一下,如果一个用户按住修改键(比如Control或Alt),然后键入自己的名字,会发生什么事。

Word War vi[18]是一个基于编辑器之战的类似清版射击游戏的防守游戏。

Remove ads

目前状况

过去有许多仿照或修改自vi的小型文本编辑器。这是因为在当时计算机条件下,节约内存的使用非常重要。随着电脑配置和功能的强大,许多vi复制品,特别是Vim,大大地提高了体积和代码复杂度。目前,这些vi的变体与过去的轻型Emacs变体相比各有优缺点。例如,不装任何插件的Vim对磁盘空间的要求是vi的十倍,Vim最近的一些版本可以安装更多插件所以要比旧版的Emacs运行速度慢很多。在《Unix编程艺术》一书中,埃里克·雷蒙称,和Emacs一样,Vim期望的轻型“都是神话”。[19]此外,随着计算机内存容量的提高,与大型集成开发环境(例如EclipseVisual Studio),Emacs和vi的内存占用几乎可以忽略不计。这往往引发了Emacs和vi用户的嘲笑。

提姆·奥莱理说,1999年,奥莱利的vi教程的销售量是Emacs手册的两倍(不过Emacs的手册是免费的)。[20]许多程序员使用Emacs或vi的分支,例如林纳斯·托瓦兹使用MicroEMACS[21]同样是在1999年,vi的创造者比尔·乔伊说vi是“为一个不再存在的世界而创造的”,并且认为Emacs才是为性能更高的电脑而编写的,这样程序员就可以享受“有趣的命令,屏幕上闪烁的一切”。“同时,我坐在在伯克利的那种二战剩下的房子中,使用调制解调器和终端,勉强能把光标移动到屏幕底端。”[22][23]

除了Emacs和vi类编辑器,pico和克隆它的自由软件版本nano,以及其他的文本编辑器(例如ne)也经常有它们自己主张的编辑器大战,但是程度不如Emacs和vi那样。

截止到2014年,Emacs和vi可以说都是最长寿的应用程序。[24]作为在Linux和Unix系统中最常用的两种文本编辑器,许多操作系统,特别是GNU/LinuxBSD,都将多种文本编辑器与操作系统进行捆绑以满足用户需求。例如,OS X默认包含Emacs、ed、nano和Vim。

Remove ads

注释

参考

Loading content...

外部链接

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads