Vimのモードと拡張性

Vimにはモードが4つもある,覚えにくい,わかりにくい,頭悪い,と嘆く方が居るのだが,EmacsのC-xから始まるコマンドはもはや一つのモードみたいなもんじゃないだろうか.いくつあるんだよ.保存とかに使われているのでVimコマンドラインモード相当だきっと.
もちろんEmacsにもC-SPCから始まる選択モードも存在するので,合わせて3モード.
インサートモードが2つに分かれただけですよ.


まあEmacsの利点は,同様のキーバインドが至る場所に簡単に実装できる点だと思う.実際いろんな場所にそのサブセットは使われているし.確かに便利だし.Vimはそう簡単にはいかないんだよなー.
ただVimに学ぶことはたくさんあると思う.モード概念.vimの原型が古典時代に出現した当時から完成したということは畏れるべきことだ.Violinは出現したときに既にその姿は完成されていたということ位有り得ない.まあViのルート知らんけど.
:から始まるコマンドモードとかはOSレベル,アプリケーションレベルで実装してくれたらいいのだが.

OS例

VimperatorのfをOSレベルで実装する.fを押すと画面中の全てのクリックの対象になる箇所にタグを付け,それに対応するキーを押すとクリックされたことに相当させる.シフト押しながらならだと右クリックとか.vimのinsert modeへの切り替えは,アプリケーション層に移動することに対応させる.アプリケーションからOSへの切り替えはESCで.Vimとかぶるから駄目か.じゃあWinキーで.そしてクイックショートカットはいらないからpowershellあたりでもタスクバーに常駐させてくれ.そして:を押すとそこ(コマンドラインモード)に飛ぶ.Program Files中にある.exeファイルをタブ補完.もちろん初心者用にGUIモードは作っておいて.
Winは開発者の使いやすさを一切考えてくれない.GUI一辺倒.GUIは別にそれでもいいから,キーボードで全てを簡単に扱えるようにしてほしいものだ.
LinuxCUIはまた極端すぎ.ディレクトリ変更にcdコマンドで延々と打つのは本当に面倒だ.移動くらい1,2キーで出来るようにしろよと言いたい.FDclone使えば楽そうではあるけど.



アプリケーション例

現在のアプリケーションのショートカットは,アプリケーションが発散している今日,基本的なコマンド以外全て捨てて,コマンドラインモードで好きな機能を選べるようにすればいいと思う.
しかしそれは全て覚えることを強要するわけでなくて,コマンドラインで例えばC-fを押すことによって機能を(hjklで)選べるようにすればいいだけだ.イメージとしてはWinXPのスタートメニュー,全てのプログラムから始まるパネル群だ.


そしてOSと同様にfも実装すればいい.


アプリケーションはともかく,OSは実装できそうな気はするな.