「Vimが好きになる本」の執筆したお話
始めに
ウホウホ
ウホウホっウホ
ウホウホっウホウホウホウホ
ウホウホウホウホ「ウホウホっウホ」ウホウホウホウホウホウホウホウホっウホウホっ
ウウホウホウウホホホ
「Vimが好きになる本」とは?
2019/09/22(日)の技術書典7で配布する本です。 タイトル通り、読んだらVimが好きになる本です。
初心者と中級者向けに、Vimの基本操作から、オペレーター、モーション、テキストオブジェクトといった機能を使った高速編集のやり方や、 Vim scriptの入門とプラグインの作り方まで一通り解説した本になります。
現在、BOOTHにて無料版を公開しています。 ぜひダウンロードして読んでみてください。「無料でもよいから読んでほしい」と思った章をピックアップしています。
なぜ本を執筆しようと思ったのか
なぜ本を書こうと思ったのか、そこにはいくつか理由があります。
- 本を出すことは自分にとってのあこがれ、そして夢でもある
- Vimの良さをもっといろんな人に知ってほしい
- 今まで学んできたことを腹に落としたい
特に「本を出すことは自分にとってのあこがれ、そして夢でもある」は一番の理由です。 ぼくにとって、本を出す = その分野を熟知していると同意義です。
どのような分野でも、熟知していて本を出せるくらいの知見とノウハウを持っている人はすごいし、あこがれます。
そんな思いでVimの本を書きました。
執筆でたいへんだったこと
いろいろとたいへんなことはありました。 主なところをあげると
- ターゲット層とその層に向けの内容の選定
- 内容の順番をどうするか
- 執筆の時間をどう確保するか
- Vimの動きをどのように表現するか
- レビュアーどうするか
といったところです。 一部たいへんなところについて考えたことを書いていきます。
ターゲット層とその層に響く内容の選定と順番
本を書くにあたり、みなさんに絶対読んでほしい部分、つまり幹の部分があります。 それは「オペレーター、モーション、テキストオブジェクト、カウンタ、リピート」の機能を解説した章です。
なぜこれを絶対読んでほしいかと言うと、ぼくがVimにのめり込んだのはこれらことを知ったからです。 それだけ、ぼくにとって魅力的だったのです。なぜVimは慣れたら高速で編集できるのか、その答えがこれら機能だったのです。
ただ、これだけの内容ではとてもじゃないけど、本として出せないし、きっとそれだけ読んでもVimの良さが分からないでしょう。 ですので、幹に肉付けをして、より価値がある本にしなければいけません。
そこで、Vimを始めたばっかりの方でも「Vimってこんなことができたのか」と思える内容、 そして、ある程度Vimを使ってきた方がもう少しだけレベルアップできるような内容にすればよいのでは?と考えました。
これでターゲット層の大枠が決まったので、 次に「初心者」と「ある程度Vimを使ってきた」といったvimmerのレベルの定義を明確にする必要があります。 Vimmerのレベルの公式定義はないので、まず定義をするところから始めなければ行けないのです。
人によって考え方が異なるので、ここは自分の主観で次のように決めました。
Level 1
- a. Vimの操作がまだ不慣れ、最低限の操作しかできない
Level 2
- a. Vimの操作に慣れてきて、基本的な編集が一通りできる
- b. Vimの良さを少しずつ理解してきている
Level 3
- a. オペレーター、モーション、テキストオブジェクト、カウントを駆使して編集できる
- b. 簡単なプラグインを作れる
- c. コーディングやメモなどもVimを使っている
Level 4
- a. Vimの機能や動作、Vim scriptついて深く知っていて実践できている
Level 5
- a. 本体によくパッチを送る
- b. 思考スピードで編集できる
この定義は正直、大雑把なものではありますが、厳密に定義できないのと、あくまで指標でしかないので、こだわるポイントでもないと思っています。
上記のレベル分けをもとに、初心者(level1)の方には「Vimの基本操作と幹の部分」、 中級者(Level2〜3)の方には「Vimの設定やVim scriptの基本、プラグインの作り方」というように内容にしました。
執筆の時間はどう確保するか
これはもう気合しかないです。
毎月ゴリラ。vimの開催をしたり、連載したり、その合間を縫って使える時間はすべて使いました。 もちろん土日とかも使って書いたりしました。
これに関してはTwitterのTLを見る限り、みんな同じ感じですので、まぁそうだよねと思いました。 特別なことは何もしていなく、ただ気合だけでした。
レビュアーどうするか
もちろん本を書いていくと、内容が正しいのか、誤字脱字がないのかといったチェックしてくれる人が必要です。 とってもありがたいことに本書をレビューしていただいたのはmattnさんとdaisuzuさんでした。
mattnさんはSoftware Desginで「Vimの細道」の連載をされていたり、Vim本体にパッチを送ったりしている方で、 daisuzuさんはこれまでに数回に渡りVim Confで登壇をされたり、Software DesginのVim特集に寄稿した方です。 どちらもvimmerとして頼れる方たちです。
この場を借りてあらためてお礼を申し上げます。 お忙しい中、時間を割いていただきありがとうございました。
執筆を通して感じたこと
感謝
ぼく一人の力では到底本を出すことができませんでした。
レビューに協力していただいたmattnさん、daisuzuさんを始め、 執筆で使用したRe:VIEW Starterを作っていただいたカウプランさん、 日光印刷所の担当者の方、みなさんにはとても感謝しています。ありがとうございます。
たいへん
1冊の本を書いて思ったことは「本を書くのってたいへんだな」でした。 そんなの当たり前じゃんって言われるかもしれないのですが、 ぼくはやりたいことがあったらたいへんさを考えずにとにかくやるという性格ですので、やって初めて身を持って「たいへんさ」を知れたという意味ではとても良い経験になりました。
不安
今回は物理本を140冊用意したのですが、本当に全部売れるかどうかの不安はあります。 特にVimというマニアックなジャンルですので、母数は他の技術と比べると少ないでしょう。
本を書いたからといって、売れるわけではないので、まず本の存在を知ってもらう必要ための宣伝が必要です。
宣伝という意味ではこのブログ、そして無料版はその役割を担っていますね。
そして一番の宣伝になるのはやはりTwitterです。残念ながらぼくはTwitterでバズる才能はないので、ただただ思ったことをつぶやいてみなさんに拡散していただいています。
リツイート、よいねをくれたみなさん、ありがとうございます。
ありがたいことに取り置きしたいという声をいただいたり、とても良かったという感想をいただいています。とてもうれしく思っています。 それでも不安はありますが、これ以上は考えてもし方がない領域ですので、当日はたくさんの方にこの本を試読していただけるようにがんばります。
開放感
当たり前ですが、やるべきことが終わって、ほっとしました。 2ヵ月間ずっとソワソワしていましたが、無事に入稿できてとても気持ちが楽になりました。 あとは当日楽しむだけですね。
ちょっとしたお話
ご縁があって、Auth屋さんの「OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本」と、 カウプランさんの「わかりみSQL」のレビューをさせていただきました。
人様の本をレビューしたのはじめてですが、とても勉強になりました。 自分には思いつかなかった様な表現のし方や注力しているポイントなど、たくさん学ぶことができました。
お二人の本は、わかりやすさを重視しているという共通点があって、 全体を通してどちらもとても丁寧でわかりやすかったです。
レビューの指摘、こんなのでよいのかなって不安はありましたが、 おふたりとも、レビューには満足していただいているようで、役に立てよかったと思いました。
今後も余裕があれば本のレビューをやってみようかなと思いました。
タイミングによってはできないこともありますが、もし本をレビューしてほしい方いましたら、ぜひ声をかけていただければと思います。
最後に
多くは語りませんので、技術書典当日は「き47D」でお待ちしています。 ぜひ立ち読みしてみてください。
また、来られない方はこちら(当日公開)でお買い求めいただけますので、 興味ある方はぜひ買ってみてください。
みなさんにVimの良さを伝わることを願っています。