「もはやCopilotなしでは開発できない」
「Cursorが体験として革新的すぎる」
「Clineこそ俺達が求めていたものだ!」
「とにかく新世代のAIエディターが最高!」
はじめに
開発者のタイムラインを開けば、そんな投稿で溢れかえっています。確かに、AIによる開発支援は革新的で、プログラミングの未来を感じさせるものです。特に最近では、単なるコード補完を超えて、より多機能なAIアシスタントとしての役割を担うツールが増えてきています。
実は、愛用のNeovimでもこうした最新のAI機能を導入できるんです。しかも、使い慣れたキーバインドやプラグインはそのまま。今回はavante.nvim
というプラグインを使って、NeovimをAIパワード開発環境へと進化させる方法をご紹介します。
このプラグインは、私たちvimmerにとって既に身近な存在であるcopilot.luaのような補完機能を超えて、より包括的なAI支援を実現します。コードの理解、リファクタリング、そして対話的なアシスタント機能まで、新世代のAIエディターが持つ機能をNeovimで実現できるのです。
これまでのvimmerは、copilot.luaのようなシンプルで効率的なコード補完ツールを活用してきました。しかし、新世代のAIエディターは、コードの解析、リファクタリングの提案、そしてより高度なコンテキスト理解を備えています。この進化に対して、私たちvimmerはどのように向き合うべきでしょうか?
でも、待ってください。私たち Vimmer はどうすれば...? 長年磨き上げてきたNeovimを捨てて、新しいエディターに移行しなければいけないのでしょうか?
いいえ、Neovimはもっと強くなれます。Neovimの最大の魅力は、その圧倒的なカスタマイズ性。それは単なるIDE(統合開発環境)ではなく、PDE(Personal Development Environment:個人開発環境)とも呼べる存在です。
まるで自分だけの剣を鍛え上げていくように、エディターと共に成長していける。そんな独特の魅力がNeovimにはあります。私たちは常にNeovimを進化させ、新しい可能性を追求してきました。copilot.luaがその一例です。そして今、avante.nvimによって、さらなる進化の時が来ています。
Neovim 以外の話はこちらです。
avante.nvim とは
avante.nvimは、Cursor AI IDEの機能を模倣することを目的として開発されたNeovimプラグインです。AI駆動のコード提案機能を提供し、その提案を直接ソースファイルに適用できる機能を備えています。上記のカテゴリーでいうとコーディングエージェントに近いものになります。
デモ動画
こういう経験がサクッと得られるのでよいです。 https://t.co/x7S08l06v9 pic.twitter.com/X4mvE2c2H7
— nwiizo (@nwiizo) 2025年1月7日
subを追加する例です。 https://t.co/x7S08l06v9 pic.twitter.com/EyjDkdzP9c
— nwiizo (@nwiizo) 2025年1月7日
Note: GitHub上にデモ動画がありますが、実際の動作の様子を簡単に説明させていただきます:
avante.nvimを使用すると、画面右側にAIアシスタントのサイドバーが表示され、現在開いているコードについて対話形式で質問や提案を行うことができます。コードの変更提案は差分形式で表示され、ワンクリックで適用することができます。まさにCursor AI IDEのような操作感を、Neovim上で実現しています。
実際の動作については、GitHubのリポジトリでも確認することができます。
特徴的な機能
- AIによるコードアシスタント: 現在のコードファイルについてAIに質問し、インテリジェントな提案を受けることができます
- ワンクリック適用: AIの提案をシンプルなコマンドで即座にソースコードに反映できます
- 他の生成AIとの連携: デフォルトのClaudeに加え、ChatGPTやGitHub Copilotを活用したコード提案が可能です
セットアップ方法
lazy.nvimを使用した場合の設定例を紹介します。avante.nvimはデフォルトではCursorのように高度なAI機能を利用するように設定されていますが、他にもChatGPTやAzureなども指定できますが今回はより手軽に利用できるGitHub Copilotをプロバイダーとして設定します。
これにより、Copilotのライセンスさえあれば、追加のAPIキーの設定なしでAI支援機能を利用することができます。以下が具体的な設定例です。
{ "yetone/avante.nvim", event = "VeryLazy", lazy = false, version = false, opts = { provider = "copilot", auto_suggestions_provider = "copilot", -- 動作設定 behaviour = { auto_suggestions = false, auto_set_highlight_group = true, auto_set_keymaps = true, auto_apply_diff_after_generation = false, support_paste_from_clipboard = false, minimize_diff = true, }, -- ウィンドウ設定 windows = { position = "right", -- サイドバーの位置 wrap = true, -- テキストの折り返し width = 30, -- サイドバーの幅 -- その他の詳細設定は省略 }, }, -- 依存関係の設定 dependencies = { -- 必須の依存関係 "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", -- オプションの依存関係 "hrsh7th/nvim-cmp", "nvim-tree/nvim-web-devicons", "zbirenbaum/copilot.lua", -- その他の拡張機能 } }
私の設定はこちらです。 github.com
主要なキーマッピング
デフォルトで以下のキーマッピングが利用可能です。主にこちらから利用していきます。
<Leader>aa
: サイドバーの表示<Leader>ar
: サイドバーの更新<Leader>af
: サイドバーのフォーカス切り替え<Leader>ae
: 選択したブロックの編集
他ブログでのavante.nvimの紹介
まとめ
開発者の間で「AIエディターこそが主流」という声が広がっていますが、Vimmerは愛用のNeovimを手放す必要はありません。avante.nvimの導入により、Neovimの使い慣れた操作性を維持したまま、最新のAI支援機能を活用することが可能です。特筆すべき点として、GitHub Copilotをプロバイダーとして使用することで、追加のAPIキー設定なしで高度な機能を利用できます。また、洗練されたサイドバーUIにより自然な開発ワークフローを実現し、<Leader>aa
などのシンプルなキーマッピングで直感的な操作を可能にします。
Neovimの最大の魅力である圧倒的なカスタマイズ性を活かしながら、このプラグインを通じてAIパワード開発環境へと進化させることができます。プラグインは現在も活発に開発が継続されており、今後さらなる機能追加が期待できます。PDEとしてのNeovimの魅力を保ちながら、最新のAI支援機能を活用したいVimmerにぜひお勧めのプラグインです。
最後に一言。「おい、お前、それは本当にvimmerか?」という声が聞こえてきそうです。しかし、私たちvimmerは常に進化を続けています。新しい技術を取り入れながらも、Vimの哲学と向き合い続けることもまた、vimmerの在り方の一つなのではないでしょうか。