编辑器之战

来源:互联网 发布:windows 获取窗口大小 编辑:程序博客网 时间:2024/06/10 06:25

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

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

vi与Emacs的不同

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

 viEmacs快捷键命令vi通过记录按键序列,形成决策树中的一条路径,从而确定一个命令。Emacs通过组合键的方式立即执行命令。内存占用和定制性由于历史原因,vi小而快,但定制性上比较受限。Emacs启动慢且占用更多内存,但高度可定制,包含大量复杂功能。它基本上是一个Lisp程序的执行环境。用户界面vi早先独占命令行终端,没有图形用户界面(GUI)。后来的衍生版本,如MacVim和gVim,都具备全功能的GUI。Emacs,最初也为终端设计,但很早就具备了GUI,现代版本提供众多GUI版本。功能/导航vi具名明确的编辑模式。Emacs采用功能键组合。

vi类型编辑器的优点

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

Emacs的优点

  • 符合“厨房水槽”理念,提供了比vi更多的功能。
  • 移植最广泛的非试用计算机程序之一。它能在各种操作系统上运行,包括大多数类Unix系统(GNU/Linux、各种BSD、Solaris、AIX、IRIX、AmigaOS、Mac OS X[1][2]等)、MS-DOS、Microsoft Windows[3][4][5]和OpenVMS。Unix系统,无论自由版本或商业版本,均随系统提供Emacs。
  • 可扩展和可定制(Lisp的变体 - Emacs Lisp),功能包括:
    • 专门的编辑模式,支持大量编程语言、标记语言、排版语言,如Bash、C、Delphi、Java、Lisp、LaTeX、MediaWiki、Python等。
    • 可模拟vi(“viper-mode”)。
    • 强大可扩展的文件管理器(dired)、智能调试器和大量工具。

幽默

在讨论中,人们常提到ed是标准文本编辑器。

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

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

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

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

关于vi的模式,一些Emacs用户说vi有两个模式–“不停地哔哔叫”和“搞砸一切”。vi用户则指责Emacs的快捷键会引发腕管综合症,或者拿EMACS这个缩写词作文章,比如“Escape Meta Alt Control Shift”(攻击Emacs太依赖修改键,据vi用户称一些 Emacs 用户由于修改键过多而使用脚踏板,不过 vi 用户也有为切换模式使用脚踏板的)。[9][10] 一些人断定是代表“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[11]是一个基于编辑器之战的类似en:shoot 'em up的防守游戏

目前状况

参考

  1. ^ Carbon Emacs Package. [2006-09-27]. (原始内容存档于2006-01-25).
  2. ^ Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X. [2006-09-27].
  3. ^ B, Ramprasad. GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000. 2005-06-24 [2006-09-27].
  4. ^ Borgman, Lennart. EmacsW32 Home Page. 2006 [2006-09-27].
  5. ^ GNU Emacs on Windows. Franz Inc. 2006 [2006-09-27].
  6. ^ All about Linux: The unabridged selective transcript of Richard M Stallman's talk at the ANU
  7. ^ alt.religion.emacs newsgroup
  8. ^ Saint IGNUcius - Richard Stallman
  9. ^ satirical expansions of EMACS
  10. ^ 使用脚踏板离合器操控 Vim.Linuxtoy. (alevchuk/vim-clutch) LinuxToy 上的评论区里面也有一些编辑器脚踏板大战的内容。
  11. ^ Word War vi site

外部链接

  • 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

0 0
原创粉丝点击