日々之迷歩

世の中わからんことだらけ

ITが複雑で難しくなっていく様に翻弄される日々です。微力ながら共著させていただいた「シェル・ワンライナー160本ノック」をよろしくお願い申し上げます。

vi操作デザインの真髄

WEB+DB PRESS vol.51のVim特集を読んでいる。Vim(というよりviだが)の操作デザインの真髄を改めて考え直している。
viについてよく言われるのが、「モード切替が面倒で混乱する」ということ。しかしviにそれなりに熟練している私にとっては違和感を感じる。モードを切り替えているという意識が無いのだ。
特集に書かれていた記事にはっとさせられた。まさしくこれがviの意識なのだ。

テキスト入力を行うためにiコマンドを「実行する」。実行中はインサートモードになるが実行後はノーマルモードに戻る。

テキストエディタを使っている時というのは、文字を入力している以外の操作が非常に多いはず。それらを全てコマンド操作と考える。文字の入力というのは、コマンド操作の一環に過ぎない。
また、コマンドはオペレーター+モーションという操作体系になっているのだが、それぞれは完全に独立している(直交している)ことが注目すべき点。オペレータとモーションをそれぞれ覚えれば覚えるほど、それらの組み合わせで加速度的に効率よい操作が出来るようになる。これは実際に実感していることだ。

  • 新たな操作範囲や編集操作が追加されても、既存の組み合わせで利用できる
  • 操作の対象範囲の指定にはモーションが使える

素のviを使っている人は意外と多いのだが、そんな方々は是非Vimの世界に入ってもらいたいなあ。使い慣れるほどその洗練された操作デザインと拡張性に感心することこの上ないはず。またVimを何となく使っている人も、viの操作デザインについてもう一度確認してもらうと開眼すること間違いなし。この本もオススメ。

入門vi 第6版

入門vi 第6版