9 ms·
Neovim 0.12.0
- benrutter 6mo agoAlways 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?
- nicebill8 6mo agoPossibly never: https://0ver.org/ https://0ver.org/
- Night_Thastus 6mo agoI don't really get the point of this. If the 0 never changes to anything else, then effectively it serves no purpose and shouldn't exist. Some people even refer to software that way. Sometimes something like React 0.82 might be just called "React 82", and effectively it's 82.X in practice.
- suby 6mo agoThere is a roadmap and github issue tracking what is needed for 1.0. https://github.com/neovim/neovim/issues/20451 https://github.com/neovim/neovim/issues/20451 https://neovim.io/roadmap/ https://neovim.io/roadmap/
- kps 6mo agoMaybe when `:!` works the way vi does and POSIX says it must. Just kidding, that will never happen.
- markrian 6mo agoWhat are referring to, out of interest? Does this apply just to nvim, or vim as well?
- PhilipRoman 6mo agoIn Vim, :! cleans up the tty context and hands it off to the child program, to do whatever it wants, you can open any TUI program and it will work as expected. In Neovim, :! just uses a plain pipe. Actually I believe GVim has the same problem. Since both Vim implementations now have a built in terminal handling stack anyway, I wonder if that could be used to unify the behavior.
- djb-at-durable 6mo agoJust nvim. Neovim runs :! commands non-interactively, capturing the output in a pipe. vim, on the other hand, suspends itself and runs the command in an external shell. This isn't a problem, really, for non interactive commands, but causes issues with interactive ones. I personally prefer vim's approach, though not enough to abandon neovim.
- flexagoon 6mo agovi compatibility is explicitly a non-goal for neovim https://neovim.io/charter/ https://neovim.io/charter/
- nixpulvis 6mo agoPreach! I tried to point this out in the Neovim discord once and was basically told to pound sand. Very frustrating. My initial issue: https://github.com/neovim/neovim/issues/35258 https://github.com/neovim/neovim/issues/35258 The interactive issue: https://github.com/neovim/neovim/issues/1496 https://github.com/neovim/neovim/issues/1496 I really just want a, do the old thing setting. It was simpler and worked better.
- konfekt 6mo ago:Silent [0] is an effort to work similarly in Neovim to Vim's `:!` [0] https://gist.github.com/Konfekt/8e484af2955a0c7bfe82114df683ce0f https://gist.github.com/Konfekt/8e484af2955a0c7bfe82114df683...
- saint_yossarian 6mo agoAFAIK it's mostly about stabilizing the RPC API and Lua stdlib: https://github.com/neovim/neovim/issues/20451 https://github.com/neovim/neovim/issues/20451
- brcmthrowaway 6mo agoI'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?
- pl-94 6mo agoI motivated my Cursor-colleagues to switch to tmux+nvim -- they don't use it all the time, but they enjoy the vibe. Claude is running on some tmux pans. Much nicer than VSCode!
- wasabi991011 6mo agoIf it's just using the keyboard that's holding you back from VSCode, you'll be pleased to know it has plenty of its own shortcuts, as well as a "VIM navigation" mode you can turn on.
- brcmthrowaway 6mo agoWhat do you use?
- mathieudombrock 6mo agoVim mode in vscode is not even close to emulating a real neovim setup.
- maleldil 6mo agoOP specifically mentioned "using keyboard to navigate". If that's all you need, then VSCodeVim can get you pretty far.
- alwillis 6mo ago> you'll be pleased to know it has plenty of its own shortcuts, as well as a "VIM navigation" mode you can turn on. For doing something quick, VS Code's Vim mode is… fine. But not if you're something serious. I often quit it in disgust and go back to Neovim.
- mi_lk 6mo 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
- c-hendricks 6mo agoI'm assuming there will be something like lazy.nvim built on top of vim.pack. Some of the conventions might go away (ie constantly calling `.setup`).
- pawelgrzybek 6mo agoHave a look here. This is incredible guide to the `vim.pack`. https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack.html https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack....
- deleted 6mo ago[deleted]
- whereistejas 6mo agoYes, I basically gave my vim config along with this blog to Claude and it figured out 95% stuff on its own.
- NegativeLatency 6mo agoIt being built in sounds nice, although I have some lines in my config that automatically install lazy if it’s missing.
- tekawade 6mo agoTried to switch but found lazy.nvim better
- flexagoon 6mo ago> how verbose it turned out Verbose? The new plugin manager's interface is literature just vim.pack.add({url}), not sure what is verbose about that
- c-hendricks 6mo agoI 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.
- vermilingua 6mo agoThe lspconfig depreciation was a very painful upgrade for me too, as it seems to be very poorly documented; but ultimately it came down to moving all of the LSP server configuration to `vim.lsp.config` blocks, then calling `vim.lsp.enable` with all the servers I use. I’m still not clear on what Mason is doing in my config after the switch but oh well.
- justinmk 6mo agoIt's documented here (with migration steps): https://github.com/neovim/nvim-lspconfig#important-%EF%B8%8F https://github.com/neovim/nvim-lspconfig#important-%EF%B8%8F and in a pinned issue. and nvim-lspconfig :help has a migration guide: https://github.com/neovim/nvim-lspconfig/blob/16812abf0e8d8175155f26143a8504e8253e92b0/doc/lspconfig.txt#L179 https://github.com/neovim/nvim-lspconfig/blob/16812abf0e8d81...
- chrysoprace 6mo agoIt's still not super intuitive with a non-trivial config and plugins. I had enough things that hooked into LSP (Mason, linting, inlay hints, etc.) that I needed to spend a couple of weekend afternoons moving my configs over. For a lot of my config it was an all or nothing migration.
- stryan 6mo agoMason installs LSP servers (and other tooling if desired). So if you're managing your LSP servers elsewhere (distro package manager, etc), it's probably not doing much. Mason was always just a package manager for LSP servers. It used to be you needed the nvim-lspconfig plugin to properly configure LSP servers to work with neovim; to help with that there was the mason-lspconfig plugin that basically mapped LSP servers (as installed by mason) to nvim-lspconfig LSP configurations to make it all Just Work. Now nvim-lspconfig and mason-lspconfig are no longer required thanks to the `vim.lsp.config`/`vim.lsp.enable` setup so you don't need them unless you want the little bit of automagic setup. Mason you can retain if you find it easier to install LSP servers through it, otherwise you can drop that too. Personally I manage my LSP tooling through distro/mise and replaced the lspconfig plugins with just a few autocommands and manually grabbing the config files from nvim-lspconfig git repo as needed.
- semiinfinitely 6mo agowhy put a built-in plugin manager. and if so why make it pack not lazy
- TymekDev 6mo ago> The folke/lazy.nvim is the most used plugin manager at the time of this writing. And rightly so: it is very capable with lots of features. Ironically, this itself makes it not very suitable to be a part of Neovim as most of the features come with significant code and maintenance complexity. Plus the whole idea of treating lazy loading as the main goal of a plugin manager does not sit well with Neovim core team. https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack.html#lazy.nvim https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack....
- shmerl 6mo agoI'd stick to lazy.nvim for now. Lazy loading is really neat and lazy.nvim's ability to specify plugin dependencies isn't something vim.pack has either. I'd guess if you don't care about lazy loading and OK with just loading everything all the time - vim.pack is great to have as a built-in.
- TymekDev 6mo agoThat's my impression too. However, I might give `vim.pack` a go for the novelty. That being said, there is a way to lazy-load the plugins — Evgeni has a guide for that [1]. The "Load not during startup" variant is really simple with putting `vim.pack.add()` into `vim.schedule()`. The other myriad of options (keys, cmds, event) that lazy.nvim provides would require you to set up appropriate autocommands. It gives me vibes of writing in Go. Everything is right there — builtin — but there's some verbosity to bear with. [1]: https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack.html#lazy-loading https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack....
- shmerl 6mo agoThanks for the pointer. I guess to simulate what lazy.nvim does with loading plugins based on user commands, you can use something like this: ``` vim.api.nvim_create_autocmd("User", ... ``` But it only solves the actual lazy part. Not sure how you can solve defining plugin dependency graph for such loading that lazy.nvim allows. I can try experimenting with it anyway.
- helterskelter 6mo agoUp 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/ https://neovim.io/roadmap/
- steve_adams_86 6mo agoI'm not sure how people typically use neovim, but in Zed I find multiple cursors (especially combined with multiple file buffers) extremely ergonomic for refactoring quickly and easily where tools like find and replace or simple renaming doesn't suffice. It lets you scan through and add cursors where you need them, then perform your edits across locations and even files all at once. It's so nice that it played a significant role in me keeping Zed early on despite it missing a lot of extensions I used in VS Code.
- gesis 6mo agoI am so used to sed-style, regex powered find/replace, that this use admittedly never occured to me. As a result, multi-cursor seemed mostly useless outside of pair programming that I never do. I will have to try it out once it lands in neovim just to see if I can wrap my muscle memory around it.
- runevault 6mo agoFor me the nice thing about multiple cursors is when it would take more time to write the regex than it does to just throw down say 8 cursors and update the spots.
- skydhash 6mo agoThere’s an overlap between “Find and Replace” and Macros, but it’s too small for multi cursors to be particularly useful for me. Especially with emacs where I can bring up all the lines in a separate buffer and edit them there (occur-mode) or do the same for a set of files (grep-mode and wgrep)
- 6mo ago
- semiinfinitely 6mo agothe 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.
- mihaelm 6mo agoIt doesn't necessarily mean they're going to migrate from C, building a C project is just so much nicer with Zig than fiddling around with CMake. You got people using it as a build system even for Go projects, especially if they're relying on CGo. However, if you were entertaining the idea of slowly switching to Zig, the build system would be the place to start. Moving away from CMake is worth it even if you don't push it further. But yeah, the C-Zig interop story is so good it's a no brainer if you want to "modernize" your C codebase, and you can do so incrementally instead of stopping the world for a rewrite.
- semiinfinitely 6mo ago> slowly switching to Zig why "slow" just re-write it with ai. and to be clear im 0% joking and am prepared to be downvoted by people who haven't yet understood how feasible this kind of thing already is and how utterly trivial it will be in the near future
- tovej 6mo agoCouldn't disagree more. Why move away from solid, mature build systems to something relatively fringe like zig. Sadly, this is the general trend with neovim in general: less focus on stability, more and more focus on shiny new things. If I didn't have an nvim config that I'm used to I would have switched to plain vim ages ago.
- monooso 6mo agoI've found Neovim to be remarkably stable, even when building from main.
- toisanji 6mo agoIs anyone using them vim with Claude or any of these coding tools? I want to, but I haven’t found a good workflow.
- OliverWich 6mo agoSidekick.nvim is nice, you get a "real" terminal window on the side with many different agents to choose from. Either opencode, claude, gemini, copilot, basically most that are relevant :D Its a pretty light connection-layer, so it helps with sending context.
- thayne 6mo agoFWIW, it's also made by Folke, the same developer who made lazy.nvim and snacks.nvim, as well as some other high-quality plugins.
- lachlan_gray 6mo agoMentioned elsewhere, but :term claude In a split goes a long way for me!
- Zizizizz 6mo agoYes tab split, neovim on the left, companion on the right, or different tabs. The plugin codecompanion.nvim is also great. I use it for common tasks. Like: vaf (visual around function) <space>ad (leader key add docstring). And it documents the functions with my system prompt instructions for what good docstings should look like.
- mathieudombrock 6mo agoCodeCompanion.nvim is a pretty nice plugin. I use that for quick stuff and opencode in the embedded terminal for larger tasks.
- altermetax 6mo agoJust open a terminal split/tab and use claude there. The neovim buffer will update real-time.
- 6mo ago
- jauntywundrkind 6mo agoI'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 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 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.
- shmerl 6mo agoCongrats on diff mode improvements. Hopefully forge style highlighting mode for two way diffs will be available next.
- nickandbro 6mo agoIf anybody wants to checkout my site to learn the basics of vim. Here it is: https://vimgolf.ai https://vimgolf.ai I proxy to neovim instances for each level. Still working out some kinks but soon to complete it
- awesan 6mo agoSeems like you need an account just to try it.
- nickandbro 6mo agoYeah working on a smart way to rate limit stale requests for those who don't have accounts.But the final version will allow anybody who is not a bot, to get into a vim instance without logging in. Thanks for the feedback.
- imjonse 6mo agoIt 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.
- skydhash 6mo agoDefine “modern”! Almost all such complaints are close to “I want to be cool and be seen as an haxor, but all I know is a bit of VSCode and IDEA, make it easier for me, plz”.
- Sayrus 6mo agoI think what they did with first-party support for LSP would be an example of this. However, Neovim explicitely states that they don't want to turn VIM into an IDE. The feature parent is talking about seem to be falling into that type of vertical integration instead of composability.
- augusto-moura 6mo agoI believe neovim started as a fork specifically to implement features like LSP support and package management, VIM eventually also caught up. But i don't believe anything is out of the table, or against Vim tradition. Which features do you want to see built-in, specifically?
- QuantumNomad_ 6mo agoI’m also pretty sure that on an episode of The Standup, one of the Neovim core maintainers TJ DeVries (Teej) said that it is a good idea to prove new ideas in the form of a plugin rather than submitting pull requests for Neovim itself with new ideas that have not yet been tested out and proven in the real world. Implicitly implying that indeed Neovim is open to bring features from plugins into core Neovim itself, if they are proven to be useful for a lot of people. Unfortunately I don’t remember what episode it was or even if it was specifically on an episode of The Standup, or if it was some other video that he and ThePrimagen did outside of The Standup.
- butterlesstoast 6mo agoWith all the supply chain attacks this last week, little hesitant to upgrade.
- suby 6mo agoThis is a valid concern imo, but I'm not too afraid about nvim itself being compromised. I do think it is risky to be depending on many plugins, which is why I'm hoping nvim can integrate more of the popular plugins into nvim proper.
- 0x696C6961 6mo agoThe built-in incremental ast based visual selection is nice.
- nixpulvis 6mo agoMy #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?
- em-bee 6mo agothe thread here may be useful: https://news.ycombinator.com/item?id=47565813 https://news.ycombinator.com/item?id=47565813
- CGamesPlay 6mo agoWhat are you doing with ! that requires this? Some alternatives I can think of depending on the use case are ^Z or :term.
- nixpulvis 6mo agoI do a bunch of stuff with ! !make !ps aux Etc. The new ! just isn't as useful, and it's harder to get back to see the outputs. The old ! Was just a drop in way quickly do something like ctrl-z command fg.
- turtletontine 6mo agoI understand the annoyance, but my workflow for years has been running (n)vim in tmux. So I never need to run terminal commands from the editor, that’s what other tmux panes/windows are for.
- konfekt 6mo ago:Silent [0] is an effort to work similarly in Neovim to Vim's `:!` [0] https://gist.github.com/Konfekt/8e484af2955a0c7bfe82114df683ce0f https://gist.github.com/Konfekt/8e484af2955a0c7bfe82114df683...
- throw567643u8 6mo agoWith 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.
- devnotes77 6mo ago[dead]
- throwpoaster 6mo agoWhat’s the use case for editors when agents write the code?
- 0x696C6961 6mo agoReading the code. Sometimes I also try to race claude in another worktree.
- throwpoaster 6mo agoThat's fun, good call. PR review can happen in web interface (when GitHub is up).
- dazed_confused 6mo agosome people still write code
- dinozarw 6mo ago"Use case for a text editor?" gnome_face.jpg
- geophph 6mo agoAgents can write faster with vim keybindings
- throwpoaster 6mo agoYou got me. This is actually super interesting, but then I realized it can't be true. :)
- geophph 6mo ago:)
- TheRoque 6mo agoEdit the agents slop
- himata4113 6mo agoI 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.
- magguzu 6mo agoI 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.
- chasingtheflow 6mo agoMaybe try https://vim-adventures.com/ https://vim-adventures.com/
- ghywertelling 6mo agoJust to add, there are so many hour long Neovim setup videos on youtube that will make your life easier
- himata4113 6mo agoHonestly, same. I did naturally start to pick up things such as c(code actions) and some git related helpers. But <cnt><c/d/n/o/y/p> gets you 90% of the way there with / navigation. Also just use the mouse! Lazyvim has great support for it. <leader>SK is your friend as well.
- kashnote 6mo agoThe 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.
- goodoldneon 6mo agoI switched from Cursor to Neovim and at first I hated Neovim’s poor AI ghost text. Now I kind of like the break from heavy AI when I write code. The vast vast majority of my code is written by Claude Code, so I don’t write much. But when I do it’s like an exercise in warding off programming atrophy
- phplovesong 6mo agoMost dont want that slop in their code. I have no issues with just writing the code myself. The "typing code" was never a bottleneck, and AI wont help for the real bottlenecks you have in an business setting.
- Acrobatic_Road 6mo agoYou should be able to code without the bells and whistles.
- maleldil 6mo agoUpgrading 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.nvim https://github.com/MeanderingProgrammer/treesitter-modules.n...
- justinmk 6mo agoIncremental selection is available by default in Nvim 0.12, see `:help v_in`.
- maleldil 6mo agoYes, I found out about that after my comment. It's a little unfortunate that I need to remap `van` itself instead of a function/command, but it works, and there's a PR to expose the function publicly. Note that this might conflict with some text-object plugins, such as mini.ai, which define an/in by default.
- sdsd 6mo agoMy 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 6mo agoAt 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.
- ghtbircshotbe 6mo agoI 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.