remix logo

Hacker Remix

Avante.nvim: Use Your Neovim Like Using Cursor AI IDE

300 points by simonpure 8 months ago | 87 comments

shreezus 8 months ago

I really like Cursor, however I think ultimately a good open-source alternative will likely overtake it soon.

Keep in mind Cursor is just a fork of VSCode, with AI features that are pretty much just embedded extensions. Their product is great, but many users would prefer a bring-your-own-key & selecting their own model providers.

kamaal 8 months ago

>>Their product is great, but many users would prefer a bring-your-own-key & selecting their own model providers.

On the contrary. Most enterprise users will prefer one package they can buy and not buy the thing piece wise.

Big reason why VSCode won was because they were able to provide a lot of things out the box saving the user round trip through the config hell rabbit hole modern vim/emacs ecosystems are.

If you want to sell developer tooling products, provide as much as possible out of the box.

People want to solve their problems using your tool. Not fix/build problems/missing features in your tool.

wyclif 8 months ago

>saving the user round trip through the config hell rabbit hole modern vim/emacs ecosystems are

That used to be a valid problem, but times have changed. For instance, Neovim has things now like kickstart.nvim and lazy.nvim that solve this problem. I've been test-driving LazyVim for the past month or so and I don't have to config anything anymore because the updates and plugins are sane choices.

kamaal 8 months ago

vi(m) is still the best command line editing tool out there. And I used is almost a dozen times everyday.

But the IDE ship sailed long back. Its just that the modern IDE's simply do a lot out of the box that is just not possible to configure quickly, or well enough outside using packages. Most of the times the packages don't work well with each other.

Like the Python's formatter often interferes with vim's modal editing etc.

With AI, this will take it a level further apart.

shreezus 8 months ago

With that argument, it would be reasonable to assume Microsoft will just clone the key features (Composer etc) and bake them into the next generation of Copilot on VSCode.

Microsoft has its top-tier distribution advantages, plus they can build native integrations with Github/Azure etc to take things to a new level - think one-click deployments built into VSCode.

In fact, given the rising popularity of Replit/Vercel/etc I wouldn't be surprised if Microsoft is cooking as we speak.

FridgeSeal 8 months ago

That relies on MS' ability to deliver something both complete, comprehensive + have a good UX.

Most of the time they can deliver on...some fraction of some of those.

This is just the AI version of "oh they have Visual Studio + C# + Azure, C# can do FE + BE with ASP.net etc etc so why would anyone ever use anything else?"...and yet, here we are.

They'll deliver some janky, combo of features, it'll be stapled on top of VS Code, it'll be about 65% as good as everything else, but you've got to be all-in-on-MS to really get the value out of it, which will be great for a few enterprise clients, and middling to average for everyone else.

Open Source versions off this will be available soon enough, self-hosted models are only getting better, many orgs are loathe to spend anymore than the absolute minimum on dev-tools (why would they pay for fancy ML stuff that devs will want to run personal versions of anyways) sowhat's the real moat or value prop here?

rafaelmn 8 months ago

A big reason copilot spread so fast is because people already trust GitHub with their code - enabling AI doesn't really modify risk. If GH wanted to break TOS and train on your code they could, even without copilot, if you're using GH for private repos.

Any other third party needs to get vetted/trusted - I would be the first to doubt an AI startup.

kamaal 8 months ago

As more and more people use co-pilot or even cursor, there is likely to be a mad increase in productivity.

But also note, there is likely to be a situation like the early days of internet where people write lots of code, but also bug ridden and unreadable code.

It will take a few years for things to return to routine.

rafaelmn 8 months ago

Meh - personally I see copilot as a mild boost/auto complete++ - helps me type out stuff that's obvious in context but needs to be typed out anyway.

I've had it disabled when switching between environments and sometimes not notice for a day - depending on what I'm doing.

GardenLetter27 8 months ago

We really need a model that can integrate with the LSP though - so it never generates LSP invalid code.

skp1995 8 months ago

That's what we are doing at Aide (shameless plug since I work on Aide)

I think using the LSP is not just a trivial task of grabbing definitions using the LSP, there is context management and the speed at which inference works. On top of it, we also have to grab similar snippets from the surrounding code (open files) so we generate code which belongs to your codebase.

Lots of interesting challenges but its a really fun space to work on.

https://aide.dev/

thawab 8 months ago

continue(yc) is an open source vscode extension. The best thing about cursor is their auto complete feature, their own fine-tuned model. It will be a while for others to build something close to it.

ode 8 months ago

How much better is cursor than continue? I've been trying continue with codestral and am only moderately impressed so far.

LoganDark 8 months ago

Not sure about continue, but I use Cursor for work, and it's really good at predicting simple operations. I rarely use it to actually generate code but it's pretty good at completing the code I'm already writing / the thing I'm already doing.

cellshade 8 months ago

If you want to talk about in house autocomplete models, Supermaven has superior autocomplete, IMO.

thomashop 8 months ago

I agree with your general point, but there is already a bring-your-own-key and select your own model providers option in Cursor.

anonzzzies 8 months ago

They broke the openrouter integration though; it worked and now it does not anymore. Not sure if it was intentional or not, but it is a PITA.

Zion1745 8 months ago

The option you mentioned only works in the chat panel, not with other killer features that utilize the cursor.

jadbox 8 months ago

Sadly they disable the Compose feature when using your own Claude key

d4rkp4ttern 8 months ago

Surprised nobody mentioned zed which is open-source, rust-based and also has some compelling AI-edit features where you can use your own model. I haven't tried Cody yet but zed and Cursor are at the top of the list for me to spend more time with.

zed: https://zed.dev/

HN Discussion from few days ago (397 pts): https://news.ycombinator.com/item?id=41302782

westoncb 8 months ago

I've explored both Zed and Cursor recently and have ended up preferring Zed by a fair margin. Unfortunately their documentation is lacking, but the tool has a pretty coherent design so it's not too bad to figure out. This blog post was the most useful resource I could find to understand the tool: https://zed.dev/blog/zed-ai

For me the collab with Anthropic mentioned is significant too—auspicious.

SirLordBoss 8 months ago

The lack of an option on Windows makes it harder to justify when alacritty + nvim achieves great speeds as well, with all the customizability and what not.

Can anyone chime in on whether using zed on wsl is viable, or loses all the speed benefits?

vunderba 8 months ago

Does anyone offhand know if you bring your own key (anthropic, OpenAI, etc) does it hit the AI providers directly or does it pass it to zeds servers first?

FridgeSeal 8 months ago

I believe it goes straight to you.

It's all open source though, so you could probs verify easily enough.

divan 8 months ago

For old-schoolers who have been living under a rock for the past few weeks :) how is this different from using Copilot/Copilot-chat?

iansinnott 8 months ago

- copilot would only predict after the cursor, whereas Cursor predicts nearby edits, which is quite helpful

- copilot-chat was just a chat sidebar last time I used it, you still had to manually apply any code suggestions. cursor will apply changes for you. It's very helpful to have a diff of what the AI wants to change.

It's been a while since i've used copilot though, so copilot chat might be more advanced then i'm remembering.

edit: formatting

divan 8 months ago

Thanks! "Nearby edits" mean edits in the same file or the whole workspace?

I test Copilot Workspace from time to time, it's still far from perfect, but it already can make large-scale codebase changes across multiple files in a repository. Ultimately that's what I want from an AI assistant on my machine - give a prompt and see changes in all repo, not just current file.

IanCal 8 months ago

> Thanks! "Nearby edits" mean edits in the same file or the whole workspace?

For the autocomplete, in the same file. So proposing adding more logging when you add a few statements, changing an error check, adding something to the class def or constructor.

They do have a multi-file editing thing called "composer" I think, which I used to make larger changes to an app (e.g. add a new page that lists all the X, and it creates that and the links to it in the other pages).

You might also be interested in aider https://github.com/paul-gauthier/aider for larger changes.

divan 8 months ago

Thanks! Yes, Aider is a good attempt. I tried it a couple of times, ran into a number of issues, but should give it another try. Integration with an editor (I use nvim) is crucial though.

worldsayshi 8 months ago

> It's been a while since i've used copilot though, so copilot chat might be more advanced then i'm remembering.

Copilot is still surprisingly basic but I've heard rumours that they are working on a version with a lot more features?

thawab 8 months ago

I think it’s having an agile team focused on this. In the past it was because cursor index your code (vector search) so any question you ask the llm has context of your code. Now it’s the autocomplete feature (their own model). Next i think it will be composer (multi file edit, still in beta).

shombaboor 8 months ago

keeping up with the latest code assistants is the new keeping up with the latest js frameworks.

anotherpaulg 8 months ago

An aider community member made a neovim plugin. It provides the aider style pair programming chat UX. Not the cursor/copilot AI autocomplete function.

https://github.com/joshuavial/aider.nvim