编辑器之战

编辑器之战是指计算机编程领域内，两类文本编辑器vi（以及衍生版本）和Emacs用户之间的对抗冲突。这已经成为黑客文化和自由软件社区文化的一部分。 战火在两群用户之间多次点燃，他们互相蔑视，坚信自己的选择才是最完美的。相比其他的IT领域战争（如浏览器大战、操作系统之争、编程语言之争、代码缩进风格之战)，编辑器的选择其实通常只是个人问题。 vi与Emacs之间最重要的不同见下表： 遵循“简单工具，多样组合”的理念。 小，符合Unix哲学中的“只做一件事，并做好它”，避免了功能蔓延。 比Emacs快（至少历史上是这样的）。 可运行于任何实现了C标准库的系统之上，包括UNIX、Linux、AmigaOS、DOS、Windows、Mac、BeOS和POSIX兼容系统等等。 让“QWERTY”键盘用户将手指保持在默认键位上，使编辑时手指移动更少。 更普及。基本上所有Unix和类Unix系统都默认提供了vi或其变体。 符合“厨房水槽”理念，提供了比vi更多的功能。 移植最广泛的非试用计算机程序之一。它能在各种操作系统上运行，包括大多数类Unix系统（GNU/Linux、各种BSD、Solaris、AIX、IRIX、AmigaOS、Mac OS X等）、MS-DOS、Microsoft Windows和OpenVMS。Unix系统，无论自由版本或商业版本，均随系统提供Emacs。 可扩展和可定制（Lisp的变体 - Emacs Lisp），功能包括： 专门的编辑模式，支持大量编程语言、标记语言、排版语言，如Bash、C、Delphi、Java、Lisp、LaTeX、MediaWiki、Python等。 可模拟vi（“viper-mode”）。 强大可扩展的文件管理器（dired）、智能调试器和大量工具。 在讨论中，人们常提到ed是标准文本编辑器 （页面存档备份，存于互联网档案馆）。 理查德·斯托曼组建了Emacs教会，这个教会称vi为“魔鬼的编辑器”（vi-vi-vi在罗马数字中表示兽名数目）。然而它并不反对vi；相反的，它视私有软件为诅咒。（“使用自由版本的vi不是罪恶，而是赎罪。”）它还有专门的新闻组，alt.religion.emacs，发布主题宣扬这个滑稽的宗教。 斯托曼曾称自己是St IGNU−cius，Emacs教会的圣人。 vi支持者也成立了对立的vi教，较强硬的Emacs的用户攻击这是“抄袭他们的创意”。 关于vi的模式，一些Emacs用户说vi有两个模式–“不停地哔哔叫”和“搞砸一切”。vi用户则指责Emacs的快捷键会引发腕管综合症，或者拿EMACS这个缩写词作文章，比如“Escape Meta Alt Control Shift”（攻击Emacs太依赖修改键，据vi用户称一些 Emacs 用户由于修改键过多而使用脚踏板，不过 vi 用户也有为切换模式使用脚踏板的）。 一些人断定是代表“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是一个基于编辑器之战的类似清版射击游戏的防守游戏。 过去有许多仿照或修改自vi的小型文本编辑器。这是因为在当时计算机条件下，节约内存的使用非常重要。随着电脑配置和功能的强大，许多vi复制品，特别是Vim，大大地提高了体积和代码复杂度。目前，这些vi的变体与过去的轻型Emacs变体相比各有优缺点。例如，不装任何插件的Vim对磁盘空间的要求是vi的十倍，Vim最近的一些版本可以安装更多插件所以要比旧版的Emacs运行速度慢很多。在《Unix编程艺术》一书中，埃里克·雷蒙称，和Emacs一样，Vim期望的轻型“都是神话”。此外，随着计算机内存容量的提高，与大型集成开发环境（例如Eclipse、Visual Studio），Emacs和vi的内存占用几乎可以忽略不计。这往往引发了Emacs和vi用户的嘲笑。 提姆·奥莱理说，1999年，奥莱利的vi教程的销售量是Emacs手册的两倍（不过Emacs的手册是免费的）。许多程序员使用Emacs或vi的分支，例如林纳斯·托瓦兹使用MicroEMACS。同样是在1999年，vi的创造者比尔·乔伊说vi是“为一个不再存在的世界而创造的”，并且认为Emacs才是为性能更高的电脑而编写的，这样程序员就可以享受“有趣的命令，屏幕上闪烁的一切”。“同时，我坐在在伯克利的那种二战剩下的房子中，使用调制解调器和终端，勉强能把光标移动到屏幕底端。” 除了Emacs和vi类编辑器，pico和克隆它的自由软件版本nano，以及其他的文本编辑器（例如ne）也经常有它们自己主张的编辑器大战，但是程度不如Emacs和vi那样。 截止到2014年，Emacs和vi可以说都是最长寿的应用程序。作为在Linux和Unix系统中最常用的两种文本编辑器，许多操作系统，特别是GNU/Linux和BSD，都将多种文本编辑器与操作系统进行捆绑以满足用户需求。例如，OS X默认包含Emacs、ed、nano和Vim。 截止到2013年，Vim有1731kLOC (其中C语言是1142000代码行，Vim脚本为506000代码行，Makefile相关为83000代码行)，而GNU Emacs有1623kLOC (C语言仅有299000代码行，Emacs Lisp占1270000代码行，Makefile相关占54000代码行).因为事实上存在着大量使用Emacs Lisp和Vim脚本的插件，因此这里的“代码行”指的是包含在“直接下载”的那部分代码。 The GNU Emacs Open Source Project on Open Hub : Languages Page. Ohloh.net. [1 December 2014]. （原始内容存档于2013-11-08）.  The Vim Open Source Project on Open Hub : Languages Page. Ohloh.net. [1 December 2014]. （原始内容存档于2013-11-08）.  NEWS.18. [2015-06-12]. （原始内容存档于2015-06-14）. Programs such as mailers that invoke "the editor" as an inferior to edit some text can now be told to use an existing Emacs process instead of creating a new editor.  syntax.txt. All fonts used, except for Menu and Tooltip, should be of the same character size as the default font! Otherwise redrawing problems will occur. [永久失效連結] spacemacs. [2015-06-12]. （原始内容存档于2021-04-26）.  Ergoemacs. [2015-06-12]. （原始内容存档于2021-04-21）.  International Chars. [2015-06-12]. （原始内容存档于2021-04-24）. 但是在Emacs内部则使用自己的多字节语言编码。  Carbon Emacs Package. [2006-09-27]. （原始内容存档于2006-01-25）.  Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X. [2006-09-27]. （原始内容存档于2011-02-23）.  B, Ramprasad. GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000. 2005-06-24 [2006-09-27]. （原始内容存档于2013-08-23）.  Borgman, Lennart. EmacsW32 Home Page. 2006 [2006-09-27]. （原始内容存档于2007-03-06）.  GNU Emacs on Windows. Franz Inc. 2006 [2006-09-27]. （原始内容存档于2019-04-23）.  All about Linux: The unabridged selective transcript of Richard M Stallman's talk at the ANU. [2010-10-30]. （原始内容存档于2011-10-04）.  alt.religion.emacs newsgroup Saint IGNUcius - Richard Stallman. [2010-10-30]. （原始内容存档于2018-01-03）.  satirical expansions of EMACS. [2010-10-30]. （原始内容存档于2021-04-24）.  使用脚踏板离合器操控 Vim （页面存档备份，存于互联网档案馆）.Linuxtoy. (alevchuk/vim-clutch （页面存档备份，存于互联网档案馆）) LinuxToy 上的评论区里面也有一些编辑器脚踏板大战的内容。 Word War vi site. [2010-10-30]. （原始内容存档于2021-03-22）.  The Right Size for an Editor. Catb.org. [1 December 2014]. （原始内容存档于2021-04-18）.  Editor: vi or emacs?. Oreilly.com. 21 June 1999 [1 December 2014]. （原始内容存档于2014-04-01）.  Jarosław Rzeszótko. Stifflog: Stiff asks, great programmers answer. Stifflog.com. [1 December 2014]. （原始内容存档于2006年11月8日）.  Vance, Ashlee. Bill Joy's greatest gift to man – the vi editor. theregister.co.uk. September 11, 2003 [June 3, 2014]. （原始内容存档于2014年6月3日）.  Joy, Bill. The Joy of Unix: Sun Microsystems Co-Founder Bill Joy Charts Where Linux and Free Software Fit Into His Company's Solar System.. 访谈 with Eugene Eric Kim. November 1999 [June 3, 2014]. （原始内容存档于February 7, 2003）.  |journal=被忽略 (帮助) The Oldest Rivalry in Computing. [2015-06-12]. （原始内容存档于2018-10-15）. two rival programs can stake a claim to being among the longest-lived applications of all time. Both programs are about to enter their fifth decades. Both programs are text editors, for inputting and editing code, data files, raw HTML Web pages, and anything else. And they are mortal enemies.  Emacs Wiki, community site dedicated to documenting and discussing Emacs Church of Emacs resources Rules, Sins, Virtues, Gods and more of The Church of Emacs （页面存档备份，存于互联网档案馆） Saint Ignucius—as portrayed by Richard Stallman Vi Lovers Home Page （页面存档备份，存于互联网档案馆） $EDITOR sucks-rules-o-meter measures which editor's activists are more visible on the Web Ed is the standard text editor （页面存档备份，存于互联网档案馆） A transcript of Richard introducing St. IGNUcias and the Church of Emacs （页面存档备份，存于互联网档案馆）