编辑器之战

**編輯器之戰**是指電腦編程領域內，兩類文字編輯器 vi（以及衍生版本）和 Emacs 使用者之間的對抗衝突。這已經成為駭客文化和自由軟體社群文化的一部分。

戰火在兩群使用者之間多次點燃，他們互相蔑視，堅信自己的選擇才是最完美的。相比其他的 IT 領域戰爭（如瀏覽器大戰、作業系統之爭、程式語言之爭、代碼縮排風格之戰)，編輯器的選擇其實通常只是個人問題。

## vi 與 Emacs 的不同

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 等）、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。

## 注釋

## 參考

## 外部連結

* 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 （頁面存檔備份，存於網際網路檔案館）