Neovim 0.12.0 (github.com)

by pawelgrzybek 262 comments 409 points
Read article View on HN

262 comments

[−] himata4113 47d ago
I swapped to neovim and never looked back. I don't even have vscode, jetbrains or anything similar installed anymore.

AI has made it so so easy to get into neovim and make anything work no matter how obscure it is.

The biggest benefit for me which I haven't realized how good it is with tmux and the low low memory usage. I mean I can keep EVERY project I work on open, quickly switch and maintain.

No more 10gb memory usage on a SINGLE project, no more laggy remote access, no more dreading reboots, no more wasting time.

Kernel panic? everything is right there how you left it, honestly it makes me feel so sad because the poor design of IDE's have been such a show-stopper for a LOT of good project designs that I have completely avoided due to introduced complexities that come not to mention how slow things can become.

Now I can just ssh into my pc from a laptop and work, no synchronization, no need to have a beefy laptop and incredible battery life.

[−] Agentlien 47d ago
I've been using Vim daily for 13 years and switched to NeoVim about a year of two ago. For me the main advantages over Vim are just the Lua scripting instead of Vimscript, its support for language servers, and better handling of terminals windows running inside Vim.

However, I do still run visual studio in parallel for debugging. It's basically essential when dealing with console game development.

[−] liancheng 46d ago
I found DAP neat enough for interactive debugging (when logging is not enough). But I only used DAP under Neovim to debug Python.
[−] himata4113 47d ago
I just let AI handle any and all debugging at this point, haven't had an issue where AI couldn't find out what the problem was, finding a solution on the other hand is a hit or miss still.
[−] beAbU 46d ago
Can AI pause execution and step through the code line by line? Because that's what I think your parent comment is referring to.
[−] goosejuice 46d ago
AI can use gdb.
[−] TheRoque 46d ago
How do you achieve this behavior ? Sorry I haven't done researchs on it because so the answer might be super easy, but I'm curious what's your solution
[−] mi_lk 46d ago
I haven’t done it specifically but it shouldn’t be much different from other tools calling
[−] himata4113 46d ago
yes. better than me actually.
[−] magguzu 47d ago
I use neovim daily but am 100% sure I'm not even scratching the surface of its power. In fact I'm not even sure I'm using anything specific to the "neo" variant vs plain vim.

I can do simple search/replace, page up/down, jump to character or delete x words, but I feel like I'm missing a lot to really take advantage of it.

Is there a tutorial or guide people recommend to become more of a power user? The only plugin I have is the Markdown editor for instance.

[−] jackrickards 47d ago
I'd recommend checking out lazyvim, it comes with a bunch of very sensible plugins and you can read through the lazyvim docs (and then click through to individual plugin docs) to discover them and see which ones you want to use.
[−] fingerlocks 47d ago
I recently switched to LazyVim and the default config in their tutorial included all the “extras”. It transformed vim into some kind of hallucinogenic kaleidoscope of an IDE with all sorts of telescoping overlays and pop-ups with a color scheme that fits well with an 8 year old girl’s princess themed birthday party. I actually screamed a little.

Not sensible. completely insane.

[−] himata4113 47d ago
Not sure about the "tutorial", but I use lazyvim as base for LSPs, snacks, neo-tree and a theme matching the rest of my desktop and it seems to be fine?

nvim has a lot of "fun" plugins that you wouldn't actually use so I think you might have ran into that.

[−] deafpolygon 47d ago
there’s the LazyVim distro and the lazy.nvim plugin on which it was built. the latter is a bit more sensible.
[−] chasingtheflow 47d ago
[−] ghywertelling 47d ago
Just to add, there are so many hour long Neovim setup videos on youtube that will make your life easier
[−] himata4113 47d ago
Honestly, same. I did naturally start to pick up things such as c(code actions) and some git related helpers. But gets you 90% of the way there with / navigation.

Also just use the mouse! Lazyvim has great support for it.

SK is your friend as well.

[−] rigmarole 46d ago
Drew Neil‘s books, Practical Vim and Modern Vim are excellent.
[−] troyvit 47d ago
If you search up vim games you'll find some fun tutorials.
[−] ray_v 47d ago
Ok, this sounds awesome, but do you miss the GUI integrations? like , being able to pop a document open in your editor from the desktop?

It just feels like it's hard to nail down your preferred workflow / setup ... but it's likely worth it if you're using it daily!

Are there any good visual or video demos of using this type of setup? I'm having trouble picturing what makes people really love this type of TUI-only workflow.

[−] pcael 47d ago
What do you use for managing several different projects in nvim?
[−] gootz 47d ago
Sounds awesome. Can you tell us more... How do you ideally use/setup AI,tmux and nvim?
[−] thayne 46d ago
What plugins do you use for AI in neovim?
[−] 0x1ceb00da 47d ago
How many weird terminal bugs do you have in your setup? Eg one that annoys me the most is that pressing esc in insert mode often takes a few seconds to do its thing.
[−] syngrog66 47d ago
vi/vim has enabled that for 30+ years.
[−] jatora 47d ago
Use windows and leave kernel panics behind :)

i can tell you dont actually SSH often by tbe way. Also, tmux doesnt magically reduce resource requirements of your applications

[−] imjonse 47d ago
It probably goes against Vim tradition, culture and freedom to choose, but I wish they added even more built-in features (like Helix) that are currently implemented in competing and sometimes brittle plugins and have to be put together into also competing vim starter packs and distros of plugins and config files just to have a modern setup out of the box.
[−] helterskelter 47d ago
Up next for 0.13: multiple cursors! I have no idea what I'd do with this feature but it sounds intriguing.

https://neovim.io/roadmap/

[−] sdsd 47d ago
My favorite thing about Neovim is how easy it is to customize (I know, I know, but keep reading, it's about to get spicier) with LLMs. I got sick of Bear and Obsidian and had DeepSeek bash Vim's head in until it was the todo + calendar app of my dreams. Since OpenCode can easily interact with Vim during the terminal, it can itself test whether its changes work until it meets the criteria I set. No going back.
[−] meszmate 47d ago
At this point my dev setup is basically just Neovim, tmux, and a terminal. I ended up removing the usual IDEs because I just was not opening them anymore.

What sold me was not even the editor itself at first, it was the workflow. I can leave sessions running, bounce between projects instantly, and my system still feels light. That matters a lot once you get used to having multiple things going at the same time.

Claude Code also helps a lot with the rough edges. When I run into some niche config issue or weird tooling problem, it is usually fixable in minutes instead of turning into a rabbit hole.

[−] maleldil 47d ago
Upgrading from 0.11 was relatively painless, except for nvim-treesitter, which pretty much became a new plugin. The previous version lives in the master branch, but doesn't support 0.12 at all, so you need to use the main branch when updating.

Most of the previous features are replicable with new code, except for incremental selection. treesitter-modules[1] serves as a good bridge between old and new APIs.

[1] https://github.com/MeanderingProgrammer/treesitter-modules.n...

[−] benrutter 47d ago
Always interesting when a project stays 0 ver for so long- anyone close to the project know what would be considered significant enough for a "v1" release?
[−] mi_lk 47d ago

> - d21b8c949ad7 pack: add built-in plugin manager `vim.pack

Can someone try to sell me this over lazy.nvim? I asked Claude to convert lazy config to pack and I was not happy with it because how verbose it turned out

[−] toisanji 47d ago
Is anyone using them vim with Claude or any of these coding tools? I want to, but I haven’t found a good workflow.
[−] jauntywundrkind 47d ago
I've been loving NeoVim with AstroNvim so much. I'd done some editor configuration and it felt daunting and mostly just... didn't. And I was not good about using the leader key, because of tmux to zellij problems, that nothing was discoverable (zellij adds visual overlays to guide you through usage, unlike tmux's memorize everything approach). AstroNvim has changed both of these so much for me: there's excellent community packs (https://github.com/AstroNvim/astrocommunity) that are easy to drop in that have good configuration out of the box for everything you could want to do, and the leader key has a wonderful little bottom-of-screen UI for itself that helps you discover what's available (that astronvim plugins naturally grow/augment).

On Neovim, very exciting and interesting to see 0.12.0. It'll be interesting to see if folks really do migrating and at what speed to the new built-in plugin system. There's still dozens of other still used plugin systems, but LazyVim seems to have really cemented itself as the lead (and is used in AstroNvim). It feels like vim-pack is trying to be lighter still. Will it work? Will it get adopted? Will be neat to see. PR for vim-pack: https://github.com/neovim/neovim/pull/34009

Last, I still dream of a day where neovim headless is capable of running multiple different clients at once. The rpc architecture is so powerful and so amazing. But we're still (afaik) anchored to having once canonical screen, where-as I want to be able to have multiple editors, looking at different views of the workspace, with different layouts, and specialty windows like IDE debuggers in their own layouts. It's hard to dream of neovim disaggregating itself, blowing up the screen.c, but maybe maybe maybe maybe some decade, possibly, I hope.

[−] butterlesstoast 47d ago
With all the supply chain attacks this last week, little hesitant to upgrade.
[−] brcmthrowaway 47d ago
I'm using VIM - Vi IMproved 9.1. What am I missing?

I'm kind of desperate to switch. Getting massive FOMO from colleagues using VS Code. But I really like using the keyboard to navigate. What should I do?

Does NeoVim support Claude Code?

[−] shmerl 47d ago
Congrats on diff mode improvements. Hopefully forge style highlighting mode for two way diffs will be available next.
[−] throw567643u8 47d ago
With its own package manager now, and LSP library, you really don't need a lot of config tweaking for a minimal vim setup these days.
[−] 0x696C6961 47d ago
The built-in incremental ast based visual selection is nice.
[−] c-hendricks 47d ago
I unintentionally ran the main branch when testing some changes and a lot of my config broke (mostly around LSPs, CodeCompanion was much slower streaming its responses) so might wait a bit before upgrading.
[−] nickandbro 47d ago
If anybody wants to checkout my site to learn the basics of vim. Here it is:

https://vimgolf.ai

I proxy to neovim instances for each level. Still working out some kinks but soon to complete it

[−] nixpulvis 47d ago
My #1 issue with Neovim is the new ! Behavior. Anyone know how to make it toggle the alt terminal screen and just output to the primary screen like it does in Vim?
[−] kashnote 47d ago
The elephant in the room is that there's nothing quite like Cursor Tab. Copilot, Supermaven, Codecompanion, etc. don't even come close. As much as I want to use Neovim full time, I just can't walk away from Cursor Tab. I can live without Cursor Agent since I can just use Claude Code when I need an agent.

Until something comparable for Neovim comes out, I just don't see how I can switch back. I would happily pay for this. I'm sure there are a lot of people in the same boat as me.

[−] semiinfinitely 47d ago
the zig build system is the only thing that actually matters in these notes. nobody maintains a parallel build system for fun—it's a clear signal they're finally pathfinding a way to migrate the core away from legacy c. zig's native interop is basically the only way to do this incrementally without the massive friction of a full rust rewrite. definitely makes nvim feel like a much more serious environment for systems-level performance work.
[−] ghtbircshotbe 47d ago
I recently hit the fold level limit, which is hard coded into Vim at 20. I was disappointed that it's the same in neovim. I tried changing the Vim code and compiling from source but apparently it's not that simple because it still doesn't work (although it does behave differently).

I'm hitting the limit due to a system that uses lists of nested rules or decision trees.

[−] semiinfinitely 47d ago
why put a built-in plugin manager. and if so why make it pack not lazy
[−] devnotes77 47d ago
[dead]
[−] throwpoaster 47d ago
What’s the use case for editors when agents write the code?