← all repositories
Robitx/gp.nvim

Neovim plugin that talks to LLMs, listens to you, and stays out of your way

A Lua plugin bringing multi-provider AI chat, instructable code ops, and voice input into Neovim with minimal dependencies and maximal Vim-native feel.

gp.nvim
Velocity · 7d
+1.2
★ / day
Trend
steady
star history

What it does

Gp.nvim wires LLMs into Neovim through plain old buffers and commands. You get ChatGPT-style markdown chat sessions, templated text/code operations (rewrite, append, explain, generate tests), speech-to-text via SoX, and even image generation — all without leaving your editor. It supports OpenAI, Ollama, Anthropic, Google Gemini, Perplexity, GitHub Copilot, and any OpenAI-compatible endpoint.

The interesting bit

The plugin’s “hooks” system: write Lua functions in your config that get full access to the plugin’s internals and are auto-registered as :Gp* commands. That’s the extension mechanism — no separate plugin API, just functions. Also, streaming responses undo with a single u, which is the kind of Vim-native detail that signals actual daily-driver use.

Key highlights

  • Multi-provider setup with per-agent configuration (disable defaults, define custom ones with their own model/system prompt)
  • Secret fetching is async if you pass a command table — handy for password managers that lag
  • .gp.md files in repos for project-specific instructions (coding conventions, library preferences)
  • Voice commands need SoX; core only needs curl and grep
  • Chat finder popup for searching, previewing, and managing past sessions

Caveats

  • Copilot support requires extracting your own OAuth token from Copilot’s internal files (documented but fiddly)
  • Google Gemini has “some geo-restrictions (EU)” per the README
  • Defaults change over time; the author explicitly recommends minimal config to avoid breakage

Verdict

Worth a look if you want LLM integration that feels like Vim, not like a web app crammed into a split. Skip it if you need a polished GUI or zero configuration — this is a tinkerer’s tool.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.