A lightweight Neovim plugin to ask AI questions directly about visual selections and show the response in a popup window.
Supports Gemini, OpenAI, Anthropic, Ollama, and OpenAI-compatible APIs (e.g. DeepSeek, Moonshot, etc).
Using lazy.nvim:
{
"aufam/askai.nvim",
config = function()
require("askai").setup({
provider = "gemini", -- "gemini"|"openai"|"anthropic"|"ollama"
model = "your-model-name", -- depends on provider
})
vim.keymap.set({ "n", "v" }, "<leader>ai", ":AskAI ", { desc = "askai: Ask AI about visual selections" })
end,
}
- Select text in Visual mode
- Press your mapped key (example:
<leader>ai) - Type your question and hit
<Enter> - The AI answer appears in a popup
require("askai").setup({
prompt = "Answer shortly",
provider = "gemini",
gemini = {
model = "gemini-2.5-flash-lite",
version = "v1",
},
openai = {
url = "https://api.openai.com/v1/chat/completions",
model = "gpt-4o-mini",
api_key_env_name = "OPENAI_API_KEY",
system_role = "You are a helpful assistant.",
},
anthropic = {
anthropic_version = "2023-06-01",
model = "claude-sonnet-4-5",
max_tokens = 128,
},
ollama = {
url = "http://localhost:11434/api/generate",
model = "your-ollama-model",
},
})
require("askai").setup({
gemini = {
model = "gemini-2.5-flash-lite",
},
})require("askai").setup({
openai = {
model = "gpt-4o-mini",
},
})
require("askai").setup({
openai = {
url = "https://api.deepseek.com/chat/completions",
model = "deepseek-chat",
api_key_env_name = "DEEPSEEK_API_KEY",
},
})
require("askai").setup({
anthropic = {
model = "claude-sonnet-4-5",
},
})
require("askai").setup({
ollama = {
model = "qwen2.5:0.5b",
},
})
- Designed for short answers by default
- Corresponding env variable must be defined
- Works best with concise prompts
MIT

