159 comments
  • jasonhansel21h

    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.

    • rustyhancock20h

      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.

      • freedomben20h

        > 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.

        • satvikpendem20h

          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-moura10h

            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

            • FuckButtons9h

              I don’t want npm anywhere near my tooling thanks.

          • freedomben20h

            Quite a fair point! For intensive plugins and such, this would matter quite a bit.

          • comex17h

            V8 is faster than LuaJIT. But sure, it has a large binary size.

          • user393938220h

            Babashka! Super fast clojure/lisp.

            • zem19h

              there's always fennel for a lispy layer over lua

          • lloeki18h

            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/

        • elros20h

          > Even javascript would have been better for me than Lua.

          Why?

          • freedomben20h

            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.

            • FuckButtons9h

              I was in the same boat, but you’d be surprised by the number of projects that have embedded lua. Zfs, nginx, redis, haproxy.

            • 0110001119h

              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.

              • metrix19h

                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

              • joeblubaugh6h

                I vibe-coded a simple neovim lua plugin very recently. It worked well!

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

              • maleldil16h

                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.

          • jitl20h

            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.

            • llimllib20h

              > 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)

              • jitl20h

                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

        • MarsIronPI20h

          Doesn't Vim support extensions written in several languages? Or was that removed in Vim 9?

          • chrisbra8019h

            It still does, but those only work with a Vim built that has those interfaces compiled in.

      • Graziano_M20h

        I wish they supported Janet

      • jauntywundrkind8h

        > 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.

    • sodapopcan18h

      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!

  • srik20h

    > 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.

    • jdsnape19h

      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)

      • cbsks17h

        “Let’s spend thousands of dollars on lawyers to avoid donating to a good cause”. Large corporations can be so ridiculous.

        • joe_mamba17h

          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.

          • Buttons84017h

            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.

      • nujabe18h

        Curious why you tried to get it approved in the first place if it comes with Linux?

        • mmh000015h

          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...

        • sobjornstad17h

          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.”

          • johnisgood16h

            Even if it is your own work computer?

            • zabzonk15h

              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.

              • johnisgood3h

                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.

    • bko18h

      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?

      • sodapopcan18h

        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.

        • mmooss17h

          The OP covers this question at the bottom; donations still go to the same people in Uganda, iiuc.

      • debugnik16h

        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.

      • oscaracso17h

        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.'

  • gfiorav19h

    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-khadem18h

      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.

    • sodapopcan18h

      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.

    • andrewla16h

      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.

      • sodapopcan14h

        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

      • lenkite9h

        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.

    • 3eb7988a166318h

      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.

      • kyleee10h

        I say we embrace the diversity of both

    • synergy2013h

      I use vim and nvim in parallel, just ask init.nvim to read from ~/.vimrc, all is good

    • sigzero18h

      Has neovim settles on a UI yet?

      • mystifyingpoi18h

        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.

        • tuan17h

          they probably mean GUI app like GVim and MacVim

  • laladrik1h

    You know, that new inline Vim's diff algorithm looks really tempting. I wish I had it in my Neovim

  • computerfriend20h

    Strange that there's no v9.2 tag in https://github.com/vim/vim/tags.

  • actinium22620h

    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.

    • LexiMax18h

      > 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.

      • mystifyingpoi18h

        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.

        • riffraff16h

          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.

          • bspammer2h

            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.

      • gjkliewer18h

        Multi cursor is on the neovim roadmap https://neovim.io/roadmap/

      • WhyNotHugo17h

        Funny, I used multiple cursor a lot back when I used Sublime Text, but stopped needing them when I switched to Vim.

      • cmovq14h

        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.

      • ivanjermakov17h

        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.

      • stackbutterflow17h

        I'm curious to know what kind of editing you do that you need this so much?

        • menaerus5h

          It's a pretty useful feature when writing code.

      • sejje18h

        How does it work?

    • michaelcampbell19h

      Vim and its ilk have plenty of AI.

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

    • guerrilla20h

      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?

      • troyvit16h

        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.

      • flexagoon19h

        At least for Neovim, there are many official or community-made AI autocomplete plugins, and a bunch of chat interfaces as well

      • era8620h

        tmux + vim + Claude Code

        • bicx19h

          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.

          • linhns19h

            How many people don’t know tmux in the industry is really beyond me.

            • tommy_axle17h

              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.

            • jimmaswell19h

              What's the elevator pitch if I already know Screen and I can just open multiple windows of the terminal emulator?

              • mystifyingpoi18h

                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.

                • linhns1h

                  Tmux is better supported by other tools, such as fzf.

              • hibbelig18h

                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.

              • fragmede10h

                The people GP are talking about don't know about GNU screen either.

          • Keyframe19h

            same, although I'm using zellij instead of tmux. Copilot works well in vim too.

        • sorentwo18h

          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.

          • dotancohen17h

            As a tmux user, sell me on ghostty. I hate the leader key, especially in VIM.

      • Carrok20h

        The copilot plugin works well

        • guerrilla20h

          That's good to know. I've never actually tried Copilot. I was going to try this week.

          • metrix19h

            Totally worth it. I tied it to openrouter.ai so that I could use 'all the AI's' (TM)

            Totally worth it

      • qsort19h

        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.

      • drawnwren19h

        Avante.nvim is quite active

    • another_twist11h

      Vim is a ironically far better suited to agectic coding than any other ide in my opinion.

    • user393938220h

      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.

      • yojat66119h

        That's pretty nifty. Link please

      • jauntywundrkind8h

        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

    • comex17h

      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.

      • penguin_booze17h

        Wait a couple of more months, and no-none will know to write any other way.

    • joelthelion13h

      As a side note, vim works great with Ai plug-ins.

    • dmd20h

      :please exit vim now

    • aljgz18h

      AISREIR

      AI Should Rewrite Everything In Rust

      • anthk15h

        More like AESIR, AI Enhancing Stupidly In Rust.

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

    • kgwxd15h

      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.

  • dkga20h

    Delighted to see vim continuing.

  • wvlia513h

    There was a time when Bram Moleenar refused to do any updates to Vim, until Neovim came along.

    • saila13h

      Now that he's no longer with us, I don't think comments like this are necessary.

      • wvlia513h

        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.

        • cpncrunch13h

          Well, it works really well, most of us don't need any fancy new features, and we certainly don't want anything breaking.

          • wvlia513h

            True. But I like Kakoune more, conceptually.

      • quasarj8h

        Being dead has no impact on the truth, actually.

    • mmooss6h

      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.

      • wvlia51h

        Ah! That's the full story, interesting. The rejected update was making plugins asynchronous.

  • simoncrypta18h

    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.

    • PlatoIsADisease14h

      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.

  • k3vinw19h

    > 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.

    • _0xdd17h

      Couldn't have come at a better time for those who are affected by their IT departments removing access to Notepad++.

  • Bulbasaur201520h

    > Vim now adheres to the XDG Base Directory Specification,

    cool

  • jmclnx21h

    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.

    • zenoprax21h

      Unless I'm misunderstanding the problem, Wayland is available on FreeBSD.

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

      • giancarlostoro21h

        Some people hate wayland.

        • pjmlp20h

          Those people can contribute to Xorg server further development.

          • bee_rider20h

            The thing that kicked off this thread was hope that vim will continue to support X11. No need for continued X development really.

            • pjmlp19h

              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.

        • AlecSchueler20h

          But surely not every BSD user?

          • giancarlostoro20h

            Not every BSD user, but the one you're responding to is most likely in that camp.

    • bee_rider15h

      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…

    • hleszek20h

      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.

    • wpollock15h

      There's always TECO! <Joking>

  • notorandit13h

    Wayland support for a terminal editor?

    Woot?

    • Biganon11h

      Maybe read the very next sentence?

      • notorandit1h

        > 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.

  • riffraff16h

    this is a richer changeset than I would have expected, I'm glad to see that.

  • einpoklum19h

    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?

    • mystifyingpoi18h

      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.

    • svilen_dobrev19h

      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...

    • skydhash18h

      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...

      • sodapopcan18h

        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/

  • svilen_dobrev19h

    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?

  • worldsavior20h

    YES. Wayland support.

  • TristanDaCunha21h

    Should stop and help with neovim

    • freedomben20h

      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_rider20h

        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.

        • freedomben20h

          There was a decent amount of drama in the early days, but at this point it seems like it's gotten pretty friendly.

    • benatkin21h

      Could say the same thing about people working on neovim

      • latexr20h

        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.

      • logicprog20h

        NeoVim has a fundamentally better architecture and healthier ecosystem.

        • benatkin20h

          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.

          • aldanor20h

            Honestly curious, what are the tradeoffs with vim9 / vimscript?

            • jitl20h

              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.

              • toxik19h

                Oh man imagine if NeoVim had been TypeScript. I would've switched then.

                • arccy15h

                  neovim does have some support for nodejs plugins through its providers https://neovim.io/doc/user/provider.html#_node.js-integratio...

                • jitl19h

                  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.

              • skydhash18h

                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.