momonga.vim #2に行ってきた
最近は自分のPCのvimrcを全然更新してないし、そろそろvimの勉強会が開催されないかなぁ...
と思っていたらちょうどmomonga.vim #2というイベントを発見したので行ってきました。
なんとなく早めに着いたら改札前でたまたまthincaさんとrbtnnさんを発見し、
そのままお昼に行く勢(+derisさん、2GMonさん)に混じって武蔵野プレイスのカフェへ。
カフェではパスタを食べながらVim至上主義の裏話や面接でのVimトークについて話したりしました。
そして良い時間になった頃にsupermomongaさんと合流し、会場の会議室へ。
前半はVPNに繋げていたのでインターネットの世界からは隔離されてもくもくとvimrcいじり。
後半は前から気になっていたvital.vimのBufferManagerを使ってみました。
対象はちょうどAPI絡みで修正しなければいけなかったfacebook.vimです。
それまではvital.vimのdate_time.vimというモジュールのみを使っていたんですが、
そもそもvital.vimってどうやって使うんだっけ?ってのを思い出すところからスタートでした。
幸いvital.vimはドキュメントが充実しているので:Vitalizeコマンドで
なんとか最新のDateTimeとBufferManagerをvitalizeすることができました。
" DateTimeとBufferManagerをvitalize :Vitalize facebook.vim +DateTime +Vim.BufferManager
ただ、いつの間にかdate_time.vimはDateTime.vimになっており、
timzezoneの挙動も少し変わっていたのまずはその部分の修正から。
" 変更前(引数は省略) s:DateTime.from_date().timezone().to_string() " 変更後(引数は省略) s:DateTime.from_date().to().to_string()
ようやく悲惨なコードで処理していたバッファをBufferManagerで巻き取る準備ができました。
BufferManagerの使い方はドキュメントにも書いてあるとおりで
let s:BufferManager = s:V.import('Vim.BufferManager') let s:home_buffer = s:BufferManager.new() " [Facebook Home]を新規タブで開く call s:home_buffer.open('[Facebook Home]', {'opener': 'tabnew'})
とすることで簡単に使うことができました。
そんなことを言いつつ、違うところで余計なバグを仕込んでしまったりしたので
時間内ではこれ以上のことをすることができませんでした...
(バグは帰ってから直しましたが)
そんなこんなで1次会が終了し、2次会へ。
Linda_ppさんと犬トークをしたり、
t9mdさんからLearn Vimscript the Hard Wayを教わったり、
とても楽しかったです。
そんなところで今日はかなりだいぶ眠くなってしまったので
あとは他の人が補完してくれることを期待して寝ることにします。