Vim 9.2
412 points by tapanjk 2 days ago | 181 comments

jasonhansel 2 days ago
I'm glad to see that Vim9 continues to make progress. The center of gravity may have shifted somewhat towards Neovim, but the Neovim ecosystem currently seems targeted towards people who want something more IDE-like.

One question is: will more plugin authors move to Vim9Script? It seems that Neovim users have generally moved towards Lua-based plugins, so there's less of a motivation to produce plugins that support both Neovim and Vim9.

reply
rustyhancock 2 days ago
I'm not the target for your question (I distribute 0 plugins).

But Lua support in Neovim is the primary reason I moved over from Emacs. Elisp and Vim are both so heart sink for me.

That said I'd have preferred something other than Lua if I had the choice.

reply
freedomben 2 days ago
> That said I'd have preferred something other than Lua if I had the choice.

Same. I know we as a community would never agree on what that language should be, but in my dreams it would have been ruby. Even javascript would have been better for me than Lua.

reply
satvikpendem 2 days ago
Lua, especially with LuaJIT, is nearly as fast as C. I certainly don't want to have to run a slow language like Ruby or especially a full blown JS runtime like V8 just to run Vim, the entire point is speed and keyboard ergonomics, otherwise just use VSCode.
reply
godelski 52 minutes ago

  >  a full blown JS runtime
I absolutely hate all the random things that install npm on my machines
reply
augusto-moura 20 hours ago
You don't need V8 for running JS for scripting, you have quickjs[1] or mquickjs[2] for example. You might have problems importing npm packages, but as we can see from lua plugins you don't even need support for package managers. Performance is not as good as luajit, but it is good enough

[1]: https://bellard.org/quickjs/

[2]: https://github.com/bellard/mquickjs

reply
FuckButtons 19 hours ago
I don’t want npm anywhere near my tooling thanks.
reply
freedomben 2 days ago
Quite a fair point! For intensive plugins and such, this would matter quite a bit.
reply
comex 2 days ago
V8 is faster than LuaJIT. But sure, it has a large binary size.
reply
lloeki 2 days ago
Isn't LuaJIT kind of a dead end?

Also Ruby has been getting quite fast since YJIT (and now ZJIT):

https://railsatscale.com/2023-08-29-ruby-outperforms-c/

reply
user3939382 2 days ago
Babashka! Super fast clojure/lisp.
reply
zem 2 days ago
there's always fennel for a lispy layer over lua
reply
elros 2 days ago
> Even javascript would have been better for me than Lua.

Why?

reply
freedomben 2 days ago
Because I know javascript a lot more than I know Lua (and I suspect given js popularity, a lot of people are in the same boat). Yes Lua is easy to learn, but it's still different enough that there is friction. The differences also aren't just syntactically, it's also libraries/APIs, and more. I also don't have any need/use for Lua beyond neovim, so it's basically having to learn a language specifically for one tool. It's not ideal for me.

But the people who did the work wanted Lua, and I have no problem with that. That's their privilege as the people doing the work. I'm still free to fork it and make ruby or js or whatever (Elixir would be awesome!) first-class.

reply
FuckButtons 18 hours ago
I was in the same boat, but you’d be surprised by the number of projects that have embedded lua. Zfs, nginx, redis, haproxy.
reply
01100011 2 days ago
I agree but also wonder if editor plugins fall squarely in the range of things an LLM could vibe-code for me?

There is a large class of problems now for which I consider the chosen programming language to be irrelevant. I don't vibe code my driver code/systems programming stuff, but my helper scripts, gdb extensions, etc are mostly written or maintained by an LLM now.

reply
metrix 2 days ago
I'm right there with you, and to be honest Lua just works. I helped with Neovim when it started ~10 years ago, and didn't understand the big deal about implementing lua.. But now that it's here, I can't believe it wasn't forked and implemented sooner
reply
joeblubaugh 16 hours ago
I vibe-coded a simple neovim lua plugin very recently. It worked well!

https://joeblu.com/blog/2026_01_introducing-nvim-beads-manag...

reply
maleldil 2 days ago
IME, Claude is quite good at generating Lua code for neovim. It takes some back and forth because there's no easy way for it to directly test what it's writing, but it works.
reply
jitl 2 days ago
i’ve written probably north of a million lines of production js, maybe around 100,000 lines of production ruby, and about 300 lines of production lua. lua is a fun language and i think a much better fit than JS for technical reasons (who has a js engine that is both fast and embeds well? nobody), but i am certainly more productive in those other languages where i have more experience.

lua array index starting at 1 gets me at least once whenever i sit down to write a library for my nvim or wezterm.

reply
llimllib 2 days ago
> who has a js engine that is both fast and embeds well? nobody

Fabrice Bellard! https://github.com/bellard/mquickjs

(I agree with you, just wanted to note this super neat project)

reply
jitl 2 days ago
quickjs/mquickjs are good at embedding but nowhere close to luajit in terms of speed. (i have some experience with quickjs https://github.com/justjake/quickjs-emscripten)

as an aside i’m curious how quickjs/mquickjs compares to mruby in speed and size. something to ponder

reply
MarsIronPI 2 days ago
Doesn't Vim support extensions written in several languages? Or was that removed in Vim 9?
reply
chrisbra80 2 days ago
It still does, but those only work with a Vim built that has those interfaces compiled in.
reply
Graziano_M 2 days ago
I wish they supported Janet
reply
nine_k 2 days ago
Can you run Fennel in Neovim? It's a Lisp running on Lua. https://fennel-lang.org/
reply
golly_ned 2 days ago
Yes.
reply
jauntywundrkind 18 hours ago
> That said I'd have preferred something other than Lua if I had the choice.

Denops is super easy to use, works great. Connects over RPC. https://github.com/vim-denops/denops.vim

Nvim-oxi is wild. Uses neovim's FFI to let you write Rust that talks directly to neovim. https://github.com/noib3/nvim-oxi

Denops has always been a niche but it was a really popular niche for a couple years. Activity is fading somewhat. I'm still doing my plugin dev in lua, and it's... survivable. But I do think of switching more into one of these options.

reply
sodapopcan 2 days ago
I love vim9script and write most of my plugins in it now unless I want something to work in the other vim as well, of course. Really happy to see it evolving and I'm particularly happy that tuple support has landed!
reply
srik 2 days ago
> For over 30 years, Vim has been "Charityware," supporting children in Kibaale, Uganda. Following the passing of Bram Moolenaar, the ICCF Holland foundation was dissolved […] and its remaining funds were transferred to ensure continued support for the Kibaale project. […] Vim remains Charityware. We encourage users to continue supporting the needy children in Uganda through this new transition.

I settled on vim for its technical merits but Bram using his goodwill to fund a charity like this for so long always made me feel good about my choice.

reply
jdsnape 2 days ago
I used to work for a large enterprise, and tried to get vim ‘approved’ for internal use. I remember this charityware clause caused our legal department to get tied up in all sorts of arguments about how we could be opening ourselves to liability if we used it without donating. It was my first lesson in navigating large company processes.

In the end I just kept quiet about the fact that it ships in all the Linux package repos.

(Just to be clear, I fully support what Bram did here)

reply
cbsks 2 days ago
“Let’s spend thousands of dollars on lawyers to avoid donating to a good cause”. Large corporations can be so ridiculous.
reply
joe_mamba 2 days ago
Big companies can be incredibly penny wise and pound foolish because their beancounters make them obsess over the wrong metrics. My current company has spent the last year cost cutting every single way to stay afloat and now you need a chain of approvals up the management ladder with detailed explanation for every paperclip you want purchase.

I can't prove it, but I am willing to bet my entire salary that the costs of all the new extra bureaucratic overhead introduced for small purchases, nullified or even exceeded all their savings, when the remaining engineers and managers paid six figures have to spend more of their time writing, reviewing and approving paperclip orders instead of you know, running the company, fulfilling customer demands and innovating.

I'm pretty new to this, but I have a feeling these are all the signs of a company it's worth jumping ship from ASAP as there's no chance of things improving back from this. Sure, AMD managed to turn the ship around with cost cutting, but our CEO is not Lisa Su, he's a boomer who cuts where the clueless $BIG_4 consultants tell him to cut, and big_4 doesn't care about innovation or the company being relevant in 10 years, they care about showing some immediate results/positive cash to justify their outrageous rates.

reply
Buttons840 2 days ago
And they're probably feeling the need to pinch because they are moving slow and falling out of relevance.

When you're being outcompeted and outmaneuvered it's important to slow down and make sure you save a few dollars wherever possible, apparently.

reply
btschaegg 6 hours ago
You write "wherever possible", but: Have you ever seen the beancounting itself having been under scrutiny?

I'd wager a big part of it is also the same politics based asymmetry that's visible everywhere; like nobody ever got fired for buying IBM or people only get credit for managing a crisis, not preventing it in the first place.

reply
nujabe 2 days ago
Curious why you tried to get it approved in the first place if it comes with Linux?
reply
mmh0000 2 days ago
Many larger corporations strictly control what software is available and allowed to be installed.

On Linux, this is commonly accomplished using Red Hat Satellite [1], although many other tools are also available to use instead.

Getting approval to install something like Vim can literally take months of effort and arguing.

[1] https://docs.redhat.com/en/documentation/red_hat_satellite/6...

reply
sobjornstad 2 days ago
I worked at a place like this and we had a software registry, where if you had installed something and it wasn't on the registry somebody would start sending you nasty emails. This kind of thing would happen all the time: maybe the Linux machines weren't in the scans, or anything that came with the OS was whitelisted.

But if you wanted to install it separately on a computer that didn't have it already, then you'd need to get it “approved.”

reply
godelski 47 minutes ago

  > maybe the Linux machines weren't in the scans
Honest question, how would you actually detect this? I mean I understand using the package manager install (and that's easy for them to control) but building from source and doing a local install (i.e. no `sudo make install`)? Everything is a file. How would you differentiate without massive amounts of false positives?
reply
johnisgood 2 days ago
Even if it is your own work computer?
reply
zabzonk 2 days ago
if the computer is provided for work, by the company you work for, it is not "yours"

limitations on what you can install on such machines can be quite draconian, including forbidding anything that IT Security and similar departments may not like.

reply
johnisgood 13 hours ago
I meant the work laptop you are given through working as a SWE. Are you referring to jobs in IT?

And are you allowed to use your own personal computer (laptop)?

If not, and you have to work on what you have been given, why are people OK with it[1]? In the case of IT jobs?

I cannot imagine being productive without my OS, WM, IDE, configurations and whatnot.

I did work on a desktop in an office before, using their software and it was awful. I could have automated the whole damn thing at home. It was the tax office and obviously I understand why I cannot use their software at home, but for an IT job?

[1] Stupid question, people tolerate much more than this, incl. not getting paid for overtime, being worked to death without a break every day of the week, etc.

reply
zabzonk 6 hours ago
>I meant the work laptop you are given through working as a SWE.

Everywhere i've worked, i was not "given" a computer anymore than I was given a desk, a chair or a network connection. Perhaps "provided" would be better.

> And are you allowed to use your own personal computer (laptop)?

Never have been, and never have wanted to be.

>why are people OK with it

It's industry SOP, and people pay you to work that way.

> I cannot imagine being productive without my OS, WM, IDE, configurations and whatnot.

You need to improve your imaginative powers, and your technical knowledge.

reply
teo_zero 7 hours ago
I don't get where your surprise comes from. Of course companies have the last word on what tools you are allowed/obliged to use when you're on duty. Uniforms, vehicles, why not software?
reply
bko 2 days ago
Do I understand it correctly, but people donating to Vim, presumably for the support of the software, have their donations passed along to a charity supporting children in Uganda?
reply
sodapopcan 2 days ago
Bram started giving 100% after getting hired full time by Google, I believe, which continued on. There is an update on the Vim homepage now about it stopping, though I find the wording a bit confusing... I think they are dissolving the charity but still sending donations to Uganda? I feel a bit dumb for not understanding it but you can read the update on https://www.vim.org/. Unfortunately they don't have target links for dates, it's the [2025-10-28] update.
reply
mmooss 2 days ago
The OP covers this question at the bottom; donations still go to the same people in Uganda, iiuc.
reply
sodapopcan 2 days ago
Oh right... doi. Thanks.
reply
oscaracso 2 days ago
I wanted to understand it too, so I clicked on the donate button and was greeted by this message: 'All donations are directed toward a good cause: helping children in Uganda. This charity is personally recommended by Vim’s creator. Funds are used to support a children's center in southern Uganda, providing food, education, and health care to communities affected by AIDS.'
reply
debugnik 2 days ago
It's not their fault if donors don't read what they're donating for. This reminds me of people feeling scammed after donating to Mozilla.
reply
_0xdd 3 hours ago
I love this editor. The return on investment in learning vim is incredible. I'm not a programmer or even really "in" tech, but when my colleagues see me chew through a document using MacVim they're astounded.
reply
gfiorav 2 days ago
As a die-hard vim fan, I feel bitter-sour saying that I switched to nvim. Honestly, I think the vim maintainers should find a way to merge in nvim.
reply
e-khadem 2 days ago
I think not adding new features frequently and keeping everything stable and working in the long-term is also meritorious. Vim is the same on my local machine, on my rpi, and on an Ubuntu 20.04 VM that I use for some proprietary software.

Also, I cannot think of an extension / new feature that makes sense as a part of Vim (if I want something more, I want a lot more. I don't want Vim to do a lot more, for the sake of simplicity and conformity, that's a job for vscode with Vim extension).

At the same time I wouldn't object to someone adding features to this program. But they have to try really hard to convince me to start relying on that feature (I wouldn't, because I would miss it on Ubuntu 20.04 and I will forget how I used to work without that feature).

I tried nvim a few years ago and honestly didn't find anything advantageous there. But since I had `:sh` in muscle memory and it was a bit (very?) different there I gave up on nvim.

reply
sodapopcan 2 days ago
I don't think that will ever happen. They have already diverged in key ways. I'm more than happy with vim9 and where it is going, personally.
reply
andrewla 2 days ago
I have also switched to nvim, but every release I consider moving back.

Honestly a lot of this is that I hate Lua. With so much of the infrastructure moving in that direction it's basically unavoidable. XDG support was honestly one of the things holding me back; I'm glad that this is finally fixed.

reply
sodapopcan 24 hours ago
XDG was added somewhat quietly almost two years ago now. It was announced on www.vim.org but that was it as far as I know. They don't keep news that far back but here's the commit: https://github.com/vim/vim/commit/c9df1fb35
reply
lenkite 19 hours ago
Lua is one of those languages, where the more I code in it, the more I dislike it. It always trips me up. Just too used to modern type safety, ergonomics and zero-indexing.
reply
3eb7988a1663 2 days ago
NeoVim tossed significant amounts of legacy code (eg 8.3 filename support) and greatly improved out of the box default configuration. You cannot merge the two without upsetting one camp or the other. Vim wants to continue to be a stable platform that runs on 40 year old hardware. NeoVIM wanted to ditch the cruft that no longer makes applies.
reply
kyleee 20 hours ago
I say we embrace the diversity of both
reply
synergy20 23 hours ago
I use vim and nvim in parallel, just ask init.nvim to read from ~/.vimrc, all is good
reply
sigzero 2 days ago
Has neovim settles on a UI yet?
reply
mystifyingpoi 2 days ago
What do you mean? Neovim looks 100% exactly like Vim when you turn it on without any plugins. It's hard to distinguish even. It's the plugins that give it that nerdy look.
reply
tuan 2 days ago
they probably mean GUI app like GVim and MacVim
reply
paradox460 4 hours ago
I personally wish they'd resurrect elvis
reply
computerfriend 2 days ago
Strange that there's no v9.2 tag in https://github.com/vim/vim/tags.
reply
chrisbra80 2 days ago
Oopps, missed that. Now there is a v9.2.0 tag and a v9.2.0000 tag
reply
philipwhiuk 23 hours ago
I'm curious - what's the logic for both?
reply
chrisbra80 7 hours ago
I suppose people not familiar with Vim version numbers may try tag v9.2.0 instead of using v9.2.0000, so for those I added a shortcut
reply
c0balt 2 days ago
The relevant release commit is, https://github.com/vim/vim/commit/e7e21018fc0b60c153c8e668f6... (at time of writing, two hours ago).

It seems they didn't publish the tag yet though.

reply
actinium226 2 days ago
But where are the AI features?? Gonna get left behind!

Only joking of course, actually quite refreshing to see a new version announcement of something this major without any AI nonsense.

reply
LexiMax 2 days ago
> But where are the AI features?? Gonna get left behind!

Obviously vim doesn't need AI, but one feature I really wish vim had was native support for multiple cursors.

It's the feature that lured me away to Sublime Text in the first place many years ago, and it's a pre-requisite for pretty much every editor I use these days, from VSCode to Zed.

There are plugins, but multicursor is such a powerful force-multiplier that I think a native implementation would benefit.

reply
mystifyingpoi 2 days ago
The canonical answer to this request is as follows: if you need multi-cursor (or, worse, multi-cursor with mouse support) then you are doing something non-Vim way (aka: wrong way) and there is a better way to do it.

If you need multi-cursor to do manual search and replace in text, then don't, just do automatic search and replace, maybe scoped to a block. If you need multi-cursor for refactoring or renaming a variable across entire source file, then don't, use LSP plugin (or switch to Neovim) and do the proper refactoring action.

Sure, there are legit cases of using multi-cursor in Vim, but they are rare. So it's not worth to put it into Vim itself.

reply
riffraff 2 days ago
personally, I know I can use search and replace, but <ctrl-n>-n-n-c-replacement[0] is easier on my mind than the search&replace alternative

[0] I've been using vim-multiple-cursors for years, it's abandoned but still works ok most of the time.

reply
bspammer 12 hours ago
Do you know about *? It puts the word currently under the cursor into the search history.

So you can do *ciw, type your replacement, then n.n.n. to do the rest.

Obviously LSPs are more powerful though.

reply
gjkliewer 2 days ago
Multi cursor is on the neovim roadmap https://neovim.io/roadmap/
reply
WhyNotHugo 2 days ago
Funny, I used multiple cursor a lot back when I used Sublime Text, but stopped needing them when I switched to Vim.
reply
cmovq 24 hours ago
Vim (kind of) has it though it doesn’t render the cursors:

Ctrl-V, then move down the lines you want to edit, Shift-I to insert text on multiple lines at once.

reply
ivanjermakov 2 days ago
There are plenty of ways to achieve workflows that can be done witg multiple cursors even in plain Vim: macros, :norm, visual blocks, :s, etc.
reply
stackbutterflow 2 days ago
I'm curious to know what kind of editing you do that you need this so much?
reply
menaerus 15 hours ago
It's a pretty useful feature when writing code.
reply
sejje 2 days ago
How does it work?
reply
michaelcampbell 2 days ago
Vim and its ilk have plenty of AI.

Actual Intelligence. It's connected to fingers/hands/arms/torso that is using it.

reply
guerrilla 2 days ago
I agree and I know what you're saying, but I'm pretty curious: how are people using AI with vim? I've seen some scripts for ollama but what are most people doing?
reply
prinny_ 6 hours ago
Does it count if I share my experience with AI and nvim? I use it to update my configuration, discover new plugins, write custom lua code (I don't know lua) and inquire about motions that would help me in specific workflows. I started learning vim motions last summer and AI really lowered the entry barrier and allowed me to focus on the motions rather than the setup.

Also related to my nvim workflow but not strictly vim related: I use AI to write and update a bash script that handles tmux windows. Again, it lowered the barrier to entry and it made switching to nvim as my primary editor easier.

reply
troyvit 2 days ago
I don't use it this way yet, but aider has a watch mode that would be fun with vim:

https://aider.chat/docs/usage/watch.html

I imagine with vim, from the document you're editing, you'd go:

:ter

to get a terminal. Fire up aider with --watch-files in the terminal. Hop back up to the file and start telling it what to do. Hit L when it's done to see the changes.

That's just a guess but after writing it out I kinda want to try it.

When I use aider it's via its chat interface and then I load the file with vim in another terminal tab to follow along but I think --watch-files with vim would be fun.

reply
flexagoon 2 days ago
At least for Neovim, there are many official or community-made AI autocomplete plugins, and a bunch of chat interfaces as well
reply
era86 2 days ago
tmux + vim + Claude Code
reply
bicx 2 days ago
This. With so much of my work being done with Claude Code via terminal, I’ve used vim and tmux more than I have in the 20 years since I was first introduced.
reply
linhns 2 days ago
How many people don’t know tmux in the industry is really beyond me.
reply
jimmaswell 2 days ago
What's the elevator pitch if I already know Screen and I can just open multiple windows of the terminal emulator?
reply
mystifyingpoi 2 days ago
No pitch - just use screen, most people use tmux in exactly the same way - open a few splits and switch between them with keyboard shortcuts.
reply
linhns 11 hours ago
Tmux is better supported by other tools, such as fzf.
reply
hibbelig 2 days ago
I switched from screen to tmux due to rumor about the screen code base. Maybe not a good reason. But I don’t regret it, tmux works well.

Just an honest opinion of someone who didn’t have skin in the game. Not sure if it helps.

reply
fragmede 20 hours ago
The people GP are talking about don't know about GNU screen either.
reply
tommy_axle 2 days ago
With all the buzz about orchestrating in the age of CLI agents there doesn't seem to be much talk about vim + tmux with send-keys (a blessing). You can run as many windows and panes doing so many different things across multiple projects.
reply
prinny_ 5 hours ago
The way I see it using tmux to orchestrate multiple agents is an intermediate step until we get a UI that can be a product offering. Assuming we get orchestration to the level it has been touted, there is a world where tmux is unnecessary for the user. You would just type something to one panel in which the "overlord" agent is running (the "mayor" if we talking gas town lingo) and that agent will handle all the rest. I doubt jumping between panes is going to stick around as the product offering evolves.
reply
Keyframe 2 days ago
same, although I'm using zellij instead of tmux. Copilot works well in vim too.
reply
sorentwo 2 days ago
Nearly this, but using ghostty instead of tmux. You don’t get the remote connection aspect of tmux, but for splitting/zooming/preserving windows it is fantastic. The best part is you can configure natural shortcuts rather than using a leader for everything.
reply
dotancohen 2 days ago
As a tmux user, sell me on ghostty. I hate the leader key, especially in VIM.
reply
Carrok 2 days ago
The copilot plugin works well
reply
guerrilla 2 days ago
That's good to know. I've never actually tried Copilot. I was going to try this week.
reply
metrix 2 days ago
Totally worth it. I tied it to openrouter.ai so that I could use 'all the AI's' (TM)

Totally worth it

reply
qsort 2 days ago
AI makes advanced IDE features less relevant (or, more precisely, much easier to ignore or work without.)

I still have PyCharm, especially for working with data which I do a lot it helps quite a bit, but by default I'm back to a very vanilla Vim setup. Others have mentioned tmux which is great and I'd use anyway especially over ssh, but even just terminal tabs for instances of agents are fine frankly.

reply
drawnwren 2 days ago
Avante.nvim is quite active
reply
user3939382 2 days ago
I made a vim extension where you describe the edit/action you want in natural language, and my ollama model thats trained on books like Practical Vim returns the key sequence and you can press e to execute without leaving vim. So you get automation help but also learn the syntax.
reply
yojat661 2 days ago
That's pretty nifty. Link please
reply
jauntywundrkind 18 hours ago
I used mcp-neovim-server to let my LLM control my vim session. that way it can debug and test and poke around. It's crazy good at debugging plugins. It's absurd how little these things need to look-up docs; half these models are just out the box wildly good at vim. "Open these files on these lines" and now there are four splits with me at the relevant line numbers. Awesome. And it'll explain how to do things & test it out & validate! https://github.com/bigcodegen/mcp-neovim-server

That was a little tricky to set-up. I ended up writing nvim-auto-listen, which uses some heuristics to find your project root, and starts a .nvim.socket in that directory. That makes it easy for mcp-neovim-server instances to find. https://github.com/rektide/nvim-auto-listen/

I'm only somewhat getting started, but the workmanship, fit and finish is just outstanding on Codecompanion, for a fantastically well put together in vim agentic experience. Works really well driving a headless opencode mcp. Being able to stay in vim but still get a great opencode powered experience has been mind blowingly sick. https://github.com/olimorris/codecompanion.nvim

reply
another_twist 21 hours ago
Vim is a ironically far better suited to agectic coding than any other ide in my opinion.
reply
joelthelion 22 hours ago
As a side note, vim works great with Ai plug-ins.
reply
comex 2 days ago
The announcement itself looks potentially AI-assisted, judging by the bulleted list style and redundant text under the "Charity: Transition to Kuwasha" section. But maybe some people just write that way.
reply
chrisbra80 7 hours ago
I admit I am guilty of that, although I ran it via several iterations to make sure it covers everything I needed and created a nice style that i liked. It just saves me so much time.
reply
penguin_booze 2 days ago
Wait a couple of more months, and no-none will know to write any other way.
reply
dmd 2 days ago
:please exit vim now
reply
aljgz 2 days ago
AISREIR

AI Should Rewrite Everything In Rust

reply
anthk 2 days ago
More like AESIR, AI Enhancing Stupidly In Rust.

Bonus point linking the name to the hellish corporation in Max Payne.

reply
kgwxd 2 days ago
I was happy with VSCode after decades of Vim because it felt light enough out of the box until Copilot starting showing up in every nook and cranny of the damn thing. I switch back to Vim last year.
reply
dkga 2 days ago
Delighted to see vim continuing.
reply
laladrik 11 hours ago
You know, that new inline Vim's diff algorithm looks really tempting. I wish I had it in my Neovim
reply
simoncrypta 2 days ago
After many years being interested, I finally invest a good amount of time learning vim properly. Thanks to AI, I got more time to learn in between request and it become painfully slow to use IDE or ask AI simple change. To me the agentic workflow make it even more valuable to learn vim since I can fix and iterate on small details way faster.
reply
PlatoIsADisease 24 hours ago
I think with AI, its eliminated my need for Vim. Sorry to say.

I was such a proponent.

If I'm entirely reading code for bugs, then using voice to text to the AI to correct the problem... What typing am I doing?

Still love the idea of Vim.

reply
Bulbasaur2015 2 days ago
> Vim now adheres to the XDG Base Directory Specification,

cool

reply
k3vinw 2 days ago
> The MS-Windows GUI now supports native dark mode for the menu and title bars, along with improved fullscreen support and higher-quality toolbar icons.

Congratulations on the new release! Looking forward to applying these awesome improvements.

reply
_0xdd 2 days ago
Couldn't have come at a better time for those who are affected by their IT departments removing access to Notepad++.
reply
k3vinw 5 hours ago
That’s an interesting thought. I don’t believe that Vim’s modal system will be to their taste, but makes me curious if anyone has put together a collection of useful text editing macros for Vim similar to what Notepad++ offers.

Typically, I just pipe the output of my buffer to external commands to apply similar transformations that Notepad++ offers out of the box, but I would think the same would be challenging to do on Windows without Cygwin to close the gap. So a Vim macro collection similar to Notepad++ implemented in Vim script or Lua would be pretty cool.

reply
wvlia5 23 hours ago
There was a time when Bram Moleenar refused to do any updates to Vim, until Neovim came along.
reply
saila 23 hours ago
Now that he's no longer with us, I don't think comments like this are necessary.
reply
quasarj 18 hours ago
Being dead has no impact on the truth, actually.
reply
wvlia5 23 hours ago
I just learned that he passed from Wikipedia.

I remember he used to get a lot of flak on HN for not wanting to update vim, back in the days.

reply
cpncrunch 23 hours ago
Well, it works really well, most of us don't need any fancy new features, and we certainly don't want anything breaking.
reply
wvlia5 23 hours ago
True. But I like Kakoune more, conceptually.
reply
mmooss 16 hours ago
Bram Moolenaar updated Vim periodically for decades:

https://en.wikipedia.org/wiki/Vim_(text_editor)#Versions

The complaint, including from the Neovim founder, was that Moolenar rejected their update.

reply
wvlia5 11 hours ago
Ah! That's the full story, interesting. The rejected update was making plugins asynchronous.
reply
jmclnx 2 days ago
Congratulations!

>Full support for the Wayland UI

I really hope they never deprecate X11 support :) I doubt they will, but if they do, it will leave the BSDs without a good alternative.

reply
zenoprax 2 days ago
Unless I'm misunderstanding the problem, Wayland is available on FreeBSD.

https://docs.freebsd.org/en/books/handbook/wayland

reply
giancarlostoro 2 days ago
Some people hate wayland.
reply
pjmlp 2 days ago
Those people can contribute to Xorg server further development.
reply
bee_rider 2 days ago
The thing that kicked off this thread was hope that vim will continue to support X11. No need for continued X development really.
reply
pjmlp 2 days ago
On the contrary, because you will want to have those drivers when the time comes to reinstall the system with more modern hardware.

Without X Server support at the OS level for the new hardware, doesn't really matter if vim supports it on its source code.

reply
AlecSchueler 2 days ago
But surely not every BSD user?
reply
giancarlostoro 2 days ago
Not every BSD user, but the one you're responding to is most likely in that camp.
reply
jmclnx 9 hours ago
Not all *BSDs is FreeBSD :)

A NetBSD posted a blog stating NetBSD is having issues porting Wayland due to Linux specific items. OpenBSD stated something similar.

Both articles indicated it will be a very long time, if ever, to get Wayland fully working on their systems. I did see this presentation that describes some issues as of 2025.

https://www.bsdcan.org/2025/talks/BSDCan2025-jeff_frasca-way...

reply
bee_rider 2 days ago
What is “the Wayland UI,” anyway? Is this like that vim gui program that some Windows users use?

Usually vim runs I’m the terminal, so I don’t have any worries about losing support. But other people have other use-cases, of course…

reply
hleszek 2 days ago
Why would they do that? When I started learning VIM more than 20 years ago, one of the main reason was that it (or vi) was already present and installed in every possible Linux system.
reply
wpollock 2 days ago
There's always TECO! <Joking>
reply
NeutralWanted 2 days ago
[dead]
reply
notorandit 23 hours ago
Wayland support for a terminal editor?

Woot?

reply
Biganon 21 hours ago
Maybe read the very next sentence?
reply
notorandit 11 hours ago
> Modern Platform Support: Full support for the Wayland UI and clipboard has been added. On Linux and Unix-like systems, Vim now adheres to the XDG Base Directory Specification, using $HOME/.config/vim for user configuration.

Yes.

reply
riffraff 2 days ago
this is a richer changeset than I would have expected, I'm glad to see that.
reply
einpoklum 2 days ago
I am a lay user or vim. I use it daily for editing text files and a bit of code, but I always found the plugins and the scripting language rather daunting. There are different, conflicting, plugin management systems; and of course there's the scripting language that's vim-specific, and the few times I tried to delve into this stuff, I quickly found myself in over my head.

So - on the occasion of VIm 9.2 coming out - do people have a recommendation for a gentle path to "leveling up" one's VIm skills and engagement?

reply
mystifyingpoi 2 days ago
Yes, switch to Neovim. Seriously, no sarcasm. You can import your existing .vimrc at first, if you even care. I highly recommend kickstart or some other simple config scaffold.
reply
Pay08 9 hours ago
The exact same plugin management nightmare exists in Neovim just as it exists in Vim.
reply
svilen_dobrev 2 days ago
do you really need that?

the scripting language is.. okay, but u have to try doing something practical in it, to get a feeling.

see my vimrc, being updating it since ~2000

https://github.com/svilendobrev/svd_bin/blob/master/qini/_vi...

reply
skydhash 2 days ago
There are the Practical Vim[0] and Modern Vim[1] by D. Neil

And the VimL Primer[2] by B. Klein

But Vim is a whole culture that starts with ed(1), the standard editor. You do edit based on line numbers and regex addressing and commands. Then there was ex(1) that added more features. vi(1) added a `visual` mode to ex(1), and some commands can now be done in relation to the position of the cursor. Vim is the improved version of vi(1), a lot more commands and a scripting language.

The plugin system is similar to everything that was unix at that time, relying on a variable like $PATH. Any path added to that variable (runtimepath for vim), should follow some patterns for subdirectories and the file will be loaded according to a certain logic. Plugin managers actually manage that variable and do a few things aside (isolating plugins, downloading from forges,...)

[0]: https://pragprog.com/titles/dnvim2/practical-vim-second-edit...

[1]: https://pragprog.com/titles/modvim/modern-vim/

[2]: https://www.oreilly.com/library/view/the-viml-primer/9781680...

reply
sodapopcan 2 days ago
There is also Learn VimScript the Hard Way, which is of course a bit outdated, but it does help to know "legacy" vimscript. vim9script is very intuitive and easy to learn for anyone who knows any OO language from the past 30 years. The difficulty comes in learning the ins and outs of Vim itself (when it comes to scripting it, that is).

https://learnvimscriptthehardway.stevelosh.com/

reply
super_mario 9 hours ago
Congratulations to Christian and all the contributors on another vim milestone. Thank you all. I am so thrilled to see vim development continuing.

As early vim (vi imitation) user on Amiga, I can't imagine living without it.

reply
svilen_dobrev 2 days ago
i have been using vim since v4 (1999?), but in the last year+ - maybe since v9? - there's some weird defect happening only once in a while:

While walking around a file with keyboard, sometimes a random line's indent is removed - that is, text goes left-flushed. AND it's not a tracked change that can be UNDOne - as if it never happened / always has-been-so. Have not been able to correlate this to any other thing. It happens like once a few days, very rarely it might happen twice within minutes. Sometimes i notice that, sometimes i don't and (luckily) python screams of broken indentation. If the file isn't deeply nested python.. good luck.

Has anyone "achieved" such a thing?

reply
teo_zero 2 hours ago
I'd bet it's some plugin. I have a vanilla Vim and never noticed anything like that.
reply
Pay08 9 hours ago
Maybe make a bug report?
reply
mcswell 2 days ago
[flagged]
reply
hackerbrother 2 days ago
Hey man, you’re not blocked. Read you loud and clear. Happy Valentine’s Day to you and yours.
reply
mcswell 2 days ago
In case you're wondering: I'm not blocked in this thread, but I was blocked in a thread about ICE. I told them to thaw out.
reply
rfrey 2 days ago
If the thread was deleted by a mod or flagged in the time between starting a comment and hitting "reply", you'd see a message that "you're not allowed to post a comment here" or similar language. Nothing to do with you, it's the state of the thread you're commenting on.
reply
buzzerbetrayed 2 days ago
Take your tinfoil hat off
reply
worldsavior 2 days ago
YES. Wayland support.
reply
TristanDaCunha 2 days ago
Should stop and help with neovim
reply
freedomben 2 days ago
This is the perennial argument that IMHO is based on a fallacy. If the vim people suddenly stopped working on vim, it doesn't mean all their effort would go to neovim. People work on what they want to work on in open source. Also the two projects have very different goals/philosophies. The code bases have also gotten pretty different in architecture because neovim did a monstrous refactor. It's open source working as intended that we have both.
reply
bee_rider 2 days ago
I agree with you.

One little thought is, has there been much drama between the vim and neovim communities? (I guess community can be defined broadly enough that the answer to that question is always “yes,” but I haven’t seen much). They both seem completely happy to just do their own thing. I think the perennial argument just exits in the mind of some fans.

It is nice to see a pair of projects with so much potential for competition coexisting peacefully. Plenty of room on the internet I guess.

reply
freedomben 2 days ago
There was a decent amount of drama in the early days, but at this point it seems like it's gotten pretty friendly.
reply
benatkin 2 days ago
Could say the same thing about people working on neovim
reply
latexr 2 days ago
Technically, Neovim started because the author wanted to add multi-threading to Vim but the patch was rejected. So they did try to contribuir to Vim first.

Not that I agree with your parent comment or anything (I don’t), I use Helix so don’t really have a dog in this fight, I think it’s fine for them all to coexist.

reply
aniviacat 2 days ago
Do you know why it was rejected?
reply
latexr 2 days ago
It’s been too long, I no longer recall specifics. Wikipedia links to the patch’s discussion on Google Groups, if you care to read it.

https://groups.google.com/g/vim_dev/c/65jjGqS1_VQ/m/fFiFrrIB...

Vim 8 did add support for asynchronous jobs, due to the pressure of Neovim fork.

https://lwn.net/Articles/713114/

reply
logicprog 2 days ago
NeoVim has a fundamentally better architecture and healthier ecosystem.
reply
benatkin 2 days ago
But they're separate highly maintained projects, and there will always be tradeoffs. It's like saying that Ubuntu is better than Debian, or that Fedora is better than RockyLinux.
reply
aldanor 2 days ago
Honestly curious, what are the tradeoffs with vim9 / vimscript?
reply
jitl 2 days ago
well the library ecosystem, developer tooling, and gradual typing support for lua is far ahead of what’s available for vimscript. in my experience lua is #2 behind javascript/typescript’s #1 when it comes to scripting language LSP stuff. both python and ruby suffer from a profusion of alternative type checkers and whatnot that cause pain and fragmentation when it comes to tooling.

it’s pretty great to have my vimconfig give red squiggle in editor if i’m doing it wrong before i save & reload.

but i’ve not followed vim9 script as its evolved perhaps there’s a good type checker for it at this point?

even before neovim, there were vim extensions written in lua so it feels gravity of lua code has been considerable for a long time.

to me vim9script feels like perl5/raku split - evolution too late to grow new users, a remnant for a niche that will fade to oblivion slowly over the next 10 years.

reply
toxik 2 days ago
Oh man imagine if NeoVim had been TypeScript. I would've switched then.
reply
arccy 2 days ago
neovim does have some support for nodejs plugins through its providers https://neovim.io/doc/user/provider.html#_node.js-integratio...
reply
jitl 2 days ago
well the lua setup has enough type checker going on that’s it’s really useful, besides language familiarity i honestly don’t miss much; there’s great docs and autocomplete for the lua stuff built in to the lazynvim distro.
reply
skydhash 2 days ago
With vim9, just like C and perl, the focus is to write small programs. And you don't need a typechecker if your program is only a few hundreds lines. And locality of behavior is at most one screen tall. For scripting languages, I'd rather a good documentation system (vim, emacs,..) than having a full lsp client in the background.
reply