← all repositories
dense-analysis/neural

Vim gets an AI coding agent that actually stops when told

A Vim/Neovim plugin that wires LLMs into your editor with a kill switch and some privacy guardrails.

512 stars Vim Script Coding Assistants
neural
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does Neural is a Vim/Neovim plugin that pipes LLM output straight into your buffer. Type :Neural write a story or :NeuralExplain on a visual selection and the AI responds in-place. It supports OpenAI’s API out of the box, but you can point it at any OpenAI-compatible local server by swapping the url in config. Requires Python 3.10+; works on Vim 8.0+ and Neovim 0.8+.

The interesting bit The plugin includes a basic redaction pass before sending code to third-party APIs — it attempts to strip lines that look like passwords or secrets. You can audit the logic in autoload/neural/redact.vim. There’s also a hard stop command (:NeuralStop, bound to <C-c> by default) that actually interrupts the request, which is rarer in AI editor tools than it should be.

Key highlights

  • Streams responses asynchronously instead of blocking the editor
  • Configurable in both Lua and legacy Vimscript
  • Optional integrations with nui.nvim for UI polish and significant.nvim for animated signs
  • Can hook into ALE for linting generated code
  • Supports local/self-hosted models via URL override

Caveats

  • The README’s “privacy and avoiding leaking data to third parties” claim is partially undermined by its own disclaimer: “All input data will be sent to third party servers.” The redaction is a best-effort layer, not a guarantee.
  • Only 512 stars and a relatively small footprint; the “much more” in feature lists is vague.
  • Development setup requires pyenv and uv, suggesting the Python bridge is non-trivial to hack on.

Verdict Worth a look if you want LLM assistance without leaving Vim and you value having a prominent off-switch. Skip it if you need deep context awareness across files or if you’re already committed to Copilot, Cursor, or a Neovim-native Lua solution like gp.nvim.

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