vimをスパルタしてきた@秋葉ルノアール

先週id:ruziaと飲んだ時に不覚にもPCを持っていかなかったのでvimの良さを語りきれなかった。
そんなわけで昨日は昼からみっちりvimをスパルタで教える会を開催してきた。

vimをインストールする所からvimrcの書き方、プラグインのインストール、個人的によく使うコマンド
などハイペースに語ってきた。詳しくはid:ruziaの日記につらつらと書いてくれてる。

どうやってスパルタしたか

vimインストール後は本当はチュートリアルとかやるのが普通の流れなんだろうけど、最も基本的なキーバインド(hjkl)とか保存とか終了ぐらいは知っていたのであえて飛ばした。

その代わりにいきなりvimrcを少しずつ編集していって貰った。具体的には僕のvimrcをいったん全部コメントアウトした状態にして、上から順に意味を説明したりしながら少しずつ有効化していって、その都度:source ~/.vimrcで反映していって挙動の変化を確認するという方法で進めた。vimの操作に慣れるという意味ではゼロから書いていったほうがよかったかもしれないけど、一気にvimrcコピペしないで少しずつ変えて:source ~/.vimrcで反映して確認というのはよかったと思う。

で、vimrcを編集しながら

  • 各モードの概念
  • よく使う移動系コマンド(実用性重視で)
  • yank,paste及びregister関係
  • undo,redo
  • 折り畳み便利だという話と基本的な使い方
  • バッファとウィンドウ
  • クイックフィックス
  • 初心者が嵌りがちなset :nopasteの罠
  • jとJの罠

などなどハイペースにしゃべりまくった。ただその都度手を動かして試してもらうようにはした。

最初から一人だと挫折率高そう

vimは学習曲線がオカシイ*1らしく、最初の壁*2をいかに乗り越えるかによって使い続けようと思うかどうかが決まると思う。なので、最初は実際にvimを普段使いしている人が傍にいて色々教える洗脳するといいんじゃないだろうか。一定レベルを超えるとあとは放っておいても充実しすぎているvim helpとか見て勝手にいろいろ覚えていく(ハズ)と思うので。

僕の場合は諸々の事情でCUI環境でコード書かないといけなくなったり、rails.vimがどうしても使いたかったといったような割と強い動機があったから3回くらい挫折しそうになりながらもvim使えるようになっていったけど、近くに教えて洗脳してくれる人がいたらもっとすぐ覚えられたかなぁとかとか。

その他雑多なメモ

  • 実際に目の前でやってみせるのがよかったっぽい。
  • 言葉よりもキーボード上の手の動きを見せるのが手っ取り早い
  • 隣ですぐ試して貰うと結構驚いてくれたりしたのがうれしかった。
  • FP*3が少ないひとはvimに向いていると再確認
  • ひとつのことを実現するのに色んなコマンドがあるよというお話
  • Insert, Normal, Visualの各モードの切り替えのお話
  • Ruby使いたいということだったのでvim-rubyrails.vimの簡単な使い方とかのお話
  • IDEvimではなく、適材適所
  • Javaを書くならやっぱりIDEと思う。
  • テキスト編集特化ならvimだろ常考

まとめ

ルノアールニュー秋葉店が快適すぎた

*1:http://www.halon.org.uk/stuff/curves.jpg

*2:特殊なキーバインドとかモードの概念とかvimrcの書き方とか

*3:フィンガーポイント。小指の短い人は少ないらしいよ!!