Vim 9.2

(vim.org)

418 points | by tapanjk 1 day ago

22 comments

  • jasonhansel 1 day 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.

    • rustyhancock 1 day 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.

      • freedomben 1 day 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.

        • satvikpendem 1 day 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.
          • augusto-moura 1 day 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

            • FuckButtons 1 day ago
              I don’t want npm anywhere near my tooling thanks.
          • freedomben 1 day ago
            Quite a fair point! For intensive plugins and such, this would matter quite a bit.
          • comex 1 day ago
            V8 is faster than LuaJIT. But sure, it has a large binary size.
          • lloeki 1 day 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/

          • godelski 10 hours ago

              >  a full blown JS runtime
            
            I absolutely hate all the random things that install npm on my machines
          • user3939382 1 day ago
            Babashka! Super fast clojure/lisp.
            • zem 1 day ago
              there's always fennel for a lispy layer over lua
        • elros 1 day ago
          > Even javascript would have been better for me than Lua.

          Why?

          • freedomben 1 day 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.

            • FuckButtons 1 day 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.
            • 01100011 1 day 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.

              • metrix 1 day 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
              • maleldil 1 day 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.
              • joeblubaugh 1 day ago
                I vibe-coded a simple neovim lua plugin very recently. It worked well!

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

          • jitl 1 day 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.

            • llimllib 1 day 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)

              • jitl 1 day 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

        • MarsIronPI 1 day ago
          Doesn't Vim support extensions written in several languages? Or was that removed in Vim 9?
          • chrisbra80 1 day ago
            It still does, but those only work with a Vim built that has those interfaces compiled in.
      • Graziano_M 1 day ago
        I wish they supported Janet
      • jauntywundrkind 1 day 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.

    • sodapopcan 1 day 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!
  • srik 1 day 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.

    • jdsnape 1 day 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)

      • cbsks 1 day ago
        “Let’s spend thousands of dollars on lawyers to avoid donating to a good cause”. Large corporations can be so ridiculous.
        • joe_mamba 1 day 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.

          • Buttons840 1 day 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.

            • btschaegg 15 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.

      • nujabe 1 day ago
        Curious why you tried to get it approved in the first place if it comes with Linux?
        • mmh0000 1 day 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...

        • sobjornstad 1 day 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.”

          • godelski 10 hours 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?
          • johnisgood 1 day ago
            Even if it is your own work computer?
            • zabzonk 1 day 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.

              • johnisgood 22 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.

                • zabzonk 15 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.

                • teo_zero 15 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?
    • bko 1 day 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?
      • sodapopcan 1 day 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.
        • mmooss 1 day ago
          The OP covers this question at the bottom; donations still go to the same people in Uganda, iiuc.
      • oscaracso 1 day 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.'
      • debugnik 1 day 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.
  • gfiorav 1 day 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.
    • e-khadem 1 day 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.

    • sodapopcan 1 day 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.
    • andrewla 1 day 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.

      • sodapopcan 1 day 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
      • lenkite 1 day 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.
    • 3eb7988a1663 1 day 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.
      • kyleee 1 day ago
        I say we embrace the diversity of both
    • synergy20 1 day ago
      I use vim and nvim in parallel, just ask init.nvim to read from ~/.vimrc, all is good
    • sigzero 1 day ago
      Has neovim settles on a UI yet?
      • mystifyingpoi 1 day 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.
        • tuan 1 day ago
          they probably mean GUI app like GVim and MacVim
          • paradox460 12 hours ago
            I personally wish they'd resurrect elvis
            • gilcot 9 hours ago
              I loved using it to write and browse my html files. It can do troff too <3
  • computerfriend 1 day ago
    Strange that there's no v9.2 tag in https://github.com/vim/vim/tags.
  • actinium226 1 day 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.

    • LexiMax 1 day 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.

      • mystifyingpoi 1 day 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.

        • riffraff 1 day 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.

          • bspammer 21 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.

      • gjkliewer 1 day ago
        Multi cursor is on the neovim roadmap https://neovim.io/roadmap/
      • WhyNotHugo 1 day ago
        Funny, I used multiple cursor a lot back when I used Sublime Text, but stopped needing them when I switched to Vim.
      • cmovq 1 day 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.

      • ivanjermakov 1 day 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.
      • stackbutterflow 1 day ago
        I'm curious to know what kind of editing you do that you need this so much?
        • menaerus 1 day ago
          It's a pretty useful feature when writing code.
      • sejje 1 day ago
        How does it work?
    • michaelcampbell 1 day ago
      Vim and its ilk have plenty of AI.

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

    • guerrilla 1 day 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?
      • prinny_ 14 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.

      • troyvit 1 day 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.

      • flexagoon 1 day ago
        At least for Neovim, there are many official or community-made AI autocomplete plugins, and a bunch of chat interfaces as well
      • era86 1 day ago
        tmux + vim + Claude Code
        • bicx 1 day 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.
          • linhns 1 day ago
            How many people don’t know tmux in the industry is really beyond me.
            • jimmaswell 1 day ago
              What's the elevator pitch if I already know Screen and I can just open multiple windows of the terminal emulator?
              • mystifyingpoi 1 day 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.
                • linhns 20 hours ago
                  Tmux is better supported by other tools, such as fzf.
              • hibbelig 1 day 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.

              • fragmede 1 day ago
                The people GP are talking about don't know about GNU screen either.
            • tommy_axle 1 day 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.
              • prinny_ 14 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.
          • Keyframe 1 day ago
            same, although I'm using zellij instead of tmux. Copilot works well in vim too.
        • sorentwo 1 day 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.
          • dotancohen 1 day ago
            As a tmux user, sell me on ghostty. I hate the leader key, especially in VIM.
      • Carrok 1 day ago
        The copilot plugin works well
        • guerrilla 1 day ago
          That's good to know. I've never actually tried Copilot. I was going to try this week.
          • metrix 1 day ago
            Totally worth it. I tied it to openrouter.ai so that I could use 'all the AI's' (TM)

            Totally worth it

      • qsort 1 day 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.

      • drawnwren 1 day ago
        Avante.nvim is quite active
    • user3939382 1 day 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.
      • yojat661 1 day ago
        That's pretty nifty. Link please
      • jauntywundrkind 1 day 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

    • another_twist 1 day ago
      Vim is a ironically far better suited to agectic coding than any other ide in my opinion.
    • joelthelion 1 day ago
      As a side note, vim works great with Ai plug-ins.
    • comex 1 day 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.
      • chrisbra80 15 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.
      • penguin_booze 1 day ago
        Wait a couple of more months, and no-none will know to write any other way.
    • dmd 1 day ago
      :please exit vim now
    • aljgz 1 day ago
      AISREIR

      AI Should Rewrite Everything In Rust

      • anthk 1 day ago
        More like AESIR, AI Enhancing Stupidly In Rust.

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

    • kgwxd 1 day 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.
  • _0xdd 12 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.
  • dkga 1 day ago
    Delighted to see vim continuing.
  • simoncrypta 1 day 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.
    • PlatoIsADisease 1 day 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.

  • laladrik 20 hours ago
    You know, that new inline Vim's diff algorithm looks really tempting. I wish I had it in my Neovim
  • Bulbasaur2015 1 day ago
    > Vim now adheres to the XDG Base Directory Specification,

    cool

  • k3vinw 1 day 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.

    • _0xdd 1 day ago
      Couldn't have come at a better time for those who are affected by their IT departments removing access to Notepad++.
      • k3vinw 14 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.

  • wvlia5 1 day ago
    There was a time when Bram Moleenar refused to do any updates to Vim, until Neovim came along.
    • saila 1 day ago
      Now that he's no longer with us, I don't think comments like this are necessary.
      • quasarj 1 day ago
        Being dead has no impact on the truth, actually.
        • gilcot 8 hours ago
          And that’s not true! He did want to keep the editor stable and available for many platforms and compatible with vi. Rejected proposals break one of these rules.
        • saila 6 hours ago
          True, but the point could have been made in a more tactful way, and it didn't add anything useful to the discussion anyway.
      • wvlia5 1 day 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.

        • cpncrunch 1 day ago
          Well, it works really well, most of us don't need any fancy new features, and we certainly don't want anything breaking.
          • wvlia5 1 day ago
            True. But I like Kakoune more, conceptually.
    • mmooss 1 day 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.

      • wvlia5 20 hours ago
        Ah! That's the full story, interesting. The rejected update was making plugins asynchronous.
  • jmclnx 1 day 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.

    • zenoprax 1 day ago
      Unless I'm misunderstanding the problem, Wayland is available on FreeBSD.

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

      • giancarlostoro 1 day ago
        Some people hate wayland.
        • pjmlp 1 day ago
          Those people can contribute to Xorg server further development.
          • bee_rider 1 day ago
            The thing that kicked off this thread was hope that vim will continue to support X11. No need for continued X development really.
            • pjmlp 1 day 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.

        • AlecSchueler 1 day ago
          But surely not every BSD user?
          • giancarlostoro 1 day ago
            Not every BSD user, but the one you're responding to is most likely in that camp.
      • jmclnx 18 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...

    • bee_rider 1 day 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…

    • hleszek 1 day 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.
    • wpollock 1 day ago
      There's always TECO! <Joking>
    • NeutralWanted 1 day ago
      [dead]
  • riffraff 1 day ago
    this is a richer changeset than I would have expected, I'm glad to see that.
  • notorandit 1 day ago
    Wayland support for a terminal editor?

    Woot?

    • Biganon 1 day ago
      Maybe read the very next sentence?
      • notorandit 20 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.

  • einpoklum 1 day 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?

    • mystifyingpoi 1 day 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.
      • Pay08 17 hours ago
        The exact same plugin management nightmare exists in Neovim just as it exists in Vim.
    • svilen_dobrev 1 day 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...

    • skydhash 1 day 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...

      • sodapopcan 1 day 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/

  • super_mario 18 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.

  • svilen_dobrev 1 day 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?

    • teo_zero 10 hours ago
      I'd bet it's some plugin. I have a vanilla Vim and never noticed anything like that.
    • Pay08 17 hours ago
      Maybe make a bug report?
  • mcswell 1 day ago
    [flagged]
    • hackerbrother 1 day ago
      Hey man, you’re not blocked. Read you loud and clear. Happy Valentine’s Day to you and yours.
    • mcswell 1 day 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.
      • rfrey 1 day 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.
      • buzzerbetrayed 1 day ago
        Take your tinfoil hat off
  • worldsavior 1 day ago
    YES. Wayland support.
  • TristanDaCunha 1 day ago
    Should stop and help with neovim
    • freedomben 1 day 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.
      • bee_rider 1 day 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.

        • freedomben 1 day ago
          There was a decent amount of drama in the early days, but at this point it seems like it's gotten pretty friendly.
    • benatkin 1 day ago
      Could say the same thing about people working on neovim
      • latexr 1 day 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.

      • logicprog 1 day ago
        NeoVim has a fundamentally better architecture and healthier ecosystem.
        • benatkin 1 day 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.
          • aldanor 1 day ago
            Honestly curious, what are the tradeoffs with vim9 / vimscript?
            • jitl 1 day 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.

              • toxik 1 day ago
                Oh man imagine if NeoVim had been TypeScript. I would've switched then.
                • arccy 1 day ago
                  neovim does have some support for nodejs plugins through its providers https://neovim.io/doc/user/provider.html#_node.js-integratio...
                • jitl 1 day 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.
              • skydhash 1 day 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.