Emacs

為什麼沒有預裝emacs?

  • April 5, 2015

我想學習 Emacs 或 Vi。我不喜歡模態編輯,但 Vi 無處不在,在緊急情況下看起來更有用。大多數發行版中沒有預裝 Emacs 的原因是什麼?

直接的答案可能vi是 POSIX 標準的一部分(正如@jasonwryan 在評論中也提到的那樣),以及單一 UNIX 規範。因此,任何自稱為 POSIX 兼容的東西都可能包括類似的東西vi,任何想要自稱為 UNIX 的東西都必須這樣做,否則你就沒有獲得認證。不僅如此vi,相關的行編輯器ex和涉及的腳本語言也是這些標準的一部分。emacs不是標準的一部分,所以不包括在內。

至於為什麼會這樣,有幾個原因。一方面,emacs它比vi. 裡面有一個完整的 LISP,等等。決定這一點的 POSIX 部分是在 1992 年編寫的,當時您需要一台非常強大的電腦來處理emacs. 我已經vi在 286 上看到了 Minix 上的一個半體面的執行。雖然它對於現代桌面來說並不那麼重要,但在嵌入式系統上它仍然非常重要。它的大小和多功能性也使得檢查它的安全漏洞變得更加困難,這在某些安全性必不可少的應用程序中可能是一個問題。基本上,所有可能使它成為更好的桌面應用程序的東西都會使它成為更差的系統組件。

如果你想上歷史課,你也可以說這vi更接近Unix 哲學做一件事,把它做好。事實上,它vi起源於exUnix 程序,並且一直是 Unix 程序。emacs來自一個截然不同的世界:它最初是在 TECO 之上建構的,是為ITS作業系統編寫的。它僅在 1980 年代被移植到 Unix,因為 ITS 正在消亡。這emacs實際上使一個來自非常不同文化的移民,同時vi是一個本地人。

有趣的是,兩者都是1976emacsvi首次問世的,所以不僅僅是那個vi更老。

引用自:https://unix.stackexchange.com/questions/194430