viの子孫ではない他のほとんどすべてのエディター(vim、cream、vi-emu)は、emacsショートカット(単語を削除するためにctrl+など)を使用しているようです。w
14 に答える
初期のソフトウェアはしばしばモーダルでしたが、使いやすさはこのスタイルから離れて、ある時点で変わりました。
VIベースのエディターは完全な謎です-彼らはそのソフトウェアの順序の唯一の生き残ったメンバーです。
私たち人間は気まぐれな哺乳類であり、アプリケーションがどのモードにあるかを覚えているとは信じられないため、モードは使いやすさとインタラクションデザインにおいてノーノーです。
実際に別の「モード」にいるときに、ある「モード」にいると思うと、あらゆる種類の悪が発生する可能性があります。一連の無害なキーストロークであるとあなたが信じていることは、(間違ったモードで)無制限の大惨事を引き起こす可能性があります。これは「モードエラー」として知られています。
詳細については、「モードレス」(および「ユーザビリティ」)という用語を検索してください。
以下のコメントで述べられているように、経験豊富で気まぐれでない人の手にあるモーダルインターフェースは非常に効率的です。
ええと...Vi/ Vimはどこでもほとんど利用可能であり、モーダルなもの全体が正しく機能していることを考えると、おそらく1つはそれほど必要ではありませんか?:)
それは、vi (およびその同類) がすでにモーダル エディターの生態学的ニッチを占めているためだと思います。
モーダルを好み、まだ vi に魅力を感じていない人の数はおそらく 0 であるため、仮想的な vi の競合相手は、かなりの数の vi ユーザーを切り替えるほど強力でなければなりません。これはありそうもない。エディターを切り替えるコストは莫大であり、vi-s はおそらく既にモーダル エディターと同じくらい優れています。まあ、大きな突破口がそれらを改善するかもしれませんが、私はこれはありそうにないと思います.
@レオン:素晴らしい答え。
@dbr: モーダル編集は慣れるまでに時間がかかります。このパラダイムに適合する新しいエディターを作成する場合、VI/VIM/Emacs をどのように改善しますか? それは、部分的には、質問に対する答えだと思います。それを「正しく」取得することは十分に困難であり、VI/VIM/Emacs のようなものと競合することは非常に困難です。これらのエディターを使用するほとんどの人は「熱心な」ファンであり、それらにやむを得ない理由を与える必要があります。別のエディターに移動します。それらをまだ使用していない人は、非モーダル エディターにとどまる可能性が最も高いでしょう。もちろん私見;)
モーダル エディターには、ホーム ロウから手を離さずに画面をナビゲートできるタッチ タイピストという大きな利点があります。手首が痛むのは、手をキーボードから離してマウスや矢印キーに移したり戻したりしなければならない作業をしている時だけです。
メモ帳はモーダル エディタであることを忘れないでください。
これを確認するには、 , , , ; と入力してEみDてIくださいT。Alt、E、D、 、Iと入力してみてくださいT。2 番目のケースでは、Alt キーで「メニュー モード」がアクティブになるため、結果が異なります。:oP 人々はそれに対処しているようです。
(はい、これはメモ帳固有の機能ではなく、Windows の機能です。Alt を誤って押しやすく、オフにすることはできないため、悪い機能だと思います。)
VIM と emacs は、qwerty 配列と同じくらいユーザー インターフェイスのデザインに意味があります。最新のコンピュータ最適化キー レイアウトを利用できるようになりました (colemak レイアウトと carpalx プロジェクトを参照)。誰かがテキスト エディタに対して同じことをするのは時間の問題です。
EclipseにはViバインディングがあり、Visual Studioプラグイン/拡張機能(Vi-Emuなどと呼ばれます)もあると思います。
vi 入力モデルの存続は、一部には POSIX 標準での採用によるものであることに注意してください。したがって、学習に時間を費やすことは、これらの標準に準拠する任意のシステムで作業できることを保証することを意味します。したがって、英語と同様に、ユビキタスには力があります。
代替案に関する限り、代替モデル エディタが 30 日間の無料試用期間を乗り切るとは思えないため、ジェット機よりもオートマチックを運転する人が多いのと同じ理由です。
あなたの質問には実際には答えていませんが、以前は携帯電話で日本語を書く「モーダルのような」方法がありました。最初に打った文字はコンソンで、次にKと言い、次に打つキーは次のようになります。コンソンの役割。(日本語ではコンソンを2つ続けて使うことはできません)
数年前はメインでしたが、今日は本当に速く叩きたい人だけが使っています。
質問に対する答えは、実際には vi/vim のフォークではないモーダル テキスト エディターがかなりあるということだと思います。ただし、それらはすべて vi キー バインディングを使用します。Vi ユーザーはキー バインディングをマッスル メモリに格納するため、別のキー バインディング セットを再学習するのは非常に難しく、別のキー バインディング セットを作成する人はいません。
しかし、さまざまなエディターが vi キー バインドをゼロから再実装しています。vi キーバインディングを使用する IDE に関するこの質問を見てください。回答の少なくとも半分は、vi が埋め込まれたバージョンではなく、vi キー バインディングを実装するゼロから作成されたエディターです。
マウスの発明は 1 つのモードを入力デバイスに移動し、コンテキスト メニューは別のモードをボタンに移動しました。皮肉なことに、タッチ デバイスの出現は逆効果であり、マルチモーダルインターフェイスを生み出しています。
認識マルチモーダル - タッチと音声はお互いを認識して交差します
認識しないマルチモーダル - タッチとスピーチはお互いに認識せず、衝突します
従来の WIMP インターフェイスには、情報が単一のチャネルまたはイベント ストリームを介してシステムに出入りできるという基本的な前提があります。このイベント ストリームは、ユーザーがシステムにデータを入力する入力 (マウス、キーボードなど) の形式にすることができ、システムが応答したときに出力 (音声、振動、視覚など) の形式でフィードバックを期待します。しかし、チャネルはその特異性を維持し、一度に 1 つのソースの情報を処理できます。たとえば、今日のインタラクションでは、マウス ボタンが押されたときに、コンピューターは (キーボードから) 入力された情報を無視します。
これは、システムに複数のイベント ストリームとチャネルがあり、上記のように並行して動作するさまざまな入力モードからの情報を処理できるマルチモーダル インタラクションとは大きく異なります。たとえば、IVR システムでは、ユーザーは入力するか話すことでメニューをナビゲートできます。
参考文献
私は最近、 DrSchemeのキーバインディングの代替セットであるdivaschemeに出会いました。これはモーダルであり、正当化の一部は RSI と関係があります-具体的には、ヒットするために手首をひねるのを避けることです- - . コーダーは仲間のコーダーの非公式な調査を行い、emacs ユーザーは vi コーダーよりも手首の痛みに悩まされていることを発見しました。CtrlAltShiftsomething
彼がLugRadio Live USAで短い講演をしているのを見ることができます。(ビデオは一連の 5 分間のトークで、どこまで終わったか思い出せません。申し訳ありません。誰かがそれを見て、ここに投稿した場合は、この投稿を編集して、ビデオのどの時点であるかを伝えます)。
私は divascheme を使用していないことに注意してください。