1. ホーム
  2. vim

[解決済み] Vim/EmacsはGUIテキストエディタと比較して、具体的にどのような生産性の向上をもたらすのでしょうか?

2022-12-15 18:39:23

質問

これは荒らしとか炎上とかそういう意味ではないです。 私はこれまで ヴィム をコンソール エディターとして使っていますが、GUI テキスト エディターで行う Web アプリケーションを書くという、通常の毎日の仕事には耐えられないと思います (どれが重要かは重要ではありません)。

私の GUI テキスト エディターは、私の仕事に必要なすべてを行うことができるように感じています。 オートコンプリートの履歴を持つ、適切な検索/置換機能があります。 構文強調表示、行番号、タブ付きインターフェイス、簡単なコピーと貼り付け、などがあります。 私の現在のエディタに欠けている唯一のものは正規表現マッチングですが、正規表現検索/置換を行う GUI テキスト エディタがたくさんあります。

私が今言ったことを考えると、Vim (あるいは Emacs) は、すべてのコンピューターにインストールされているという事実を除けば、GUI テキスト エディターに対してどのような生産性の利点があるのでしょうか。 私は、Vim/Emacs 上でより良い/より速い、または既存の GUI テキスト エディターでは不可能な特定のタスクが欲しいのです。

どのように解決するのですか?

Vimの場合。

  • Vim は他のツール (シェルコマンド、スクリプト、コンパイラ、バージョン管理システム、ctag など) との統合が他のエディタより優れています。 のような単純なものでさえ :.! のような単純なものでさえ、コマンドの出力をバッファにパイプすることは、ほとんどの GUI エディタにはないものです。

  • タブ付きインターフェイスは、Vim/Emacs が与えてくれる "ウィンドウ付き" インターフェイスほど素敵なものではありません。 同時に 2 つ以上のファイルを並べて見ることができます。 画面上で見ることができればできるほど、変数名や関数シグネチャの暗記をするよりも、問題について考えるために頭を解放することができます。

  • Vimの正規表現の威力を侮ってはいけません。 特定の列、マーク、カーソル位置、特定のクラスの文字(キーワード、識別子)などにマッチする Vim 固有の拡張がたくさんあります。

  • 統合された diffgrep (プラットフォームに依存しないので、コンピュータを変えるたびに新しいツールをダウンロードして学習する必要はありません)。

  • ビジュアル ブロック モード (列の編集) は、多くのエディタに欠けているものですが、私はそれなしでは生きていけません。 私は、これを使って、職場の人々に衝撃を与え、畏敬の念を抱かせました。

  • 複数のコピー/貼り付けレジスタ。 1 つしかない場合、クリップボードの破損を避けるために、奇妙な曲解をすることになります。 そうする必要はありません。

  • Vim のアンドゥ/リドゥシステムは無敵です。 何かをタイプして、アンドゥして、また何かをタイプしても、Vim はスタックではなくアンドゥツリーを使用するため、最初にタイプしたものを取り戻すことができます。 他のほとんどすべてのプログラムでは、最初にタイプしたことの履歴はこのような状況では失われます。

  • Vim ではテキストの移動、コピー、貼り付け、削除が非常に高速です。 コマンドは単純で、キーを一回押すだけ、そして、合成可能です。 注意深く、手間のかかるマウスによるハイライトと Ctrl-X を行うすべての回数を加算し、それらをすべて da( (一致する括弧のセットとその中のすべてを削除する) で置き換えることができます。 これはあなたが思うより多くの時間を節約します。

  • 小さなこと、たとえば * でカーソルの下の単語を検索したり . でコマンドを繰り返す、あるいは % で開閉括弧の間を行き来します。 リストアップするには多すぎます。

  • 内蔵のスクリプト言語と強力なキーマッピングおよびマクロ機能により、エディタを必要な方法で拡張することができます。 たくさんのスクリプトがすでに書かれており、ダウンロード可能です。

よく見ると、他のエディタにもあるような機能でも、Vim の方が優れていることがよくあります。 すべてのエディタには構文強調表示がありますが、Vim にはほとんどすべてのファイル形式のための構文ファイルがあり、しばしば多くの設定オプションがあり、自分で書くのはとても簡単です。 多くのエディタが異なるファイルエンコーディングに対応していますが、Vim はファイルエンコーディングの設定とその変換に非常に具体的で確実な方法を提供してくれます。 Vim はタブやスペースのインデント、Unix/DOS の改行を完璧にこなすので、当時使っていた他のエディタと比べると、とても印象に残っています。

これらの点の多くはEmacsにも同様に当てはまります(異なる方法ですが、通常は同様に強力な方法です)。