Skip to content(if available)orjump to list(if available)

The State of Vim

The State of Vim

54 comments

·January 24, 2025

omoikane

VIM seemed to have fared well under the new leadership, despite not being able to control the timing of this power transfer. Maybe other BDFL projects would be inspired by VIM's experience and setup successors early.

https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

eviks

that'd be the wrong lesson to extend a period of using a bad governance model for longer

flohofwoe

You need someone to say 'no' to all the stupid ideas, and also to the occasional good idea to stay focused. Committees and communities are quite bad at that. IME the BDFL model has mostly worked best for open source software development, unless the BDFL is a complete ass of course.

(also software projects don't need to be democracies, e.g. people won't starve or sent to the gulag if things go sideways)

johnnyanmac

[delayed]

StefanBatory

Or HN too. I think most of us would agree that dang is a very good moderator.

psychoslave

Unless your software deals with tracking people within an organization that will of course comply with the political parties that rule the regions where there software operate.

eviks

Saying "no" is the easiest job in the world, and committees are pretty good at it. That's why we have decades-old design failures everywhere, because saying "no" to an improvement is so much easier that doing the actual governing and resource allocation to see it through, especially with volunteers

And given the article describes big fails at basically every aspect of project management (from github account to money and website), not sure where you see the benefits of the supposed "focus"

dsign

The aggregate value of each soul that goes away is staggering. Bram is a good example; his work in VIM and his help to children in need will be sorely missed. I wish we were doing more to break that cycle.

porphyra

Many of the Vim nerds I know, including myself, have switched over to Neovim. Only when using a remote server with a default installation do I use regular old Vim.

openmarkand

I have tried several times and I always switched back to vanilla vim. Neovim has various nice features but it requires a lot of time to migrate correctly IMHO. 20 years of habits are hard to leave, I think.

Sure the configuration file is retro compatible, but some of the plugins are better suited for neovim and vice versa. I use a dozen of them and if I switch permanently to neovim I'd like to start fresh using more "modern" alternatives that make use of the newer features.

emblaegh

When I migrated years ago (mostly to get access to some plugins), nvim gladly swallowed my old configuration with no changes. Then I could change to lua and other modern features at my own pace.

fp64

…I still haven’t switched to lua, all I need still works fine

mmooss

From the Stack Overflow survey:

https://news.ycombinator.com/item?id=42811182

    Vim 21.6%
    Neovim 12.5%
I wonder what it looked like in prior years.

joeblubaugh

I’m willing to believe that “vim” combines some neovim users, but I’m not surprised that the original is still more popular. Anecdotally vim seems to ship new features faster than it did 3 years ago.

wirrbel

Braam really took Neovim personally and got better at getting stuff into vim that he wouldn't merge before once neovim was arround as a competitor. I really lost track of vim in the last years because neovim is just a solid platform with an active community.

But honestly at work, I think I am the only one using either a vim or emacs (I kind of use neovim and emacs but primarily neovim). In my childhood there was a TV series called "The last of his class" and it really showed old people (retirement age) doing jobs that will be gone once their retire. While some jobs truly vanished, others just transformed so drastically that they cannot be likened anymore to the job those folks did. Anyway, I feel we are watching changes in developer tooling that will be seen as the end of an era.

* https://de.wikipedia.org/wiki/Der_Letzte_seines_Standes%3F

112233

Neovim sounded like a good idea, so I switched, too. Then after an update, it broke mouse selection in terminal, by turning on some crazy option by default. I still have to search how to disable it each time. Ok, things like that happen. Then, after another update, it broke terminal update. Like, your screen scrolls up or down a line and the text does not get redrawn correctly. Is it a wezterm issue? Well, the original vim works flawlessly. So do less, top, and any other terminal programs. Except neovim.

No thanks. I dont care how many golden elephants are in the trunk if I cannot drive it.

bawolff

People who describe themselves as "vim nerds" might not be representitive of the average vim user.

gtsop

I went back and forth quite a lot until i decided to stick to vim. The reason being that I want to gain deep knowledge of my editor instead of depending on a gazillion plugins that occasionally break. Now, I understand this is something you can do with both vim and neovim, however the documentation of neovim is littered with both the vim docs and the new lua docs, and there is a vibe of "you already know all of vim, here is the lua equivalent", which made it very inaccessible to me. I decided I'll spend the time in the more simple editor of the two and maybe reevaluate this decision again in 3-4 years

nicoloren

I did the same. I mostly use Vim without plugin and a simple vimrc file. For the heavy stuff and big projects I use VSCode.

xenodium

Tangentially related and as an Emacs user, I still see the editor as a platform that bends to my needs https://xenodium.com/a-platform-that-moulds-to-your-needs

weinzierl

"DNS was also troublesome—the vim.org domain was managed by Stefan Zehl"

vim.org was created (probably around 1998) and has been owned by Sven Guckes for most of its existence. In the beginning Sven also managed the content but I think at some point Bram took over. Unfortunately Sven passed away not long before Bram.

dmortin

I wonder how long vim and emacs can stay vibrant. I've used emacs in the last 20 years, so I stick with it, but new generations who are trained on vscode and such are less likely to use such "old fashioned" tools.

Surely, there will still be emacs and vim users 50 years from now, but the user numbers and the community power will diminish as the graybeards gradually leave this plane.

Ferret7446

You can't really compare vim and emacs beyond a superficial level.

Emacs is fundamentally an interactive shell, like Bash. It has a text editor, also like Bash. It is of course generally more powerful and featureful than Bash.

Hence, people sometimes live in Emacs, because it's a shell like Bash or Gnome or KDE.

I use Emacs and VSCode. VSCode for some code repos, and Emacs for general computer usage.

Meanwhile, Vim is a text editor. It is neither a shell nor an IDE, although it can be adapted somewhat into an IDE.

I also use vi (alongside Emacs and VSCode). vi is for editing some text if I am not in Emacs for some reason or if I temporarily borked my Emacs config.

(I also use ed, for when I'm in a dumb terminal or I don't want to lose screen context.)

Vim or Emacs "dying" is not really an issue, although Vim or Emacs losing enough mindshare to keep them up to date as competitive IDE options, maybe that might happen.

qazxcvbnm

Just for the other side of the picture, I live in vim and use it as my terminal multiplexer. Vim’s my shell. I have thousands of buffers in vim and practically never leave it. I’ve used terminal multiplexers for years before I switched to vim in that capacity and never looked back. The integration it’s allowed between all my buffers and commands and shells is difficult to match in my opinion.

abraxas

Lots of editors and IDEs came and went while Emacs/Vim persisted. Through my three decade career I recall the ascents and downfalls of tools like BRIEF, CodeWright, NEdit, JEdit, TextPad, Notepad++, Visual Studio, JBuilder, Eclipse, Sublime and a few others so the cemetary (or hospice in some of those cases) is large.

joelthelion

To me, vscode is unbearably slow. I think that alone is enough to keep vim alive.

Also, I don't really miss anything from more advanced ides when in vim. There are great packages for almost anything.

rob74

To put it into perspective: vi was already 15 years old when Bram decided to write vim for the Amiga, which had a GUI - so vim already looked out of place on the Amiga too! - but it was still successful, of course (I think) mostly because of being ported to Linux pretty much at the same time as Linux got started.

makeitshine

Vim may die, but vim-mode will definitely be around.

runevault

I think Neovim helps with this, though last time I was using it (via... bootstrap? One of the prebuilt addon packs) at some point a Mason update broke my LSPs for multiple languages and i went back to VS Code on my Linux laptop because I didn't want to fight with it.

mobilemidget

I ran screaming from VS when I noticed how much resources it used and what software it copies on remote servers in case you want to work remote. Did this improve at all in the last year+?

mmooss

Emacs and Vim have remained popular through several generations. What do developer surveys say? Vim was near the top a few years ago, iirc.

krykp

With nvim, there has been quite the resurgence of Vim. Good software tends to be resilient. I believe both emacs and vim will see many, many more years.

openrisk

Neovim feels indeed the proper future-proof evolution of a standard. Its still a bit cumbersome to setup (fonts, lots of plugins to configure, opinionated and overly decorated UI etc.). The acid test of maturity is the dry functionality you get out of the box in a fresh linux. It should be "just right", introducing the new thinking and functionality of neovim without getting in the way.

volemo

I wonder, will there be something to emacs, as nvim is to vim?

eviks

https://survey.stackoverflow.co/2024/technology#1-other-tool...

emacs is 4% vs VSCode 73%, so it's not popular, though vim still is

mmooss

Thanks. In more detail:

    Visual Studio Code 73.6%
    Visual Studio 29.3%
    IntelliJ IDEA 26.8%
    Notepad++ 23.9%
    Vim 21.6%
    Android Studio 16.1%
    PyCharm 15.1%
    Jupyter Notebook/JupyterLab 12.8%
    Neovim 12.5%
    ...
    Emacs 4.2%
    ...
    Spacemacs 0.4%
So Vim + Neovim = 34.1%, essentially second to Visual Studio, the overwhelming leader.

atorodius

I use VIM bindings in VS Code. Always assumed many do but might be wrong

xarope

Ditto.

I went from vim to neovim, but the LSPs for python/go(lang) for large files (not that large, maybe 10k loc) seem to really bog it down (back then, no idea if it's better now), whereas with VS Code it was still performant enough. So I ended up using VS Code with Vim bindings.

And yes, with ad hoc work, I still end up using system vim when just doing simple edits (e.g. adding a line to README.md or somesuch)

dailykoder

At work I often switched to VSCode because I couldn't get pyright to work with our django project. The errors everywhere were just annoying to look at. So I looked around and found "ruff" and "jedi_language_server". This combination seems to do the trick. I don't have to configure anything. I source my venv and it "just works". I assume our python codebase is something around the 10k LOC, too. I am not mainly responsible for the python part, so I don't spent excessive amount of time in there, but for the time I do, it works nicely

- https://github.com/pappasam/jedi-language-server

- https://github.com/astral-sh/ruff

matwood

Similar. I use IntelliJ, Neovim, and some Zed all with vim keybindings. Modal editing just fits my mind. As an aside it’s also one of the reasons I dislike Notion. I feel like I’m always inadvertently changing the content.

flohofwoe

Me too (there doesn't seem to be plugin that's completely free of issues unfortunately). Vi/Vim is basically the universal text input model which allows me to transcend text editors and platforms. Also I quite often find myself starting a vim instance inside the VSCode terminal for quick text edits.

null

[deleted]