はじめに

近年、GitHub Copilot をはじめとする AI 補完ツールが欠かせない存在になっています。今回は、個人利用が無料で、かつ Neovim との相性も抜群な AI 補完ツール Windsurf(Codeium) の導入方法をご紹介します。

Windsurf(Codeium) とは?

Windsurf(Codeium) は、70以上のプログラミング言語をサポートする AI コード補完ツールです。

Web で検索すると、Windsurf よりも Codeium の方がヒットします。2025年4月に社名変更があったようで、現在は Windsurf が正式名称のようです。

vim プラグイン名についても、以前は Exafunction/codeium.nvim という名前でしたが、現在は Exafunction/windsurf.nvim にリネームされています。

導入の準備

インストールする前に、Windsurf のアカウントを作成しておきましょう。

インストール手順

lazy.nvim を使用している場合の設定例です。

{
    "Exafunction/windsurf.nvim",
    dependencies = {
        "nvim-lua/plenary.nvim",
        "hrsh7th/nvim-cmp",
    },
    config = function()
        require("codeium").setup({
        })
    end
},

nvim-cmp の補完候補に Windsurf を出すために、nvim-cmp の設定にソース codeiumを追加します。

  {
    "hrsh7th/nvim-cmp",
    config = function()
        require("cmp").setup({
          { name = "codeium" },
          -- 他のソース
        })
    end
  },

Windsurf 認証(初回のみ)

インストール後、Neovim を再起動して以下のコマンドを実行します。

:Codeium Auth

ブラウザが開くので、ログインして表示されたトークンを Neovim のプロンプトに入力すれば設定完了です。

早速動作確認してみましょう。適当な python ファイルを開いて、以下のように打つと Codeium に補完されることを確認できます。

image_2026-02-11-14-28-51

便利な使い方とカスタマイズ

nvim-cmp のような補完だけでなく、GitHub Copilot のようにグレーの文字で提案(ゴーストテキスト)を表示できます。例えば以下のように設定できます。

require("codeium").setup({
  enable_cmp_source = false, -- cmp経由ではなく直接表示する場合
  virtual_text = {
    enabled = true,
    key_bindings = {
      accept = "<C-g>", -- Ctrl+g で確定
      next = "<M-]>",
      prev = "<M-[>",
    }
  }
})

ゴーストテキストは以下のように表示されます。

データ収集設定について

Windsurf のデータ収集設定については、以下ページの Privacy より変更できます。

トグルを押してみましたが、切り替わりませんでした。free プランだとデータ送信を無効化できないようです。

:Codeium Toggle で本プラグインの有効・無効を切り替えることができますので、情報収集されたくない場合は一時的に無効化しましょう。

おわりに

Codeium はセットアップが非常に簡単で、特に個人開発においては十分すぎる性能を持っています。これまで Copilot の料金で迷っていた方や、Neovim をさらに強化したい方はぜひ試してみてください。