Λlisue's blog

つれづれなるままに更新されないブログ

VimConf 2015 で「ぼくのかんがえたさいきょうのぷらぐいん」を紹介してきました

どうも、ブログタイトル通りご無沙汰しております有末です。

本日は 2015/11/21 に東京の mixi 本社で行われた VimConf 2015 で「ぼくのかんがえたさいきょうのぷらぐいん」とか「Change the world」とか諸説あるタイトルにて発表を行わせていただいたので、それに関するレポートを書かせていただきます。

発表に至るまでの経緯と準備

もともと VimConf 自体には興味があり、とても行きたい気持ちでいっぱいだったのですが、気持ちとは裏腹にお財布と稼働可能時間はすっからかんだったので今年の VimConf には行くつもりではありませんでした。ただマンボウの着ぐるみ着て泳ぐ Vim のヘルプさん から下記のように何度かお誘いを受けたため「えいやっ」と参加することにしました(発表者であれば、交通費少し出ると聞いたので)。

f:id:lambdalisue:20151125001940p:plain f:id:lambdalisue:20151125001943p:plain ※ この段階では参加表明しておりません。完全に煽られてます

ただ、参加表明したのがまさかの VimConf 約 2 週間前かつラボミーティング数日前。当初から vim-gita で話そうとは決めていましたがスライドが間に合うか間に合わないかのギリギリ地点でした(笑。間に合ってよかった。まぁ「発表まで二週間しかなかったわー、発表までたった二週間しかなかったわー」という地獄のミサワ的なコラムまとめても辛くなるだけなのでこの辺でイントロは終わり。

自分の発表

発表に使用したスライドは Most useful vim plugin ever (Just I think) で見ることができます。 ただスクリーンキャストはなんかうまくいかないので、どうしても見たい方は lambdalisue/vimconf2015 · GitHubimg 内に webm 形式で入っているので、そちらで御覧ください。 また、紹介したプラグイン自体は lambdalisue/vim-gita · GitHub になります。 よろしければ御覧ください。

普段は立場上スライド一枚につき約 1 分話す科学系の発表を主に行っているのですが、今回は IT 系ということもありスライド一枚数秒を目指して作ってみました。

その際、昨年の VimConf 2014 のスライド をかなり参考にさせていただきました。 とくにかなりすごいことで有名な @supermomonga さんの「かなりすごい発表(かなり)」 はスライド・発表共にかなり参考にさせていただきました。 ただ、あの淡々とした独特の空気は真似出来そうになかったので自分風に勢いのある形で発表させていただきました(笑。

ちなみに、Twitter での反応を見る限り発表は良かった感じですね(恣意的に抜粋)。

他の方の発表への感想

自分の発表以外の感想です。書くのにつかれたので LT 以外です(LT の方すみません)。

Vimのgitへの以降について

Vimmer で知らない方は居ない kaoriya さんの発表でした。 kaoriya さん無しでは今の Vim は無かったというくらいものすごい人です。

ただ、とてつもなく残念ながら Google Map さんに Mixi 本社の位置を間違えられたため大幅に遅刻してほとんど聞くことができませんでした(泣。 なので感想は他の方に任せます(泣。

deoplete ~ The dark powered auto completion plugin for neovim ~

Shougo ウェアとして VimFiler, Unite.vim, Vimshell など様々なビッグタイトルを出している Shougo さんの発表でした。

deoplete 開発の苦労話から deoplete での非同期化の限界(htmlcomplete のようにカーソル移動などの副作用があるオムニ補完は非同期化不可)など幅広い内容を扱っておりました。 発表中に仰っていた「必要なら自分で作れよ。自分は作ってる」というのは本当に名言。

VimConf の一番濃いところが午前中に集まっていた感じですね。

私はどのようにVim scriptを書くか?

うさぎ (@rbtnn) さんの発表でした。 お昼ごはんのあと、しょっぱなから Vim script のコアな話に突入という流れ的にとてもおもしろい感じでした(笑。 僕は皆様御存知の通り Perl より Vim script のほうが書きやすい と思っている人種なのですが、まだまだ知らないことはたくさんあって Vim script 面白いなーという感想でした。 こんど時間をとって :help usr_41 を読んでみたいと思います。

Hacking Libcall and Java

kamichidu さんの発表でした。

言葉遣いがとても丁寧で、声の大きさも聞き取りやすく、お手本のような発表だったのですが なぜか漂う暗黒臭 がすごかったです(笑。 個人的には libcall を利用した場合と if_luaif_python を利用した場合のベンチマーク比較などがあると自分のプラグイン作成に参考になったなーという感想でした(タイトルに Java が入っている時点で if_luaif_python は関係ないですが)。 vim-gita で使いたいので vital.vim にある kamichidu さん作のウィンドウレイアウトモジュールを追加するPR の完成はどれくらいか?と懇親会でお聞きしたのですが Shougo さんとは違う 本来の意味での暗黒面 が大変そうでした(お仕事がんばってください。完成気長に待っております!)

Vim on Browser

犬こと Linda_pp さんの発表でした。

発表はブラウザ上で動く Vim の話でした。 なんというか「アホすごすぎる」という感じです。 Vimソースコードを「ぼくのかんがえたさいきょうのこんぱいら」でコンパイルして Vim の模倣ではなく Vim 本体をブラウザで動かす Vim.js というかなり(良い意味で)アホな実装の紹介でした。 紹介だけでは飽きたらず、Linda_pp さんは Vim.js を(いい意味で)さらにアホにすべく react.js にて簡単に Web ページに同封できるようにしており、ほんと Vimmer (いい意味で) アホだなと思いました。 本当に謎技術なので Linda_pp さんの発表スライドにあるデモを一度触ってみることをおすすめします。

Vim + Clojure

カナダのウーパールーパー ujihisa さんの発表でした。 ウーパールーパーといえば、唐揚げにされても笑ってることで有名ですが、初めてお会いした ujihisa さんも、唐揚げにされても笑ってそうな気持ちの良い方でした。

僕自体は Clojure を書かないので、発表で印象深かったのは MinecraftCivilization でした(笑。 ujihisa さん曰く、スライドの難易度は三段階評価で最も簡単なレベルらしいですが 完全にネタ ですね。

Minecraft は自分もやっているので今度話を聞こうかなと思いました(Vim 関係ない)。

Introduction to OmniSharp.vim

マンボウこと thinca さんの発表でした。

C# はリリース当初から 2.0 時代までは利用していたので、少し思い入れがあります(古すぎる)。 その補完が Vim でもほぼ完ぺきかつ高速にできるようになってるというのは、胸熱でした。 ただ、まだまだ thinca さんが整備しなくちゃいけない部分が多そうだなという印象でした。 予備知識無しで常用するのはちょっと辛そうという感想。 まぁ(本来マンボウは不安定な生物なのに)安定感に定評のあるマンボウさんなので、しばらく待てば C# を書くなら Vim 最強という時代が来るでしょう。

海外のVimmerが開発したVim pluginの紹介

第二の犬な deris さんの発表でした。

タイトル通りの紹介でしたが、マジで全然知らないプラグインばかりでした。 そのほとんど(全てとは言っていない)はかなり便利なプラグインで、本当によく調べたなぁ……と関心しました。 なかでも vim-table-mode と inline_edit.vim は要チェックなプラグインでした。週末時間があるときにインストールしてみたいと思います。

あと One more thing が割りと調査に便利そう。年末大掃除の際に使ってみようかなと思います。

VimConf 2015 を終えて

京都からの突然参加だったので交通費という名の参加費で差し引き 20k くらい飛びましたが、行って良かったです。 vim-gita の反応が上々だった感じがするので、時間を見つけてちょこちょこリファクタリングしていきたいと思います :-)