🎉

vimconf2024参加メモ

2024/11/24に公開

For English, see here.

VimConf2024に参加した感想メモ

VimConf2024に参加したときのメモ。
あまりにも満足度が高かったため、VimConf2025に参加してみたい人が増えることを願いメモ。

会場入り

早めに会場のある秋葉原に到着。
設定することに対する感謝の念を再確認するため 時間調整のため喫茶店へ移動し、 ale.vimでBiomeが動作するところまでいじる。最近、coc.nvimのFormatterでエラーが出ることが多く、LinterとFormatterの部分を切り分けたかったというのがあった。とりあえずdenoで動いたことに満足して会場へ。

事前に名札を用意していたものの、会場で自分のアイコンがついた名札をもらえた。

で。
名札をビニールホルダーにセットするところで盛大につまづく( ;´。 `; ) 幸先のよろしくないスタート。

Opening by mopp

通訳が復活していたことに感謝する。日本人の話す英語は単語単位でどうにか意味は理解できるが、ニュアンスがわからないことが多いため、通訳があると安心。

Keynote: The new Vim project - What has changed after Bram by Christian Brabandt

Bram氏がどれほど素晴らしい仕事をしていたのか、そして引き継いだVimメンテナチームの大変さが再確認。

Vimのバージョン管理やサイト管理の話、ウガンダ寄付活動など、Bram氏が1人で担っていた役割の多さに驚く。vim.orgやFTPサーバなど、あって当たり前のように享受していたものの、ちょっと考えれば誰かがやっているはずなのだ。そしてそれをChristian氏やメンテナチームが引き継ぐ大変さにため息が出そうになる。

vim.orgのFTPサーバ運用や、Googleグループでの議論など、過去の管理方法からより近代的なコミュニティへの移行が進んでおり、時代の変化なのかなと気になる。
VimコミュニティがBram氏の後も続いていけるように、俗に言う優しい終身独裁官から共和制へと移行していっているのかなという印象。

Christian氏が複数回触れていた、 コミュニティの健全性 というキーワードが印象に残る。このままいってほしいし、できることがあれば貢献したいなと思わせていただいた。

質疑応答で出た、「初心者がVimコミュニティに貢献するには?」という質問に対して、「Vimconfに来ている時点で貢献している」という回答が素晴らしい。

Keynote: Vim Made Me a Better Software Developer by TJ DeVries

TJ氏については、telescope.nvimを開発したすごい人くらいのふわっとしたイメージしかなかったのだけれど、発表のうまさに驚く。Youtube活動もしているらしい。

問題を解決する、というキーワードが複数回出てくるたびにYak Shaving大好きな自分はうっ頭が…となっていました…。
問題解決というキーワードは、表現は異なるけれど複数の発表者から出ていたので、良いプロダクトを作る開発者の価値観なのだなとうなずく。こういう話は何度も聞いて、折に触れて再確認したいところ。 隙あらばYak Shavingしてしまう 目先の忙しさにかまけてしまうことがないように。

Vimプラグインを自分の問題を解決するために作ることで、自分が最大のカスタマーになるというのはなるほどとなる。
自分というカスタマーに誠実に対応すること はVimプラグインを作るときの強力な指針になった。

Lunch

Vimconf特有の豪華なお弁当。余っていたのでもらおうかなと考えるものの、2つ目を食べると爆睡してしまいそうだったので自重する。

Mastering Quickfix by daisuzu

Quickfixの便利さとその使い方

Vimのなかでトップクラスにぴんとこない機能Quickfix(N=1)について、基礎から実用例までの発表。

cdoコマンドを使ってQuickfixリストに対して処理を行えることや、Quickfixの状態を保存できることを学び、なにもわからん…→触ってみてもいいのかな、くらいに進歩。

quickfixによって、cnextで範囲を固定できるようになることで、マクロで誤爆を防ぎつつ一気に処理ができる という発想は応用が利いて有用だと理解できた。これが最大の学び。

Hacking Vimscript by Kota Kato

Vimのコードを実際に触る経験の重要性

ctagsが現役という話に衝撃を受ける。

VimのコードにLSPではジャンプできないことがあるといった、実際に触ったからこその現実感ある話が印象的でした。

Switch between projects like a Ninja by Yuki Ito

腹痛が発生し発表の途中で離席…。後で資料を読む…。

Vim meets Local LLM: Edit Text beyond the Speed of Thought by yuys13

ローカルLLMとVimの連携の可能性

ollamaなどのLLMの利用についての発表で、FIM(Fill in the Middle)という新しい発想が興味深い。
ChatGPTを使うときも、FIMで〜してと指示を出すと、いい感じに出力が得られるケースがあるのでは?とあれこれ考えてしまう。

また、extmarkを使ってvirtual_textを扱う方法も非常に勉強になりました。Copilot.vimの補完候補ってこれで出していたのかと納得。

Creating the Vim Version of VSCode DevContainer Extension: Why and How by mikoto2000

DevContainer.vimの開発についての発表で、これは開発大変だっただろうなぁ…と思いつつ聞いていた。

DevContainerはVSCode専用の機能だと思い込んでいたけれど、そんなことはなかった。

コンテナ内で引きこもって作業するメリットについては、docker execごしにユニットテストしていたものが、素直に実行できるようになるのはいいのかなと思いつつも、他に便利なケースが思いつかず。もう少し便利な具体例を知りたいところ。

Neovim for Frontend Developers: Boosting Productivity and Creativity by ryoppippi

VSCodeの弱点はVimではない ことを再確認(誇張表現です)。

Neovimの利点を活かしたフロントエンド開発の話で、とにかくしゃべりが上手く面白い。日本のTJ氏枠発表といった感じ。

tmuxセッション切り替えの代わりにuga-termを使うといった工夫や、nvim-insxやoil + sonictemplateの発想がとても参考になる。

vimとブラウザ連携したプラグインを見て、自分が作りたいプラグインのヒントがあったことに、やるぞウォォォォという気持ちになる。

Building Neovim Plugins: A Journey from Novice to Pro by 2KAbhishek

プラグイン開発者として熟達してゆく過程についての発表。

高度でなくても良い、ちょっとしたことでも問題解決に役立てば良い、という考え方は少し自分を楽にしてくれた。

最後のユニットテストを書こうというところは…まぁ…そうねえ…がんばります…。

Can't Help Falling in Vim ~ Wisemen say only fools reinvent the wheel, but I can't help building yet another fuzzy finder: Fall by Λ lisue

Fuzzy Finderについての新しい発表。

fzf-previewを使用していた経験があり、その発展形ともいえる「Fall」にとても興味を惹かれました。

ねっとり発表を通訳者の人がエミュレートしようとするご尽力に吹き出してしまいそうになりつつも、これがプロかとも考えてしまう。

発表中、レイテンシとスループットというキーワードが出てきて、教えていただいたものの、得心がいっていないので、あとで調べる。

The latest dark deno powered plugins by Shougo Matsushita

設定こそ、己れの寄るべ、設定を措(お)きて誰に寄るべぞ、
良く整えしVimこそ、まこと得がたき寄るべなり

Lightning Talks (5min x 6)

ドラをスッ…と構える所作だけで笑いそうになっていたらいつのまにか全LTが終わっていた。
AppleWatchアプリを作りたいぼやっとしたイメージがあるため、Neovim+Swifitはあとで動画を見ることとする。

Closing by mopp

クロージングでは、多くの拍手が送られる。運営スタッフのご尽力により成立したイベントなのだなとうなずく。

参加者の集合写真は、中腰で肩を組んだ姿勢を維持したら背中の筋を痛めた 熱量の高いVimmerがこんなにいることに感動。

Afterparty

自作キーボードについての話を聞いたり、普段使っているプラグインに感謝を伝えたり、前回のTinyではできなかったことが達成できた。

懇親会最大の衝撃は、話をしていた人が、自分が進めていたものの放置していたnvimdoc-jaのヘルプファイル翻訳にコミットしていただいていた人だった。
世間は狭いという驚きと、JustDoItできていない申し訳なさの両方が生じて酔いが吹き飛ぶ。再開すると言ってしまったので再開しないと。できないことではないのだ。

After After Party

Next: VimConf2025へ向けて

VimConf2024、いろいろと刺激を受けたイベントであり、満足。

VimConf2024でのTODOリスト

  • nvimdoc-ja復活。ファイル1つ翻訳再開を目標
  • neotest導入
  • vimからブラウザをリロードするプラグイン作成

がんばります。

Discussion