I’ve been using the Codeium(now Windsurf) plugin for Vim for a long time and it works really well — primarily for autocomplete. With Windsurf, you can bring your own keys (BYOK), and those keys cover autocomplete as well. That means full control over your API usage across every integration, including Vim.
So on Vim, I get autocomplete powered by Windsurf using my own cloud keys — which as far as I know is not available in Cursor or Zed.
The other advantage with Windsurf is that BYOK keys work across prompts, agents, and autocomplete. In contrast, Cursor’s autocomplete runs on their own native model and requires a paid subscription — BYOK doesn’t cover it. Same story with Zed. This is the main reason Windsurf remains my primary IDE.
The annotation cycle is the key insight for me. Treating the plan as a living doc you iterate on before touching any code makes a huge difference in output quality.
Experimentally, i've been using mfbt.ai [https://mfbt.ai] for roughly the same thing in a team context. it lets you collaboratively nail down the spec with AI before handing off to a coding agent via MCP.
Avoids the "everyone has a slightly different plan.md on their machine" problem. Still early days but it's been a nice fit for this kind of workflow.