Viに複数のモードがあるのはなぜですか?

Viに複数のモードがあるのはなぜですか?

Viに複数のモードがあるのはなぜですか?他のモードを使用する理由でなければ、モードが何をしているのかに興味はありません。私はマルチモードの設計/エンジニアリング理由にのみ興味があります。

ベストアンサー1

モーダルインターフェイスの使用は、主な2つのモード(コマンドと挿入)を考慮して実証されています。

INSERTモードでは、通常どおり入力して文書にテキストを挿入できます。キーをバインドすることで特殊機能を実行できますが、これらの機能は通常複雑さが制限されます。

コマンドモードは、ある種の無制限の特殊機能と同じです。 ctrl -xを使用すると同様の結果が得られるので、Ctrlそれを押しながら別の特殊キーを押すだけです。実際、ほとんどのユニバーサルエディタは次のように動作します。切り取りにはctrl-xを使用し、貼り付けるにはctrl-pを使用します。ただし、この方法は実行できる操作を制限します。 Ctrlキーを押しながら「open myfile.txt」と入力するのは少し痛いです。

GUIエディタと一部のTUIエディタは通常、ドロップダウンメニューを介してこの問題を解決します。しかし、これはまだ制限的です。機能が多いと、最終的にカスケードで入れ子になったぎこちないメニューセットが必要になります。

vivim画面ベースなので使用できますが、ドロップダウンメニューは使用しません。これの1つの説明は、これが標準化されたユーティリティの標準化された拡張であることを意図していることですed行ベースしたがって、ビジュアルメニューは使用できません。いくつかのデフォルトのvi COMMANDモードコマンドは、edコマンドをメニューオプションに置き換えるのではなく、同じテキストベースのedコマンドがviで機能し拡張されました。

vimもちろん、これらすべてには利点がありますが、これはおそらく歴史的人気の主な理由です。メニューを使用するには、オプションセットをスクロールし、マウスなしでTUIインターフェイスを使用する必要があります(アクセスするには特別なモードが必要な場合があります)。 Fキーなどを使用してください。画一的と言えます。もっと恥ずかしいGUIアプリケーションでは、キーボードから手を離してマウスを操作する必要があり、前の段落で述べた複雑さの制限があります。1 vim選択モーダルインターフェースこれらの問題は発生しません。また、利用可能な画面領域を最大化します。

わかるように、編集するvimと比較して統合開発環境(IDE)やワードプロセッサなどの大規模で複雑なグラフィックアプリケーションは、単純さのためにいくつかの点で欠けています。あなたはモーダル、メニューとCtrlベースのインターフェース。この観点から、vimがパターンを使用する理由は、パターンをより強力なツールにすることです。


1.gvimよく使われる多くのコマンドを繰り返すドロップダウンメニューが実際にありますが、COMMANDモードに比べて厄介です。メニューシステムの唯一の良い点は、学習しやすいことです。 多くのことを覚えておく必要はありませんが、すべてを覚えるには長い時間がかかります。

おすすめ記事