blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2019.11.08 イベントレポート

VimConf 2019参加レポート

by masahiro.furudate

#vim

MOV のサーバサイドエンジニアをしている古舘( @178inaba_ )です。
11月3日に行われた VimConf 2019 に参加しましたので参加レポートをお届けします。

VimConfとは

テキストエディタ Vim の国際会議で2013年から開催されているカンファレンスです。
今年のキーノートスピーカーは vim-lsp async.vim asyncomplete.vim の作者である Prabir Shrestha さんと Neovim のリードメンテナーである Justin M. Keyes さんのお二人でした。

国際会議なのでスライドはすべて英語でした。
また、公式サイトを見てもらうと分かる通り英語のセッションが日本語より多かったです。
ですが同時翻訳がしっかり完備され、英語があまり得意でなくてもセッションの内容はわかるようになっていました。

DeNAとVimConf

DeNAはGold SponsorとしてVimConfにスポンサードさせていただきました。
ノベルティとして挿入モードの補完チートシートをお配りさせていただきましたが皆さん使っていただけていますでしょうか。

ノベルティとして配布させていただいた挿入モードの補完チートシート

実はこちら、弊社の鈴木( @dice_zu )が昨年のVimConf 2018で登壇した資料から作成されたものなのです。

そして、昨年に引き続き今年も鈴木が通常セッションで登壇致しました。
タイトルは「Usage and manipulation of the tag stack」です。
手前味噌ですがtag stackの実装が図を用いて解説されており、非常にわかりやすかったです。
ぜひご一読ください。

懇親会ではスポンサーセッションも行いました。
スポンサーセッションでは鈴木がVimConfをスポンサードする価値を会社にプレゼンした内容を赤裸々に語り、懇親会の盛り上がりに一役買えたのではないかと思います。

セッション

今年のテーマは「how to be more productive with Vim?」という事でVimを使ってより生産性を高める方法が多く紹介されていました。
特にvim-lsp関連のセッションが多かった気がします。
それぞれのセッションについては公式サイトにスライドPDFがありますので詳細はそちらに譲ります。

ここでは筆者が特に気になったセッションをいくつかご紹介します。

“Vim Renaissance” by Prabir Shrestha

筆者も使っているvim-lspの作者であるPrabir Shresthaさんのキーノートです。
lspプロトコルの詳細やvim-lspを作った動機を話されていました。
LSP(Language Server Protocol)の登場以前はエディタ毎に補完やタグジャンプ等の機能を実装しなければならなかったが、LSP登場以後は言語毎にLanguage Serverを作っておけばエディタ側はvim-lspを入れるだけでよくなりました。 これは確かにルネッサンスだなと思いました。
また、次の革命についてVim向けのJavaScriptインタフェースが入ったら多くの人たちがplugin開発に参加しやすくなり革命が起こるだろうと話されていました。

“We can have nice things” by Justin M. Keyes

NeovimリードメンテナーのJustin M. Keyesさんのキーノートです。
2016年まではVimは安定性にフォーカスしており、なかなか新しい機能が入らなかったため新しい機能が頻繁に入るVimを目指してNeovimが産まれたそうです。
実際、4日開発が止まっただけで「Neovimは死んだ?」と言われたそうで、それだけ頻繁に新しい機能が実装されているという事ですよね。
「NeovimのゴールはVimを置き換える事ではない。Vimの最大化がゴール。」と話されていたのが印象的でした。

“make test” by

m-nishi

Vim本体のテストについてのセッションです。
このセッションに触発されて自分の手元でmake testしてみたら余計なファイルが残ったので余計なファイルが作成されないようにするPull Requestを提出しました。

https://github.com/vim/vim/pull/5177

結果的には別な修正方法での解決になりましたがきっかけをもらったセッションでした。

“My Vim life” by

gorilla0513

DeNAも会場提供させていただいている ゴリラ.vim のオーガナイザーであるgorillaさんのセッションです。
約一年前からVimを使いはじめてVimの勉強会を開催したり技術書典でVimの本を頒布したりとバイタリティ溢れる活動をしているgorillaさんがどのようにVimを学んできたかを紹介していました。
個人的にヘルプを読み込むという話は目からウロコでした。
自分は困ったときしかヘルプを読んでいなかったので今後読み物としてVimのヘルプを読んでみようと思いました。

“13 Vim plugins I use every day” by

Tatsuhiro Ujihisa

ujihisaさんはVimConfの前身であるujihisa.vimを主催していた方で今回のVimConfの運営もされています。
そんな長年Vimに貢献されているujihisaさんが毎日使っているpluginを紹介するセッションです。
紹介されていた中では gina.vim lexima.vim が気になりました。
また、ライブコーディングでHTTPサーバを実装するという事もしていて、このライブコーディングが非常に鮮やかでした。
立て板に水ということわざがありますが、筆者はujihisaさんのライブコーディングを見て『立て板にVim』という言葉が思い浮かびました。
それほどすごかったです。
動画がアップされたらぜひとも見返したいセッションです。

お弁当

お弁当がすごかった事はぜひ皆様にお伝えしたいです。

今半のすき焼き弁当です。
運営のujihisaさんが「我々が用意できる最高のものを用意したのでゆっくり楽しんで」とおっしゃっていて、実際に最高でした!

まとめ

本当に最高のカンファレンスでした。
Vimのカンファレンスというのは世界中探してもこのVimConfだけのようです。
そんな世界的なカンファレンスに参加できたことはすごく幸せなことだと思いました。
また、技術への情熱、Vimへの情熱にあふれる方のセッションを聞くことができたのは筆者にとって大変貴重な時間でした。

個人的ではありますがGo言語コミッターである mattn さんに会えた事はすごく嬉しかったです!
(筆者がmattnさんの go-mastodon にContributeしたことを覚えてくださっていた事に感激しました。)

Vim漬けの一日で非常に情報量が多く、いい意味で精神的に圧倒された部分もありましたが次回もまた参加したいと思いました。

運営のみなさん、登壇者のみなさん、懇親会で話してくれたみなさん、ありがとうございました!

DeNAはこれからもVimを応援し続けます!

非公式VimConf後夜祭

先述のゴリラ.vimと girls.vim の共催で非公式VimConf後夜祭が開催されます。
非公式とは言うものの、VimConf運営メンバーの KoRoN さんが「VimConfの作り方」というタイトルで登壇します。
ぜひ足を運んでみてください。

ゴリラ.vim
ゴリラ.vim #10 非公式VimConf後夜祭

girls.vim
girls.vim vol.3 - 非公式VimConf後夜祭

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。