热门问题
时间线
聊天
视角

編輯器之戰

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