VimとEmacsの長所と短所は何ですか? [閉鎖]

VimとEmacsの長所と短所は何ですか? [閉鎖]

これらの編集者をどのように比較しますか?それぞれの長所と短所は何ですか?

[ノート]これは、「1つを憎み、もう1つを愛する」、または両方を使ったことがない人が答えようとするものではありません。

ベストアンサー1

私は両方を使用しますが、どちらかを選択する必要がある場合はどちらを選択するかを知っています。しかし、私はまだいくつかの問題を客観的に比較しようとします。

  • どこでも利用できますか?Unixシステムを使用するプロのシステム管理者であるか、組み込みデバイス(ルーター、Busyboxを搭載したスマートフォンなど)の上級ユーザーであれば、vi(Vimではない)を知る必要があります。 vi はすべての Unix システムで使用でき、大規模に使用されるためです。ほとんどのオペレーティングシステムで。デスクトップ、サーバー、組み込みなどのUnixシリーズシステム。一般ユーザーにとっては、この主張は重要ではありません。 Emacsはすべてのデスクトップ/サーバーオペレーティングシステムで簡単に使用でき、リモート編集をサポートしているため、デスクトップコンピュータにEmacsを配置するだけで十分です。

  • 膨らんだ?Emacsはかつてユーモラスに「8MBとの交換」を意味しました。私のコンピュータでは、Google ChromeはEmacsが100個の開いているファイルを処理するのに必要なタブごとのRAMと同じRAMを必要とし、Firefoxについては言及しません。 21世紀にEmacsの膨張は神話です。

    特徴注ぐことも問題になりません。使用しない場合、それが存在するかどうかを知る必要はありません。 Emacs機能は使用しないと邪魔にならず、ドキュメントも非常によく整理されています。

  • 開始時間:Vi(m)の支持者はEmacsの開始時間について文句を言います。はい、Emacsは遅く始まりますが、大きな問題ではありません。セッションごとに一度Emacsを起動して使用するだけですemacsclient。したがって、Emacsがゆっくり始まるのは主に神話です。

    1つの例外は、リモートコンピュータにログインしてそのコンピュータのファイルを編集したい場合です。リモートEmacsを起動するのは(通常)リモートVimを起動するよりも遅いです。場合によっては、画面内でEmacsを実行できます。 Emacs内でリモートファイルを編集することもできますが、端末がSSHセッションにある場合、プロセスは中断されます。 (XEmacs 21またはGNU Emacs 23からは、端末内で実行されているXインスタンスでEmacsウィンドウを開くことができます。)

    VimはEmacsよりロードするのにはるかに長い時間がかかることがわかりました(vim -u /dev/null比較emacs -q)。もちろん、これは奇妙なプラットフォーム(Cygwin)にあります。

  • 初期学習曲線:これは人によって異なります。Michael Mrozekのチャート私を笑わせた。真剣に、私はVimの学習曲線が最初から急で、他のどのエディタよりも急であることに同意します。ただし、gvimを使用するとこの現象を軽減できます。

    Emacsについていくつかの誤解を解決したので、viについての誤解も解決します。モーダルエディタは使用するのが難しく、苦痛ではありません。慣れるには少し時間がかかりますが、時間が経つと自然に感じられます。 vi(m) を再設計する場合は、必ずこのモードを維持します。

  • 漸近的学習曲線:VimとEmacsには多くの機能があり、長年にわたって新しい機能を発見し続けます。

  • 生産力: 非常に難しいトピックです。 vi(m) 支持者は、メイン行を離れることなくほぼすべてのことを行うことができ、最も必要なときにより効率的に働くことができると主張します。 Emacsの支持者は、Emacsに頻繁に使用されないコマンドが多いので、キーバインディングは必要ありませんが、必要に応じて非常に便利だと反論します(必須 xkcd リファレンス)。
    私の個人的な意見は、入力障害がない限り、最終的にEmacsが勝利することです。 (しかし、Ctrl+文字のような組み合わせではなくキーシーケンスのみを要求するようにEmacsを設定できます。)ホーム行キーは素晴らしいですが、モードを切り替える必要があるため、通常は成功しません。私の考えでは、Vimは何もできないと思います。かなりEmacsよりも効率的で、その逆も同様です。

  • カスタマイズ可能性: どちらのエディタもプログラム可能で、両方に利用可能な多くのソフトウェアパッケージがあります。しかし、Vimはマクロ言語を使用するエディタであり、Emacsはいくつかの一時的な基本要素を使用してLispで書かれたエディタです。 Emacsは、作者が考えていないことを試してみると、眩しく成功します。毎日起こるわけではありませんが、時間の経過とともに合計されます。

  • 単純な編集以上:Vimはエディタです。 Emacsは単純なエディタ以上です。 IDE、ファイルマネージャ、ターミナルエミュレータ、Webブラウザ、メールクライアント、ニュースクライアントなどがあります。これが良いのか悪いのかは議論の余地があります。ただし、Emacsを純粋なエディタとして使用できます(上記の「機能拡張」を参照)。

  • IDEとして:VimとEmacsはどちらも多くのプログラミング言語と他のテキストフォーマットをサポートしています。構文の色付けや自動インデントなどの基本機能に加えて、コードとドキュメントの相互参照検索、補助挿入とリファクタリング、統合バージョン管理、コンパイルの開始、および最初のエラーに移動する機能などの高度なIDE機能もあります。能力。

    EmacsがVimよりも確かに優れている部分は次のとおりです。非同期サブプロセス長いコンパイルを開始し、コンパイラの実行中に同じエディタインスタンスで別のタスクを実行したい場合。または誰かと交流したいとき読み取り - 評価 - 印刷ループ- Emacsはこの分野で本当に優れています。 Vimはいくつかの素朴なトリックしか提供できません。それにもかかわらず、vimの新しいフォークはネオビームこの問題は解決されたことが示されており、在庫vimでは実装されていないさまざまなバグ修正が実装されました。

おすすめ記事