vibing.nvimの振り返りとこれから

vibing.nvimの振り返りとこれから

はじめに

vibing.nvimという、nvim上でClaudeCodeをいい感じに使えるようにするプラグインを去年開発しました。
個人的にとても勝手が良く普段遣いしていて、ClaudeCode本体はアプリもcliも使わなくなっていました。 が、6月からclaude -pおよびAgent SDKがサブスク利用から外されてクレジット制となってしまいました。
vibing.nvimはclaude -pを使用しているので、これからどうしようかなーと考えているところです。
それにあたって、ここまで使ってきた感想を一度まとめて、今後の方針を考えたいと思います。

何が良かったか

mdファイルでのやり取り

決定的に使いやすかったのは、mdファイル形式でチャットのやり取りができる点です。 セッションのすべてのやり取りがmdファイルに記録されるので、telescopeで検索することもできるし、セッションをファイルとして保存しておくこともできます。 nvimを介しているのでレンダリングも綺麗です。 ファイル名はコマンドうつと自動で生成されるので、後からどのセッションを再開すれば良いのかがわかりやすいのも良かったです。 あと変更をしたファイルはフルパスで書かれるので、gfコマンドで即ファイルを飛べるのも便利でした。
他のAIアシスタントプラグインのようにterminalバッファを使わなかった理由としては、nvimのショートカットとClaudeCodeのリッチなショートカットの相性が最悪だったからです。 お互い奪い合ったりして、なかなかうまく使いこなせませんでした。 mdファイルを介するようにしたのですべての操作をnvimの世界に閉じれたのも良かったですね。

neovimの資産が使える

上でも書きましたが、telescopeなどのプラグインやnvimのショートカット資産がそのまま使えるのはとても便利でした。 補完も効かせられるし。

見てほしいファイルと行数を即チャットバッファに流せる

:VibingContextというコマンドを提供していました。 これは、選択行の行番号とファイルパスをclipboardにコピーするもので、そのままチャットバッファにペーストすれば、ClaudeCodeに「このファイルのこの行を見て」と指示することができます。 別にvibing.nvim固有の機能ではないですが、この形式でコピーできるととても指示がしやすいです。 公式のcliやdesktopアプリだと当たり前ですがこの形式でのコピーを提供していないので、いちいちファイルパスやコピー行を手書きする必要があるのが不便でした。 (Desktopの方最近リニューアルしてファイル見れるようになったのに、なんで選択行をコンテキストに乗せる機能が入ってないんだ...)

無くても良かった機能

インラインチャットは使わなかった

:VibingInlineというコマンドを提供していました。 チャットバッファを開かなくても、コードの行に直接チャットをつけられる機能です。 他のAIアシスタント系のプラグインを参考に付けてみたのですが、全く使わなかったですね。 前述の:VibingContextで十分でした。

意外と振り返らない

:VibingDailySummaryというコマンドを提供していました。 指定した日付二更新があったチャットバッファを走破して、日報を指定したディレクトリに吐き出す機能です。 後からClaudeに日報を読ませてルール化だったりするのに使えるかなと思って作ったのですが、あまり振り返らないことに気が付きました。 気になるところがあったらそのタイミングでチャットバッファ経由でルール化指示してましたね。
あと、チャットバッファも対して過去のものを見返すこともあまりなかったです。 いろんな作業を並行して、かつ時間をおいてやることが多いので、それを探しやすかったのはありますが、 その作業が終わったらファイルを永続的に置いておく必要は、少なくとも僕の運用ではなさそうです。

これからどうするか

...ということで、やっぱりnvim上でこれからも開発をするのであれば、vibing.nvimは手放したくないなと思っています。 今のままだと使えなくなってしまうので、なにかしらの対応が必要です。 いくつか選択肢は在ると思っていて、
  1. Codexでも使えるようにして移行する
  2. tmuxでClaudeCodeを起動させて、vibing.nvimと通信する
  3. vibing.nvimを使うのをやめて、ClaudeCode cliを使う開発スタイルに戻す
とかでしょうか。
3.もありかなと思って今リハビリ中ですが、並行して1.2.も検討しています。 1.に関しては、機能は今とちょっと劣るものの、PoCはできてリリース済みなので、どうしても他の案で上手くいかなかったらClaude解約してCodexに乗り換えですかね。
代案として2.も検討していて、チャットバッファを開くタイミングでtmuxのセッションを作成、その上でClaudeCodeを起動させて、tmuxのコマンド経由でチャットバッファとやり取りするという方法も考えています。 今試している最中ですが、AskUserQuestionのような、ユーザーからの入力を待つ必要があるコマンドがあったり、見た目が割とコロコロ変わるので、パースが難しいということがわかりつつあります。 これが上手くいく、かつ、ClaudeCodeの変更に強く作れるのであれば最適解かなと思うのですが、うーんどうかなぁ...

おわりに

ということで、vibing.nvimを開発して、僕個人としては初めて他の方からstarをもらえたりして、思い入れの強いプラグインとなってしまいました。 これからも使い続けたいなと思っているので、引き続きどうするか検討していきたいと思います。