VimConf 2017 に参加した

VimConf 2017

2017-11-04 に VimConf 2017 が開催されたので参加してきた.

VimConf は初参加であったが, 日本を代表する Vimmer の方々を始め 200 人近い参加者が一同に集い, 会場は Vim 一色 (?), 発表者の方々は皆内容が凄まじく, すき焼き弁当やコーヒーの提供, 懇親会と, 終始大変楽しむことができた.

以下は発表者の方々のスライドと私のエモ感想です:

発表と感想

Vim, Me and Community (haya14busa さん)

docs.google.com

haya14busa さんが contribute してきたプラグインのお話.

EasyMotion と, 最近のパッチで Vim 本体に取り込まれた Incsearch の話が印象的だった. 個人的には vim-asterisk が便利そうと感じたので入れてみた. また migemo を初めて知り, 試してみようと思った.
Vim のコミュニティについても最後に触れられていて, 多様なバックグラウンドを持った人々がおり, 共に学び高め合えるということで, いい話だった.

The Past and Future of Vim-go (fatih さん)

speakerdeck.com

vim-go の作者である fatih さんの vim-go 開発話.

go 周りの細々したプラグインがたくさんありすぎて導入が辛かったり, 使い勝手も良くなかったりしたので vim-go を作った.
go で開発するための便利機能をバンバン付け加えてきた, その軌跡を紹介する発表だった.
vim の help はシンタックスがひどくて書くのがつらい, markdown サポートが欲しいという話もあった。

Talk show (mattn_jp さん, k_takata さん, kaoriya さん)

御三方が Vim を使い始めたきっかけや, お気に入りのパッチやプラグインなどについてお話されていた. k_takata さんが lexima いいですねって話されていたので私も入れてみた.
また terminal を入れるのを渋っていた Bram が, ある日突然 terminal 便利だねって言い始めたという面白エピソードも良かった.

Creating your lovely color scheme (cocopon さん)

speakerdeck.com

半分プログラマ, 半分デザイナだという cocopon さんが Vim のカラースキームの作り方を解説する話. 個人的にはこの日のベストトークであった.

各 syntax は何らかの syntax group に属しており, highlighting (色の定義) は syntax group と, その他の UI components に対して適用される. この highlighting definition のセットが color scheme である.

そして, "lovely" な color scheme の作り方について, cocopon さんが作成した "Iceberg" を例に取り解説する, というものであった.

また cocopon さんが気に入った color scheme を閲覧するために構築した colorswat.ch/vim なるサイトの紹介もあった.

全体を通して cocopon さんの color scheme オタクぶりが伝わる大変面白い発表であった.

vim-mode-plus: The most ambitious vim emulator in the world (t9md さん)

qiita.com

Atomプラグイン vim-mode-plus (vmp) の作者 t9md さんによる, vmp の機能紹介と開発哲学のお話.
Occurrence を使ってテキストをサクサク編集していくデモが格好良かった.

Vim and Compatibility (senopen さん)

Vim and Compatibility

POSIXism に骨の髄まで染まった senopen さんによる, 現在サポートされている全ての POSIX 準拠 OS で動く .vimrc を書くにはどうすればよいかを解説するという発表.
発表時間の半分はエンコードに関する話題のために割かれており, エンコードの闇, POSIXism の闇を垣間見て, たいへんつらそうという感想が残った.

neosnippet.vim + deoppet.nvim (ShougoMatsu さん)

www.slideshare.net

暗黒美無王 Shougo さんがスニペットプラグインについて語る話.

neosnippet はマーカーをバッファに挿入するタイプの実装で, これは実装は楽だが, 以前のマッチに戻るという動作を実装するのは非常に難しかった. また Vim script で書かれておりパースが遅かった.
対して deoppet は Extended Marks という, バッファの変更を自動的に検出してくれる機能を利用している. これによりマッチへのジャンプが forward も backward もできるようになったそうだ. ただしこれは neovim の機能であるため, 現在のところ deoppet は neovim にしか対応していない. またコードも 300 行ほどの Python 3 になったそうだ.

発表の最後に, deoplete が Vim 8 に対応したこと, そのため neocomplete の開発は終了することがアナウンスされた. これは嬉しかった. 早速私も deoplete を入れた.

How ordinary Vim user contributed to Vim (dice_zu さん)

speakerdeck.com

「ふつうの」Vim ユーザであるという dice_zu さんが「情熱」によって Vim のコントリビュータになるお話.

dice_zu さんは辞書補完機能が好きで, その機能周りのバグを発見し, ちょうどそのころ VimConf 2016 直後でモチベーションも高まっていたこともあり, 小さなパッチを送るようになった.
バグフィックスは merge されやすいので, 自分の得意なところでバグフィックスを送ることから始めてみると良い, vim-jp の方々も助けてくれるから, とのことだった.

また職場の中に Vim の話ができる同僚のいることもモチベーションを保つのに重要だったということ, バグを探すというと難しそうに聞こえるかもしれないが, 毎日 Vim をビルドしていると意外とバグには気付くものだということもお話されていた.

The new syntax highlighter for Vim (p_ck_ さん)

speakerdeck.com

VimRuby を書いている p_ck_ さんが新しい syntax highlighter である iro.vim を作った話.

一行の文字数が synmaxcol に設定された数以上になると Vim は syntax highlight を諦めてしまう, というのは知らなかった.

You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim (lambdalisue さん)

Keynote

Git のコマンドを Vim 上から実行できる gina についてのお話.

lambdalisue さんの定義によれば, Super Viman 2 とは CLI のコマンドを Vim のコマンドで置き換えてしまう人のことであり, さらにその次段階である Super Viman 3 はデスクトップアプリを Vim のコマンドで置き換えてしまう人のことだそうである.
個人的には Super Viman 3 という概念は受け入れやすく, VimConf に参加している方は皆 Super Viman 3 になれる世の中を望んでいてもおかしくはないと思う.

エモ

全体を通して, 私も何らかの形で Vim にコントリビュートしたいという気持ちが高まった. 同時に Go を書きたい気持ちも高まった.

感謝

VimConf 2017 は大変良い会議でしたが, 準備も非常に大変であっただろうと思います.
運営スタッフの皆様, ありがとうございました.