まず先に総評を言ってしまいますが、Vimmer ならば買うべき本だと思います。
Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技Vim テクニックバイブルを書いた時にも何冊か Vim の本を紹介しましたが、これまで「Vim を現場で使う事にスコープを当てた本」というのは存在しませんでした。
もちろんこれらの本も僕を喜ばす事は出来たのですが、なにぶんページの殆どが知っている情報だったので僕にとって「ワクワクする本」では無かったんです。 ずっと最新情報取り入れたVim本出ないかなと思ってまし...
http://mattn.kaoriya.net/software/vim/20110810203558.htm
あくまでリファレンスでしかなく、なぜ Vim はこんな動作なのか、編集する方法には複数の方法があるのに何故この方法が良いとされているのか、そういった事が書かれている本というのは僕が知る限りありませんでした。
この本は「Practical Vim」と題された、Drew Neil 氏が書いた本の日本語訳で、私も英文の方は一部だけ読んだ事があったのですがこの本が日本語で読める様になった事に大きな喜びを感じました。訳者の方やアスキー・メディアワークス様に感謝したいと思います。
The Pragmatic Bookshelf | Practical Vim今日1日かけてじっくりと読ませて頂きました。僕も自他共に認める Vim 中毒者ですので、書かれている事の殆どは知っていたりもしましたが、改めて「この本良いな」と思いました。
Vim, a vast improvement over its classic ancestor vi, is a serious tool for programmers, web develop...
http://pragprog.com/book/dnvim/practical-vim
これまでのリファレンス本は、体裁よく頭から必要だと思われた事を淡々と説明していましたが、本書は TIPS という形式で計 121 ものシーンを用いて実際に起き得る問題を紹介し、その解法を説明しています。かつインターネットからダウンロード可能なサンプルを用いて、言葉通り「実践」(Practical)を実現しています。
例えば
// example
var a = 1
var foo = ""
var fizz = new Date()
この様なテキストを
// example
var a = 1;
var foo = "";
var fizz = new Date();
こう編集するにはどうするのが良いのか、URL が並んだテキストの一部を共通的にを編集するにはどうすれば良いのか、といった問題に対して実際のサンプルで読者と一緒に読み進めます。つまり僕が思うに、この本は「この前こんな場面で Vim なら簡単に出来そうだけど、やり方がわからなかった」といった人にとても有用な本であって、訳者の方やアスキー・メディアワークスの方にはとても失礼かもしれませんが、本の右端を折ったり付箋紙で貼ったりしながら自分が欲しい場面をどんどん見つけて欲しい本だと思いました。
例えば「bar」単語の「a」にカーソルがあり、その単語を削除する場合、
dbx
, bdw
, daw
の3つが考えられます(実際もっとあります。ただdbxは...間違い?)。この中で、Vimmer は消した後の事も考えます。ドットをタイプし、同じ様な削除行為を繰り返したいならば、「daw」を使います。そういった内容も書かれています。ちなみになぜ「daw」が良いのかは、この本を買って見て頂くとして本書ではこの他にも「インターネットでこの方法が良いって言われてたけど、何故なの?」などといったことを事細かに説明してくれています。テキストオブジェクトについて説明した Vim の本というのも確かにこれまで無かったのでは無いでしょうか。
ちなみにテキストオブジェクトについては、結構ページ数を割いています。
中級者から上級者になりたい、そんな方にはぜひ読んで頂きたい本だと思いました。
最後に本書を読んで、僕の頭に残った言葉を紹介したいと思います。
一歩下がって、三歩進むVim らしい言葉だと思います。Vim はモードのあるエディタです。カーソルキーを使わないならば、移動するだけでも1キー押さなければなりません。しかしこの一歩下がる行為がある事で Vim は三歩も四歩も、いや数十歩先を進む事が出来るのです。