Skip to content

Neovim + AI 活用ガイド:AI と対話する次世代のエディタ体験

Neovim の軽量・高速な操作感と、AI の強力なコード生成能力を融合させることで、開発効率は次元の違うレベルへと引き上げられます。本ガイドでは、現在のトレンドに沿った主要な AI 連携手法を紹介します。


1. 注目プラグイン:エディタの AI 化

Section titled “1. 注目プラグイン:エディタの AI 化”

現代の Neovim エコシステムには、Cursor や VS Code Copilot に匹敵(あるいはそれ以上)の体験を提供するプラグインが登場しています。

VS Code の “Cursor” のような体験を Neovim で再現することを目指したプラグインです。サイドバーでの対話や、コードの直接書き換え、リファクタリングを視覚的に行えます。

  • 特徴: diff 表示による変更確認、ファイルツリーのコンテキスト理解。

シンプルながら強力な AI 対話プラグインです。バッファ内のテキストを選択して AI に命令を出し、その場で置換や追記が行えます。

  • 特徴: 複数のモデル(GPT, Claude, Ollama)をシームレスに切り替え可能。チャットバッファを通じた継続的な対話。

GitHub Copilot の公式ノードベースの実装を、ピュア Lua で再構築したものです。

  • 特徴: インラインでのコード補全(Ghost Text)が非常に高速で、純正の GitHub Copilot プラグインよりも軽量に動作します。
  • 最大の利点: **「自然言語によるタブ補完」**です。単なるコードの続きだけでなく、「// 〇〇を計算する関数」といったコメントを書くだけで、意図を汲み取ったコードが Ghost Text として提案され、Tab キー一つで確定できます。この「思考のスピードでコードが生成される」体験こそが Neovim × Copilot の真骨頂です。

比較:自分に合ったプラグインを選ぶ

Section titled “比較:自分に合ったプラグインを選ぶ”
プラグインスタイル強み推奨モデル
Avante.nvimIDE 統合型コードの直接書き換え、diff 確認Claude 3.7 Sonnet
gp.nvimハイブリッド柔軟なバッファ操作、チャット対話GPT-4o, Ollama
Copilot.luaインライン型爆速のタブ補完、Ghost TextGitHub Copilot

  1. AI プロバイダーの準備:

    • クラウド: OpenAI, Anthropic などの API キーを用意。
    • ローカル: Ollama または LM Studio を起動し、ローカル LLM 経由で推論を行います。
  2. プラグインのインストール: lazy.nvim を使用している場合、利用したいスタイルに合わせて設定を追加します。

    自然言語によるタブ補完を最優先する設定です。

    {
      "zbirenbaum/copilot.lua",
      cmd = "Copilot",
      event = "InsertEnter",
      config = function()
        require("copilot").setup({
          suggestion = {
            enabled = true,
            auto_trigger = true, -- 入力と同時に提案を開始
            keymap = {
              accept = "<Tab>", -- Tabキーで確定
            },
          },
        })
      end,
    }
  3. 独自キーマッピングの設定: 「選択範囲を AI に説明させる」「AI の提案を採用する」などの動作を、手に馴染むキー(<leader>a 等)に割り当てます。


3. 実践:AI 駆動開発のパターン

Section titled “3. 実践:AI 駆動開発のパターン”
  • ドキュメント・テストの自動生成:
    関数を選択し、「この関数の docstring とテストコードを生成して」と命令。
  • エラー修正の高速化:
    LSP の診断メッセージを AI に渡し、「このエラーの解決方法を教えて」と尋ねる。
  • コードの意図の反映:
    「このループをより関数的に、かつ計算量も意識して書き換えて」といった抽象的なリファクタリング。

  • キーボード完結: ブラウザやマウスに手を伸ばすことなく、タイピングの流れ(Flow)を維持したまま AI の支援を受けられる。
  • 究極の柔軟性: AI の出力形式(Markdown / Code block)や挿入位置を Lua で自由にプログラムできる。

[!IMPORTANT] Antigravity のような AI ツールを併用することで、環境構築そのものを AI に相談しながら進めることも可能です。AI と共にエディタを育てていきましょう。