6/28(土)に開催されたOsaka.vim #1に行ってきました。 待ちに待った関西圏の Vim 勉強会!
関西圏のVim勉強会!
過去を遡るといくつか関西でのvim勉強会が開催されていたようなのですが、いづれも現在まで続いているものはなく、最近ではめっきりなくなっていました。 関東その他のVimの勉強会は結構な頻度で開催されており、しかもどれも楽しそう。 関西Emacsはあるのに関西Vimない!ナンデ!
他の地域でのVim勉強会を見るたびに羨ましさの涙でvimrcを濡らしていたところ、やっと機会が回ってきました。
2014/04/05
haya14busa: kansai.vim . “#x09” “ 関西Vim
manga_osyo: やると聞いて haya14busa.vim
欲しいと思っている様子(口だけ)。そして時は流れて1ヶ月後
2014/05/17
iyuuya: 大阪でもxxx.vimって無いんですかね iyuuya.vimやってもいいんですけどねー
やりたい!!!
やっと開催の流れが現実味を帯びてきました。というか@iyuuyaさんが現実味を帯びせてくれました。非常に便利。
一応、「一緒に開催しましょー」と@iyuuyaさんに言っていただいたのですが、ここから開催日を決めて開催場所を決め、告知etc…
という流れまで 一緒に決め… @iyuuyaさんがほとんどすべてやってくれ、とうとうOsaka.vimの開催が決定しました!
1 2 3 |
|
@iyuuyaさん本当にありがとうございました & おつかれさまです。
Osaka.vim #1
待ちにまったOsaka.vim、 非常に楽しかったです。
@thinca さんによるライブコーディング
最初は @thinca によるライブコーディングでした。 個人的にスクリーンキャストとか実際に操作している画面を見るのはとても好きなのですが、ライブコーディングとして生でコード書いているのを見るのは初めてで、より面白かったです。
Vimから一切出ずに操作していたり、CursorHold
で cursorline
を設定するなどといった便利tipsが得られたりなど、
さすがthincaさんというべきか見ているだけでとてもおもしろかったのですが、周りの怖いVimmerたちがそこはこうじゃないか,などなど
デバッグ手伝ったり、果ては Lingrのvim部屋 にいた Shougo さんにリアルタイムでuniteを修正をしてもらうなど、
これがソーシャルコーディングか…!と驚きの連続でした。
- 作成されたプラグイン: thinca/vim-quickmemo
- uniteの修正の様子: https://github.com/Shougo/unite.vim/commit/94a29bc73d91f6a7847bc22cb4d37a3f482f9ec9
まさかの 1時間半 にも渡るライブコーディングでしたが見ていて飽きず、面白かったです。thincaさんお疲れ様でした。
フリータイム
もくもく回となるかと思いきや,思った以上に交流会でワイワイという感じで非常に面白かったです。 #進捗なんてなかった
vimのキーマップの話をしたり、vi過激派の設定を聞いて狂気を感じたり、何故かAtomしてる人がいたり、T-code という完全に人類には早すぎる入力メソッドの紹介などがあってとても楽しめました。
@itchyny の itchyny/miv というコマンドベースのHaskell製Vimプラグインマネージャの話が面白くて、ここでも来てよかったなぁと思いました。
miv
の存在は知っていたけど本当に知っていただけで全然試したこともなかったのですが、
聞いてみると興味をそそられました。
NeoBundleLazy
は遅延ロード用の指定したコマンドなどを動的に設定しているけど、
いやそこは事前に生成できるし、そうすればもっと速くなるのでmiv
はそうしてるなどといった利点の説明や、
コマンドラインベースなのでシェルからプラグイン一覧を簡単に出したり、それぞれにgit gc
したりなどといった
使い方がとても良さそうでした。
ネックなところがあるとすれば個人的にはyaml
にVim scriptを書くところがやはり気になるのですが、試してみたいと思いました。
既存のものに不満を持ちましょう
とitchynyさんが最後に締めくくったのが個人的には結構ささりました。
今のところNeoBundleLazy
に不満がなかったとか言えない…
割と大きいプラグインになると少々不満を持ってもだいたい無意識のうちにデカくて改善するのも大変そう, そもそもそんな大きいプロジェクトを改善するプログラミング力足りてなさそう…などと考えて、振り返ればそうやって妥協してるところが多々あるなぁということを再確認しました。
ぼくの一番大きいVim活プロジェクトとしては、やっぱりEasyMotionになってしまうのですが、
この EasyMotionの開発を乗っ取った引き継いだという話は
それこそ、それまでのEasyMotionに不満があって、より改善したい!という思いからゴリ押しで進めたところがあって、
周りのVimmerたちに助けを求めながらもある程度の成果を出すことができました。
そもそもの NeoBundle
もおそらく Pathogen
や Bundle
といった既存マネージャに満足できない、不満があったから NeoBundle
が作られたのだと思います(当時の話は知りませんが)。
やはりこういう「不満」を持って、大きいプロジェクトでも妥協せずに取り組んで行くというのは、1つのあるべき姿だなぁと改めて感じました。
がんばりたい
発表した
- Slide資料: これからはじめるVimプラグイン開発
そんなこんなで6時までのフリータイムだったのですが、残りだいたい30分。
「フリータイム…??きっと発表する人いるでしょ…? 用意出来てない…ヤバイ!!!」 と実は朝起きてから2-3時間使ってざっくりスライドを書いたり、前からあったらいいなぁと思っていた osyo-manga/vital-over を使った簡単なインクリメンタル検索の 拡張プラグインがサクッとプロトタイプが作れてライブコーディングするのにいいんじゃないかなーと考えていたのでした。
他のVimmerたちと話しているのが面白かったとか、他の進捗だそうと思っていたとか、 あんまり用意してないし別にやらなくてもいいかなーとかいろいろ思ってたのですが、 結局一番やろうとしなかった理由は勉強会で発表とか全くやったことないので日和ってたとかいう ダメダメな理由だったので、せっかくスライド作ったしエイヤーと発表しました。
が、完全に言い出す時間が遅くて時間足りなかった上、そもそも十分に用意できてないのでグダったところもありなかなかつらみがありました…
こういう勉強会って、別に全員がプラグイン書いてるような怖い方ばかりではなく、結構そのへんはやったことないよーという かたもたくさんいると思うので、そのあたりの層でこれからVimプラグイン作ってみたいって方向け(いると信じてる) に簡単なプラグインの構造と、僕がやってて便利だなぁーと思っていたデバッグの仕方を中心に発表しました。
反応はイマイチわからなかった()
その後にvital-overつかったインクリメンタル検索プラグインは、便利そう感はある程度伝わったような気がしたのですが、結局既存のものを見せるだけで終わった感がなきにしもあらず、ほんとにもっと早めに始めとけばよかったと反省しました… しかも、thincaさんが言っていたように、完全に作ってしまったものをそのまま書き直すのはライブコーディングっぽくもないので、簡単なプロトタイプにあえて留めて完成度もまだ低かったので出来ているものを見せてもそこまで大したものではなく輪をかけて反省でした。@各位 スイマセンでした
懇親会…そしてカラオケオールへ
その後、懇親会にいって美味しい料理を食べながらワイワイ話したりしてとても満足でした。 アルコール入ったままカラオケオールは終盤つらくて帰って爆睡しました。若さがたりない。
カラオケ中のvimrc 読書会が終了したあとサイトの更新で自動化できてなくて自分が更新ミスったこともあり、 初めて ruby さわってみて 次に読むvimrcを更新する簡単なスクリプトをrubyで書きました。
更新便利になって満足。
Vim部屋にも関わらず、rubyのインタラクティブシェルのことをlingrで聞いてpryを教えてもらったり、iyuuyaさんにanyenv
つかってrbenv
でrubyの環境管理するのを教えてもらったり、できたあとにvim部屋で何故かrubyスクリプトのレビューしてもらったりと、なかなかやっていて楽しかったです。教えてくださった各位ありがとうございました!
何気にOsaka.vimで出した目に見える進捗がこのスクリプトくらいでVim scriptは進捗ダメデシタ…
次回…?
きっと来月か再来月までにはOsaka.vim #2が開催されると思うのでぜひ#1に参加した人も、そうでない人も参加しましょう!
思った以上に京都の学生が多かったのでKyoto.vimもワンチャンあるんじゃないかとかも思うけどどうでしょうね(チラッ
Osaka.vim #1, とっても楽しかったです。お疲れ様でした!
:wq Osaka.vim_01