AIを使ったら1時間かからずにVimプラグインが作れた話
この記事はVim駅伝の2025-07-02の記事です。
前回の記事はtoyboot4eさんの速記キーボードで Neovim がしたい?!でした。
Vim駅伝は常に参加者を募集しています。詳しくはこちらのページをご覧ください。
はじめに
最近、claude codeの登場でtmuxやVimが改めて盛り上がっているように感じますね。
このタイミングで自分自身のvimrcを見直しており、AIを活用してシンプルになるように作り込んでいって、ある程度納得のいく形になってきました。
vimrcを整理しながら、ふと「Vimで自分のコマンドをすぐ参照できるヘルプシステムが欲しいな」と思い立ち、AIと一緒に開発を始めたところ、わずか1時間でVimプラグインが完成してしまいました。
正直、自分でも何が起こったのか理解できていません。コードの詳細もまだ把握しきれていません。でも、確かに動くプラグインができたのでGitHubに公開しています(プラグインを作るのも初めてです)。
今回使ったのは、Claude Desktopになります。
実際に出来上がったプラグイン
↓ こちらは最初のバージョンで1時間かからずに出来上がりました。
現在は上記のバージョンから更新されています。デザインや機能を色々試したりで2時間くらいはかけたと思います。
- 各セクションごとに画面移動するのを廃止し、一覧画面に全セクションを表示
- テーブル表示だと折返しの関係で表示が崩れるため、ミニマルなリスト表示へ変更(私のプロンプト力だと横スクロール対応が難しかったです…)
きっかけ
普段Vimを使っている中で、こんな悩みがありました。
- コマンドをよく忘れる
- 自分用のチートシートが欲しい
- でもターミナルを離れたくない
そこで思いついたのが「Vimの中でポップアップでヘルプを表示できたら便利じゃない?」というアイデアでした。
開発の流れ
1. 要件を伝える
最初にAIに伝えたのはこんな内容でした。
- vimのhelp機能を作りたい
- フローティングウィンドウで表示したい
- markdownのテーブルで管理できて、テーブルのボーダーが揃う
2. 最初のAIからの提案
AIが提案してきたコードは、markdownのテーブル形式ではありませんでしたが見た目もいい感じで好みだったのでAIが提案してきたデザインを採用することにしました。
╔════════════════════════════════════════════════════════════════╗
║ File Operations ║
╠════════════════╪══════════════╪══════════════════════════════════╣
║ Command │ Description │ Notes ║
╠════════════════╪══════════════╪══════════════════════════════════╣
║ :e **/*<Tab> │ ファイル検索 │ 補完付き、遅い場合あり ║
3. 改善のやり取り
でも、実際に使ってみると問題が見つかりました。
- 日本語でテーブルがずれる
- スクロールができない
- helpの中身をハードコードではなく、自分で設定できるようにしたい
- vim9scriptに対応したい
これらの問題を一つずつAIに伝えると、すぐに改善案が返ってきました。
4. プラグイン化
「これをプラグインとして公開したい」と伝えると、以下が揃いました。
- README.md
- プラグインの実装
- ドキュメント
あとは微修正を加えて、プラグインとして公開しました。
まとめ
好奇心からAIにお願いしてみたら、Vimプラグインが1時間かからずにできてしまったので正直衝撃だったので勢いでこの記事を書いてみました。
プラグインを公開したものの、正直なところコードも理解できていない状態なのでこれから自分で使いながら仕組みを理解したりもっと使いやすい形にしていければなと思っています。
また、完成後の修正については全てcalude codeに修正してもらいましたが、プロンプトを与えるだけで自動でコード修正からREADME.mdやdocの修正を行ってくれるのでとても便利でした。デザイン周りや機能周りについてはすぐにたたき台を実際に作って試すことができますし、試したうえで最終的にはシンプルな形に落ちついたので納得のいく形になったと思います。
Discussion