100ページほどあるマニュアルをDocbook XMLで制作している。 そのXML文書中にちりばめられた indexterm 要素の修正...という作業で、 ひたすら indexterm のサブ要素である primary ,secondary 要素を検索して修正するという作業をしなければならない...という話を聞いたので、 vim ならオペレーションミスが少なく効率的に作業できますよ、という話をした。
...という説明をしたのだが、その場では、カーソルキーではなくhjkl を使うことがvimの生産性の高さの証拠になるのか? うまく説明できなかった。
なぜそんな言い方をしたのか気になったので、後でもう一度考え直してみた。
カーソルキーではなく、h,j,k,l を使ってカーソル移動させる、
これは確かにホームポジションをキープしたままで済むのでそうしない場合に比べて生産性は高い。
しかし、vimを使っていない人からこのことを見た場合、
カーソルキーをやめて、hjklを使うことは、わずかなコストダウンでしかない。
そして、hjklで移動というのはわかり辛く学習には苦痛を伴うので、
そんな小さなコストダウンにこだわることはないのではないか?
さらに、その小さなコストダウンとvimの生産性の高さとは関係がないのではないか?
...という空気が漂っている。
なぜ自分がそのような言い方をしたかもう一度考え直してみてわかった。 それは、vimは十分に生産性が高いので、カーソルキーの代わりにhjklを使うという(傍から見ると小さな)生産性アップが vim使用者にとっては相対的にいって十分大きな生産性アップになる、ということ。
つまり逆から言えば、他のエディタでは、 たとえば、 文字列検索するだけで、Ctrl+Fした上で検索文字列を入力して検索ボタンを押す...などというように vimに比べて無駄な作業があちこちにあるので、 カーソルキーをhjklで済ますことによる生産性アップ分は相対的にいって取るに足らないものだ、ということ...かな。
まあテキストエディタはそれぞれの人が自分にあったものを使えばいいんだけど...
vimの話をすると、vimを使うには最初の壁があると。
学習するだけの十分な時間がないから使えないのだと。
でも、それは実際は逆だと思った。
最低限の基本操作について学習時間が必要なことは確かだが、
そこから先に進む...つまり本来のvimのもっているポテンシャルを生かして
生産性高くテキスト編集できるようになる...には、むしろ切羽詰まった状態こそが原動力になっている気がする。