2024-11-24

VimConf 2024 参加記

VimConf 2024 に参加した。

VimConf 2024

vimconf.org

Tell us how do you love Vim, what do you want to achieve with Vim, what practica…

きっかけは技術書典 17 で @hakkadaikon さんに誘われたため。Vim の本を書いたんだし行くしかないと思い参加。
VimConf は 2017 年に参加したことがあったため、実に 7 年ぶりの参加だった。

受付が 10:00 までと朝早かった1が、無事起床に成功して辿り着けた。

会場の雰囲気

会場はアキバプラザ・アキバホール。秋葉原駅から徒歩 3 分ほどの距離だったので行きやすくて良かった。
Google Maps に別の秋葉プラザに案内されて 15 分くらいかかったので、皆さんは気をつけてください。

会場は広く、席にはコンセントがあり Wi-Fi も完備なため、非の打ち所が一切なくとても快適だった。

あと割とどうでもいいのだけど、椅子の座面が前後に傾くのが面白かった。深く腰掛けたいときは座面が後傾するし、集中して前傾になっているときは座面も前傾するので、座っていて疲れることがなくとても楽だった。

日本語から英語だけでなく、英語から日本語の通訳があったのはとても助かった。まだ英語は聞き取れないし、かろうじて聞き取れそうなものでも聞き取ることに集中しすぎて内容の理解が二の次になるので、通訳があるだけで話の内容に集中できた。

リアルタイム文字起こしも Web から見られた。一瞬集中がそれて聞き逃したときもすぐに話が理解できてとてもよい体験だった。
これは他のカンファレンスでもぜひ取り入れてほしい。精度は高くなくても話の軸だけわかればよいので。

また、セッションが連続していたが 1 時間ごとに 15 分休憩が挟まるので適度なバランスで良かった。15 分という休憩時間だとお手洗いも余裕を持って済ませられた。

ランチも美味しかった。VimConf は弁当のクオリティが高くてよい。量も眠くならない程度でよかった。

実況は vim-jp Slack#event-vimconf が盛況だった。昨今は人々がいる SNS が分散してしまったが、Slack に一同が集結していたため追いやすかった。セッションの補足情報が得られたりして勉強にもなった。2

セッション

どのセッションも新たな知見を得られて面白かったのだが、中でも興味深かった一部を抜粋して紹介する。

Keynote - The new Vim project - What has changed after Bram (Christian Brabandt)

Bram 氏を継いで Vim のメンテナーとなった Christian 氏のセッション。
Bram 氏の脳内にしかない情報があったり、ホームページの PHP や SSL 証明書の更新といった Vim 本体以外の運用だったりと、メンテナーの大変さを垣間見られた。

質疑応答では Neovim の隆盛に対しての意見を求められていたが、好意的に捉えられているようでよかった。
いち Neovim ユーザー (元 Vim ユーザー) としてはコミュニティの分断が起きそうで不安だったのだが、Neovim との互換性も維持したいとも答えられていて、非常に安心した。

Keynote - (Neo)Vim Made Me a Better Software Developer (TJ DeVries)

Telescope.nvim の作者である TJ DeVries 氏のセッション。Vim に直接関係する話ではなく、ソフトウェアエンジニアとしてのキャリアを説くいい話だった。

特に印象に残っているのは、ソフトウェアエンジニアリングはマラソンだということ。短期的な改善が福利で伸びていくというところが刺さった。つい Vim などの設定ファイルをいじりがちな自分にとって自己正当化できる言葉だなと思った (?)。

とにかく手を動かすことが大事ということも強調されていた。スポーツにおいても本を読んで知識をつけるだけでは上達せず、実際に体を動かしてスキルを習得して上達するもの。たしかに、ソフトウェアエンジニアリングにおいてもドキュメントや本などの情報にあたるだけでなく、手を動かしてようやくわかることも多くあるし、本当にその通りだと感じた。

そのために (Neo)Vim プラグインのようにソフトウェアエンジニアリングできる遊び場を用意すると良いとも仰っていた。自分も自分にとって便利になるものを作ってきて今があるし、深く共感できる話だった。そしてこれを正当化しても良いんだなとなんだか許された気分になった。これからも Vim (をはじめとする自分の開発環境) いじりは胸を張って続けます。

Creating the Vim Version of VSCode Dev Container Extension: Why and How (mikoto2000)

VS Code の devcontainer を Vim でも使えるようにプラグイン (devcontainer.vim) を作った、という話。

普段自分は (Neo)Vim しか触っておらず VS Code に明るくないため、devcontainer はなにか便利そうという印象はあるけど謎に包まれている存在だった。それがこの発表を通じて Vim でも実現できる方法とそのアプローチを聞けて、devcontainer に対する解像度が上がった。

特に印象に残ったのは、devcontainer.vim で作成した Vim とホスト PC でクリップボードの共有ができないという課題に対し、クリップボードを共有するためのサーバーを用意したという話。rubocop-daemon とアプローチが似ていて3、なかったら作るという力技感も似ていた4ので、非常に親近感を覚えた。

懇親会でお話させていただいたのだが、devcontainer は VS Code 専用の技術ではなく仕様がオープンになっていると知った。そのリファレンス実装として devcontainer.vim でも利用している devcontainers/cli があるとのことだった。

devcontainer は夢の技術というよりかは Docker wrapper という印象も受けた。開発用コンテナイメージやコンテナを用意するのは大変だから、エディタと通信する部分などの基盤を用意しておいたよ、という印象。まだ触ったこともない技術なので理解は曖昧。

LT

RubyKaigi LT を彷彿とさせる、5 分厳守でタイムオーバーしたら銅鑼が鳴らされるシステムだった。

Nix の発表はあらためて Nix に挑戦してみようかなと思わされた。Nix は過去に一度導入しようと思ったものの、やりたいことの実現方法がわからず詰まり挫折していた。そんなところに vim-jp Slack には #tech-nix チャンネルがあるとのこと。気軽に聞ける環境があるし、これなら再挑戦してもよさそうだと感じた。

Vim プラグインのテストを書く話は非常に興味深かった。ちょうど Neovim の E2E テストを書いて CI 回したいと思っていたので、LT では時間切れになってしまい残念だったが、ぜひ LT ではないセッションでじっくりと聞きたい内容だった。

最後に

冒頭で述べたように VimConf 2017 ぶりの参加だったけど、良い意味でゆるさなどの雰囲気が変わっていなくてよかった。Vim 熱を高めさせてくれる刺激的なイベントでした。

運営の皆さまもお疲れさまでした。特に懇親会で会話デッキ (物理) を用意していたのがよかった。それ自体にウケもあるし、実際ネタに困ったら使えるアイスブレイクとしてとても良い試みでした。

次回の開催が決定した暁には登壇側に回れるようにネタを仕込んでおこうと決意した一日でした。

Footnotes

  1. 10:00 で朝早いと思っているのは (人として) どうなのという意見もある。

  2. 特に勉強になったのは :h v_CTRL-A:h v^a でも開けること。Vim 本書くときに help 参照しまくっていたので、そのときに知りたかった知識。

  3. https://speakerdeck.com/fohte/rubocop-server-mode-noshi-zu-mi

  4. https://speakerdeck.com/fohte/rubocop-daemon-li-hua-oss-noku-nao?slide=20