Zenn
🐷

NeovimとVSCodeを並行運用してAIコーディングの波に乗る

2025/03/22に公開

近年、AIエージェント機能を搭載したツールが次々と登場し、開発現場でも注目されているかと思います。特に、VSCodeエコシステムをベースにしたエディタや拡張機能(例:Cursor、Windsurf、Clineなど)が市場で覇権を握りつつあります。しかし、Neovimユーザーとしては、VSCodeへ完全に移行するのは容易ではありません。
そこで、Neovimから他のVSCode系エディタへの移行をせずにAIコーディングの波に乗る方法の一つを紹介します。

Neovimから完全移行しづらい理由

  • Neovim独自の効率:
    AI関連の機能以外ではNeovimを使用したほうが効率が良いと考えているか、どうしてもNeovimでしか使えない機能やプラグインもある

(Neo)vimからVSCodeへの移行など、メインのエディタを移行しようと考えたことのある方ならわかると思いますが、ほとんどの場合メインのエディタはそれ以外のエディタと比較すると圧倒的に編集速度が速いです。Neovimだからこそ思考の速度で編集できていたので離れがたい、という人も多いでしょう。

  • 学習コストの問題:
    今からNeovimと同じように「思考の速度で編集する」ことができるほどにVSCodeの機能やキーバインド、カスタマイズをして習熟させるのは億劫

Neovimからエディタを移行しない選択肢として、Neovimで使えるAIエージェント機能を持つプラグインや、ターミナル内で独立して動作するAiderのようなツールもありますが、トレンドであるVSCode系のツールの進化についていけなくりそうなのがつらいです。

関連:
https://zenn.dev/acro5piano/articles/1d900a93c608e1

NeovimとVSCodeを並行運用する選択肢: vim-shareedit

これらの背景から、私はNeovimとVSCodeを並行運用することに決めました。日常使いは今まで通りNeovimにしつつ、AI関連の機能を使うときにはVSCode(CursorやCline)を使います。
ただ、なにも工夫せずこのような運用をすると、Neovimで開いていたファイルをすぐにVSCode側でAI編集の対象にしたいのに、手動でNeovim側で開いているファイルパスをコピーしてVSCodeで開く(またはAIチャットのメンションの対象にする)という操作が必要になります。
このような手動操作は、効率を求めるVimmerにあるまじき行動だと考え、ソリューションとなるvim-shareeditというVimプラグインを作りました。

https://github.com/kbwo/vim-shareedit

このプラグインを利用することで、NeovimとVSCodeの両方のメリットを享受することが可能です。

使い方は リポジトリのREADMEや ドキュメントを参照してください。

vim-shareeditでできること

このツールを使うとNeovimとVSCode間で、開いているファイルとカーソル位置が相互に共有されます。

これを利用すると、日常使いはNeovimにし、AI関連の機能を使いたいときにVSCodeにスイッチするということがやりやすくなります。
非常にシンプルな機能ですが、私はこれを使うことで、NeovimとCline+Cursorを併用することができ、Neovimを使用しながらも快適なAI Poweredコーディングライフを送ることができています。

実装の中身はNeovimとVSCode間でカーソルの移動などのイベントのたびにWebsocketでカーソル位置を共有しています。
このようなプラグインをDenoで楽に作れるようになったのはdenops.vimのおかげです。
(ちなみに、もともとはこの設計を利用して、VSCodeを経由してVimmerがVSCode LiveShareに参加する機能を作っており、そこからコードを移植してきました。)

まとめ

vim-shareeditを利用すれば、今までNeovimの設定で溶かした時間を無駄にせずに昨今のVSCodeベースのAIコーディングの波に乗れます。
もしVimmerだけどVSCodeに乗り換えたくないと思っていたらぜひ使ってみてほしいです。

以上、自分のために作ったツールですが思いのほか他の人にも役立ちそうな気がしてきたので紹介の記事でした。

Discussion

ログインするとコメントできます