🦔

技術コミュニティ仲間(vim-jp)と3泊4日の開発合宿に行ってきた

に公開

こんにちは!
株式会社イノベーションでSREをやっている発火大根と申します!

2025年5月3日から5月6日の4日間、技術コミュニティ仲間(vim-jp)の8人で開発合宿に行ってきたので、そのレポートをします!

vim-jpとは?

「テキストエディタ(Vim)と日本・日本語に関わるあらゆるリソースを集約することを目的としたコミュニティ」です!
メンバーは主にSlackでやりとりしており、どなたでも参加することができます。
https://vim-jp.org/docs/chat.html

Vimの話題だけでなく、以下のように多種多様な話題があります:

  • VSCodeやEmacsなど、別のエディタの話題
  • C/C#/Go/Rust/Java/Python/Ruby/Zig/Haskell/JavaScript/PHPなどのプログラミング言語の話題
  • セキュリティ/OS/AI/Webサービス/技術書/ハードウェア などの技術の話題
  • 漫画/アニメ/スポーツ/音楽/謎解き/旅行/ボードゲーム/グルメ などの娯楽の話題
  • 子育て/お金/職探し などの話題

そんなコミュニティの面白さを生かして、tomoyaさんという方が「エンジニアの楽園 vim-jpラジオ」を立ち上げ、毎週月曜に配信されたりもしています。
https://vim-jp-radio.com/

vim-jp合宿とは?

vim-jp slackでアクティブに活動している以下の8人で、千葉県の南房総にある合宿施設(voido)を借りて合宿しました。

元々、発起人のthincaさんとVimのイベントの帰りに「合宿をやろう」と2024年12月頃から話しており
2025年2月末ごろから宿を本格的に探し始めました。

既に宿も埋まり始めている中、安くて設備も充実しているvoidoさんを見つけることができました。

何をやったか

私は以下のOSSを組み合わせて、VimからBlueskyのタイムラインを取得するPoCを開発していました。

denops.vimについて

denops.vimは、Denoを使ってVimプラグインを開発できるエコシステムです。
Vim/Neovimのプラグインは通常Vim scriptやLuaで書きますが、

  • Vim script
  • Vim9 script
  • NeovimのVim script
  • Lua

で動作環境が異なり、それぞれの環境で動作するプラグインを作るのは大変です。

私は去年、Blueskyの投稿を見れるPoCコードをLT会で発表しましたが
この時のコードはNeovimのVim Scriptと外部CLIツール(indigo)に依存していました。
https://speakerdeck.com/hakkadaikon/si-kao-nosu-sadeshi-ukuraianto-vimkuraiantozuo-tutemita

denopos.vimであればVim Script側の依存を最小限に抑えられ、多くの環境で動作するVimプラグインを開発することができます。

また、denops.vimの公式サイトには非常に分かりやすいチュートリアルが記載されています。
https://vim-denops.github.io/denops-documentation/install.html

bsky-social/atprotoについて

bsky-social/atprotoは、Bluesky社が開発したATProtocolと呼ばれるソーシャルネットワーク開発用プロトコルのプロトコルスタックです。
今年ユーザー数3500万人を超えた話題のSNS, Blueskyの開発に使われています。

このプロトコルスタックを使わずともBlueskyの投稿を配信しているWebSocketサーバーがありますが、CBOR(RFC8949)と呼ばれる形式でエンコーディングされており
デコード処理を1から作るのはボリュームが大きいため、上記のライブラリを使うことにしました。

ハマりポイント(LanguageServer)

Denoは初めて触るため開発環境の構築から始めたのですが、DenoのLanguageServerとTypeScriptのLanguageServerが競合する問題がありました。
「deno.jsonがあるかpackage.jsonがあるかで、起動するLanguageServerを呼び分ける」という技を教えてもらい、解決しました。
参考記事:
https://zenn.dev/kawarimidoll/articles/b202e546bca344#有効化切り替えの設定

追伸

今回の合宿で開発したものは、改善した上で2025/5/31に開かれる以下の勉強会で発表する予定です。
https://gorillavim.connpass.com/event/353161/

交流もしっかりやった話

開発だけじゃなく、しっかり交流もしました!

皆ですき焼きを作って食べたり、

ボードゲームをしたり、

ライブコーディング対決をしたり、

BBQをしたり、


朝までAIや推しの技術について語ったりもしました。(2日連続)

まとめ

TypeScript修行

今回の合宿で、denops.vimを通して「TypeScriptをもっと書けるようになりたい」というモチベーションが生まれ、勉強し直しています。
(実際、denops.vimからTypeScriptを学んだ方は合宿メンバーで複数名いました。)

弊社では技術顧問で来ていただいているつよつよフロントエンジニアに相談できる機会があるので、色々聞いてみようと思います。

弊社のVim活用状況

弊社ではVimmerは少ないようだったので、Vimも普及させたいと思っています!
(無投票の方もいるので、もう少しVimmerがいる可能性もある)

集計結果(投票しやすいように1-6の絵文字スタンプがあらかじめ押されている)

vim-jpでも、VimとAI対応エディタを併用して使っている方をよく見かけます。
ちなみに、弊社なら会社負担でDevinも使えますヨ。

終わりに

  • Vimはいいぞ
株式会社イノベーション Tech Blog

Discussion