「Vimが好きになる本」(ゴリラ 著)を読んだ感想
この記事はもともと、技術書典で買った同人誌を紹介するアドベントカレンダーの1本として2019年末に書いたものです。薦める理由はいま読み返しても変わっていないのですが、当時紹介した同人誌版はもう手に入らず、商業化された版は章が1つ増えています。そこだけ書き直しました。
この記事の前提:技術書典で頒布された同人誌版を読んだうえで、現在入手できる商業版(インプレスNextPublishing、2020年6月刊、134ページ)の構成と突き合わせています。同人誌版の章立ては当時の記事に残していたものです。
どんな本か
著者のゴリラさんは2018年にVimを使い始めた人です。そこから短期間でVimプラグインをいくつも公開し、勉強会「ゴリラ.vim」も主催していました。使い始めて日が浅い人が書いた入門書という点が、この本の性格をほとんど決めています。つまずいた場所が新しいうちに書かれているので、説明の順番が初学者の躓きどころに沿っています。
初心者に要る範囲が過不足なく入っている
134ページと薄いのですが、章立てを見ると扱う範囲は狭くありません。商業版の構成は次のとおりです。
| 章 | 内容 |
|---|---|
| 1〜2 | Vimの良さ、基本操作 |
| 3 | バッファとウィンドウとタブページ |
| 4〜10 | モードの全体像と、各モードの解説 |
| 11〜12 | ヘルプ、設定 |
| 13 | プラグイン |
| 14〜15 | Vim script、Vim9 script |
目を引くのはモードの扱いです。ノーマル・挿入・ビジュアル・コマンドライン・置換・Terminal-Jobが、それぞれ独立した章になっています。モードで挫折する人が多いことを考えると、ここに7章分を使う配分は理にかなっています。
特に、Vim 8.1で入ったターミナル機能をまとまった分量で紹介している日本語の本は、同人誌版が出た2019年当時ほとんどありませんでした。Vimの中でシェルを開くという発想自体が知られていない時期だったので、章が1つ立っているだけで価値がありました。
標準機能に紙面を割いているのが効く
Vimを長く使った人が入門書を書くと、Vim scriptやプラグインの話に寄りがちです。読者はまだ素のVimも扱えていないのに、拡張の話が先に来てしまいます。この本はそこを踏み外していません。第5章のノーマルモードにはテキストオブジェクトの節があり、毎日効く操作にきちんと紙面が割かれています。
第11章の「おすすめヘルプ」も同人誌らしい章でした。:helpの引き方を説明する本は他にもありますが、この本は「どのヘルプを読むと良いか」を具体的に挙げています。引き方を知っていても最初は何を引けばいいか分からないので、この順番は正しいです。
第13章で紹介されていたdocker.vimは、この本を読んで使い始めました。最初は「それVimでやる必要があるのか」と思ったのですが、使ってみると手が離れないぶん確かに速いです。著者が自分で作ったプラグインが並んでいる章なので宣伝に見えなくもないのですが、実際に手元で使い続けたのはこれでした。何度も読み返せる薄さなのも、結果的にはこの本のいちばんの取り柄だったと思います。
同人誌版と商業版では章が1つ違う
ここだけ注意が要ります。技術書典で頒布された同人誌版は第14章「Vim script」で終わっていましたが、商業版では第15章「Vim9 script」が加わっています。買うなら商業版のほうが範囲は広いです。
ただし商業版の刊行は2020年6月で、Vim 9.0の正式リリース(2022年6月)より前です。この章が書かれた時点でVim9 scriptはまだ開発途中でした。ここだけは本の記述を鵜呑みにせず、:help vim9と突き合わせながら読むほうが安全です。他の章は素のVimの標準機能が中心なので、刊行から時間が経っていても内容が古びていません。
どの段階で読むと効くか
vimtutorを一周した直後がいちばん合います。チュートリアルで手を動かした操作が、モードごとの章に整理され直して出てくるので、断片が繋がります。逆に、まだVimを起動したことがない段階で読むと、手を動かさないまま章だけ進んでしまいます。
「実践Vim」とは読む順番が違います。あちらは基本操作を一通り知っている人が考え方を組み直すための本で、こちらはその手前です。学習段階別の書籍まとめのほうに、他の本との住み分けを書いています。
まとめ
使い始めて日が浅い人が書いた入門書という性格が、そのまま長所になっている本です。モードに7章を割き、標準機能を飛ばさず、134ページに収めています。vimtutorの次の1冊として薦められます。買うときは、Vim9 scriptの章だけ刊行時期を意識してください。Vimを続けている人が何に魅力を感じているかはなぜVimmerはVimを使い続けるのかにもまとめています。