EmacsやViを学びたいです。私はモーダル編集は好きではありませんが、Viは至る所にあり、緊急事態にはより便利に見えます。 Emacsがほとんどのディストリビューションにプリインストールされていない理由は何ですか?
直接的な答えは、おそらくvi
はPOSIX標準(@jasonwryanもコメントで言及されている)の一部であるだけでなく、Single UNIX Specificationの一部でもあるということです。そのため、POSIX準拠と呼ぶものには、おそらくvi
のようなものが含まれ、UNIXと呼びたいものにはがあります。 、または認定されません。 vi
だけでなく、関連するラインエディタex
と関連するスクリプト言語もこれらの標準の一部です。 emacs
は標準の一部ではないため、含まれていません。
whyはそうですが、いくつかの理由があります。まず、emacs
はvi
よりもはるかに大きく、複雑です。とりわけ、そこにはLISP全体があります。これを決定するPOSIXの部分は、emacs
用の非常に頑丈なコンピューターが必要になる1992年に作成されました。 Minixで286でvi
をきちんと実行しました。最近のデスクトップではそれほど重要ではありませんが、組み込みシステムではそれでも非常に重要です。また、そのサイズと汎用性により、セキュリティホールのチェックが困難になります。これは、セキュリティが不可欠な特定のアプリケーションで問題になる可能性があります。基本的に、それをより良いデスクトップアプリケーションにするかもしれないすべてのものはそれをより悪いシステムコンポーネントにします。
歴史のレッスンをしているなら、vi
は nixの哲学 :に近いと言えるかもしれません。よく。確かに、vi
はex
から生まれ、常にUnixプログラムでした。 emacs
は非常に異なる世界から生まれました。元々はTECOの上に構築され、 [〜#〜] its [〜#〜] オペレーティングシステム用に作成されました。 ITSが廃止されたため、1980年代にのみUnixに移植されました。これによりemacs
は実質的に非常に異なる文化からの移民になりますが、vi
はネイティブです。
興味深いことに、emacs
とvi
はどちらも1976年に最初にリリースされたため、vi
が古いだけではありません。
これは、それがどのように機能するかではありません。
デフォルトでインストールされるパッケージの選択は、通常、実際のニーズによって決まります。特にemacsユーザーに焦点を当てたディストリビューションをインストールする場合を除いて、特にemacsをデフォルトのインストールに追加する実際的な理由は1つもありません。
典型的なLinuxディストリビューションは、デフォルトで最小限のシステムに加えて、ユーザーベースが使用すると予想されるもの(多くの場合、グラフィカルデスクトップ、Firefox、libreoffice、およびいくつかのツール)をインストールします。 emacsが最小システムの一部でない場合、デフォルトのインストールでそれを使用することは意味がありません。
パワーユーザー(管理者)がシステムを実行し、コマンドラインを使用して基本的な構成タスクを実行し、必要なものをインストールできるようにするための最小限のシステムがあります。
設定ファイルを編集する必要があるかもしれないので、そのような最小限のシステムではテキストエディタが必要です。最適な最小候補はnanoです。これは、使いやすく、フットプリントが非常に小さいため、最近のほとんどのディストリビューションの最小システムで使用できます。別の良い候補はviの単純な実装です。なぜなら、他の人が述べたように、それはPOSIXシステムの標準エディターだからです。そのため、最小限のシステムには通常、これら2つが含まれ、場合によっては1つだけが含まれます。
完全に間違った選択はemacsであり、これは最小限ではなく、nanoほど使いやすくなく、viほど標準的でもありません。もう1つのかなり悪い選択は、vimのフルインストールです。これらは、お気に入りのエディターを使用した完全なホームセットアップから、幅広いユーザー向けにインストールされたツールを選択できる共有コンピューター用の大学セットアップまで、フルインストールに属するツールです。