はじめに
近年、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 に補完されることを確認できます。

便利な使い方とカスタマイズ
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 をさらに強化したい方はぜひ試してみてください。