Tag: Avante

avante.nvimのメモ

avante.neovimのメモ

2025年はAI IDEが流行っている。VSCodeのAI IDEは有名だが、neovimでもAI IDEを行うことができる。そのために、avante.neovimを使う。

インストール

avante.nvimのオフィシャルサイトの手順に従ってインストールする。

ここにあるように設定を入れる

私はrafiのnvim設定を用いているので ~/.config/nvim/lua/plugins/avante.lua を作成して、冒頭に return を追記して動作した

現在は ~/.config/nvim/lua/plugins/avante.lua に設定を置いている。 provider は gemini、input provider は snacks にしている。

Avante は Lua 部分だけでなく avante_templatesavante_tokenizersavante_repo_mapavante_html2md などの native module も使う。 そのため、プラグインがロードできるだけでは十分ではなく、build/*.so があるかまで確認する。

make -C ~/.local/share/nvim/lazy/avante.nvim

2026-05-29 に確認した時点では、build 前は require("avante") は通るが native module が読めない状態だった。 make 実行後、次が作られた。

~/.local/share/nvim/lazy/avante.nvim/build/avante_html2md.so
~/.local/share/nvim/lazy/avante.nvim/build/avante_repo_map.so
~/.local/share/nvim/lazy/avante.nvim/build/avante_templates.so
~/.local/share/nvim/lazy/avante.nvim/build/avante_tokenizers.so

テスト

Neovim の plugin 設定は、実 UI を開く前に headless で最低限テストする。

nvim --headless '+lua local lazy=require("lazy"); local C=require("lazy.core.config"); local p=C.plugins["avante.nvim"]; print("avante_spec=" .. tostring(p ~= nil)); if p then print("avante_enabled=" .. tostring(p.enabled ~= false)); print("avante_lazy=" .. tostring(p.lazy)); end; lazy.load({ plugins = { "avante.nvim" }, wait = true }); local ok, avante = pcall(require, "avante"); print("avante_require=" .. tostring(ok)); if not ok then print("avante_error=" .. tostring(avante)); end; print("AvanteAsk_cmd=" .. tostring(vim.fn.exists(":AvanteAsk"))); local opts = LazyVim.opts("avante.nvim"); print("avante_provider=" .. tostring(opts.provider)); print("avante_input_provider=" .. tostring(opts.input and opts.input.provider)); vim.cmd("qa")'

期待値は次の通り。

Read more...