The Cursor Experience, With Neovim's Magic


The Cursor Experience, With Neovim's Magic

This issue is brought to you by:

Auth0 lets you authenticate
25,000 users for free!

The line between human and AI-assisted coding is becoming increasingly blurred.

While VS Code (oh my god I mentioned it) users have been enjoying AI assistance through GitHub Copilot or better yet, “switching” to it’s popular fork - Cursor AI, which creates an “immersive” coding experience by literally having a conversation with the code base.

With all the Cursor craze, many Neovim users have felt left out.

Some covered it by saying it "defeats the purpose", as if an amazing text editor, can't benefit a code generation plugin.

While many plugins do help bringing AI to Neovim users, it never was the cursor experience.

All of that is changing with Avante, a plugin bringing Cursor-like capabilities to the Neovim ecosystem.

Avante (Spanish for “ahead”) transforms Neovim into a real AI-integrated development environment that maintains the efficiency of vim’s phenomenal text editing features, while adding natural language code generation UX.

Instead of switching between multiple tools or suffering through mouse-dependent interfaces (😷), Neovim users can now access Cursor-like assistance without leaving their environment.

What sets Avante apart is its context-aware capabilities. While traditional AI coding assistants often work in isolation, Avante can understand your entire codebase through its (warning: experimental!) @codebase feature (more on that here). This means you can ask it to suggest improvements or generate code with full awareness of your project’s structure and dependencies.

The plugin supports multiple AI providers (with Claude as the default) and can handle everything from creating new projects from scratch, to implementing complex features like authentication flows like I’ve done in this video.

Getting started with Avante is pretty straightforward:

  1. Install via your preferred package manager (lazy.nvim supported)
  2. Configure your AI provider API key. Using Claude? This can be somewhat confusing, you can generate keys from Anthropic’s dashboard.
  3. Access AI assistance through commands like ‘Avante ask’ (:Avanate <tab> to see all the options avante provides)
  4. Review and accept/reject suggestions using familiar Vim commands. This process has two steps -
    1. The generated code and explanations are presented in markdown format, which you can either review and accept one by one, or simply take the entire thing.
    2. Once accepted (all or some of) the changes, it’ll then be presented as a pull request, kind of like the ones you’re used to seeing on Github. Then, there’s a second step of accepting or rejecting code.

Give Avanate a go and play around with it. I let it build things from scratch and was quite amazed at what I can achieve by simply “speaking” to my editor…

Have a great weekend!

ESPRESSO FRIDAYS

Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!

Read more from ESPRESSO FRIDAYS

One Neovim Plugin, 10x Quality of Life This issue is brought to you by: See Squish in Action: Automate Your UI Tests with Ease Still dealing with slow, manual testing processes? Squish can help you automate complex UI tests across multiple platforms—quickly and effectively. Take a tour to see Squish for yourself! Ever found yourself drowning in a sea of Neovim plugins, each promising to solve one small problem but collectively creating a configuration nightmare? You're not alone. Today, we're...

I Was Wrong About Nushell (I Finally Get It Now) This issue is brought to you by: See Squish in Action: Automate Your UI Tests with Ease Still dealing with slow, manual testing processes? Squish can help you automate complex UI tests across multiple platforms—quickly and effectively. Take a tour to see Squish for yourself! There's a moment when you realize you've been looking at something all wrong. That happened to me with Nushell. I initially approached it as "just another shell," like Fish...

Aerospace Is Probably The Best MacOS Tiling Manager I’ve Ever Used This issue is brought to you by: See Squish in Action: Automate Your UI Tests with Ease Still dealing with slow, manual testing processes? Squish can help you automate complex UI tests across multiple platforms—quickly and effectively. Take a tour to see Squish for yourself! Managing multiple windows on a Mac can feel like playing a never-ending game of Tetris - constantly dragging, resizing, and hunting for that one window...