プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

いい道具は使うほど手に馴染む

 意味不明のタイトルで申し訳ない。タイトルにある「人生の時間の80%くらいを無駄にしている」とは,ある人がある対談で言った印象的な言葉だ。読者の皆さんは,人生の80%を無駄にしているのがどんな人なのか想像がつくだろうか。
 答えは「Emacs(イーマックスと読む)やVim(ヴィムもしくはヴイアイエムと読む)を使っていない人」である。

記者のつぶやき - 「人生の時間の80%くらいを無駄にしている」人とは?:ITpro


そりゃあ言いすぎでしょ。まあそう言われることをあえて分かった上での釣りタイトルなんだろうけどね。


とはいえ、私もvim愛好者として言いたいことはよく分かります。なかなか理解してくれる人は少ないんですよね。まわりのプログラマですら「vim使え」と言うと「いや、それだけは勘弁」って反応が返ってくる。まあぼくもEmacsはあまり使わないけど。


ぼくがvimを好んで使う理由はいくつかあるんだけど、特に気に入っているのは以下のようなところ。

  • フルキーだけで全てが操作できる

なんで?と思うかもしれないけど、カーソルキーもマウスも使わないと、腕を動かさないでプログラミングできるんだよね。これすごく重要。もしもThinkPadトラックポイントがある位置にカーソルキーがあるキーボードがあったら別にいいのかもしれないけど。いや、ほんとに欲しいよ、そんなキーボード。:)

  • 目的の場所へ最小限のキー数で移動可能

vimは移動コマンドが豊富。例えばこんなラインがあったとする。

 if (!(fp = fopen(filename, "r"))

後ろのカッコが足りないな。こんな時vimならf)または$で目的の場所まで行ける。カーソルキーに相当するキーはあるけど、それを連打することはほとんどないところがすごく魅力。

vimは、いわゆるカット&ペーストがやりにくい。基本的にライン単位でしかできない。そこで役に立つのが正規表現。これを使うと検索はもちろん、かなり複雑な置換が可能になる。「先頭にタブがあって英数で構成されるラインをダブルクォートでくくる」といったことが表現できる。常に適用できるとは限らないけど、使い方によってはとても重宝する機能。

いい道具とは


感覚的に操作できないという点でvimは一般に進められるエディタではありません。特にコマンドモードと編集モードは分かりづらく、今でも編集モードでコマンドを入力してしまう。決して使いやすいエディタとは言えないのがvim.


しかし、一度慣れてしまうとその便利さに手放せなくなるのです。我慢して2週間使ってみて。その操作感に病みつきになるから。好みもあるから、絶対そうなるとは言えないけど。


いい道具は使えば使うほど手に馴染んでくると言います。これを機にぜひvimを使ってみませんか!?:)