読者です 読者をやめる 読者になる 読者になる

yokohama.vim #5 でした

f:id:rhysd:20140405115326j:plain

4/6 に @gu4 さん 主催の yokohama.vim #5 に参加してきた.

何も考えず速攻で登録して身内感を出してしまったので人集まるかなぁと思っていたけれど,thinca さんの呼びかけにより参加者が増えてほっとした.thinca さんの人望(もとい魚望?)さすがでした.

@srockstyle さんの発表 → thinca さんのライブコーディング → グループごとのハンズオンという流れだった.

Vim で捗る Ruby 開発(by srockstyle さん)

http://www.slideshare.net/srockstyle/ruby-on-vimyokohamavim

Rails などの Ruby 開発で Vim こう使ってるよー」という発表だった.僕も一時期 Rails を使っていたときに unite-rails.vim にお世話になった.あと,TweetVim は普段からお世話になっており,もっと改善したいという気持ちがある(basyura さんよろしくお願いします). 前日に発表を決めてつくったとのことなのに資料がしっかりしていてすごかった.

thinca さんのライブコーディング

srockstyle さんがつくってほしいプラグインの仕様を切り,thinca さんがそれを元に実装するという流れだった.unite.vim で chef のファイルを一覧表示するプラグインで,unite.vim の source をつくる様子が解説されていた.出来上がったプラグインvim-unite-chefで公開されている.

個人的にはこれがツボだった.

Vim 養成講座

3つのグループに分かれて,プラグイン作ったりしていて Vim についてある程度知っている人が質問に答えたりアドバイスしたりするハンズオンの時間だった.僕がいたグループでは,とりあえず vimtutor をやってきました!という方がいらっしゃったので,その方を中心に Vim をどうやって使っていくかについて話した.Vim はドキュメントもコミュニティもしっかりしていると感じているので,それらをうまく活用するの大事だなぁと思った.

これだけは入れとけというプラグイン

個人的に,プラグイン管理プラグイン(例えば neobundle.vim )と日本語ドキュメント vimdoc-ja はほぼ必須だと思っていて,最初はこれを入れてもらった.あと,プログラミングの勉強をしたいとのことだったので,手元のプログラムを簡単に実行できる vim-quickrunもオススメしてみた.

Vim を使っていて困った時

Vim を使っていると,操作が分からなかったりオプションの意味が分からなかったりすると思うので,そういうときどうするかを知っておくと良いかなぁと思ってヘルプの引き方を説明した

:help hoge " 最初に 'hoge' にマッチするタグを検索
:help 'relativenumber' " オプション relativenumber を検索
:help :write " :write コマンド
:help CTRL-L " <C-l> にデフォルトでマッピングされている機能
:help v_CTRL-V " 複数のモードで別の機能にマップされているキーマッピングの場合はプレフィックスを指定

その他に,次のヘルプも便利.

:help quickref " 必要な内容がコンパクトにまとまっている
:help function-list " Vim script の組み込み関数一覧(ただし無いものもあるので注意)

vimrc での設定

コメントをしっかり書いている人の vimrc を真似つつ,知らないオプションは上記の日本語ヘルプで調べていくのが良いという話をした.

ヘルプを見てもぐぐってもよく分からないとき

Lingr というチャットサービスに Vim ユーザの部屋 があり詳しい人が多く居るので,そこで相談するのが一番良いと思って紹介した.ツイッターでつぶやくぐらいの気軽さで発言して大丈夫な雰囲気の部屋で,僕もお世話になっています.

その他

プラグインの遅延読み込み( :NeoBundleLazy ) について質問されたので,まずは Vim--startuptime オプションで計測して,読み込みに時間を食っているプラグインだけ対処するのをオススメしてみた.計測せずにやる最適化は意味ないと思っている.

あと,システムのペースト機能で Vim のバッファにペーストすると autoindent などが邪魔してしまう問題について質問があり,:set paste:set nopaste を説明した.

一緒のグループの方々,お疲れ様でした.

懇親会

会場そのままで,なんと全員参加で懇親会が行われた.Atom とか neovim の話,JavaScript や altjs,つらい開発の話などをした.thinca さんによるゲームプラグインの紹介があった.

会場のプロジェクタホワイトボード機能がすごかった.

卓球

懇親会後に残っていた数人で卓球をした.

f:id:rhysd:20140405204943j:plain

こういうちょっとした運動ができるスペースがあるのは羨ましいなぁと思っていて,うちの会社にも卓球台とかビリヤード台とかで思考をリフレッシュできる設備がほしいなぁと思った.@gu4 さんとの卓球直接対決も出来て良かった.

まとめ

初めてお会いする方も多くて,とても楽しかった.yomi さんや basyura (ΦωΦ≡) さんとも久しぶりに会って話せて良かった.あと,ライブコーディング駆動で thinca さんに実装してもらうという手法がとても有用であることが分かったのが良かった.

vimmer は自分含めてシャイな人が多いのでどうしても黙々会とかになりがちだけれど,@gu4 さんがしっかり進行してくれて盛り上げてくれたので,ありがたかった.参加者の方々,お疲れ様&ありがとうございました.