Vi's sense of composability. For example, 'd' is the delete command, but what does it delete? It deletes across a motion. What is a motion? Could be any movement mode supported by the editor, which ranges from simple cursor motions to motions involving words or blocks to forms of searching to raw line number jumps.
So, once you learn a vi command, you can use it with all the motions you already know, and once you learn a motion, you can use it with all the commands you already know.
The other aspect, that is more insidiously useful: vi is almost everywhere, and will easily fit on an embedded system. It's a rare server that doesn't have it, either. This is definitely vi, not vim, when I say this, though.
I've used vim for more than 20 years, but lately I'm finding that now that `prettier` and `black` can just reformat code wholesale, I don't have to care as much about the precise tiny edits that vim is so good at. And when I'm not worried about those things, I start to notice that modern IDEs have much smarter syntax checking and whole-project search than I've ever seen in vim, even with plugins. So I think I'm moving on.
Yep, for me the peak right now is an IDE that has a great VIM plugin. You get the best part of vi (the insane productivity and wrist health increase that is modal editing) with all the best parts of a modern IDE.
I don't feel like I'm missing anything from a VIM-only setup in any way right now
Totally agree about it feeling like playing a game. It’s probably because of the combos and just how fast things can be when you move around! I use neovim but I’m sure the experience we have is the same.
I am conversant with both. You are not really missing anything. I use vi when emacs is not already installed and I need to quickly edit a file. That's the main difference, for me. vi is already there, but emacs has to be installed.
A different way of doing the same thing for text editing, on which both are great. I use evil-mode just because of muscle memory from vim.
I have been using a jetbrain IDE recently and surprisingly, the vim plugin is pretty decent. So knowing vim lets me use both the IDE and emacs with less friction.
Primarily the fact that vim is EVERYWHERE and starts up instantly with zero config, so it's great when you find yourself on J. Random Server and need to edit something. It's good to know some basic basics.
So, once you learn a vi command, you can use it with all the motions you already know, and once you learn a motion, you can use it with all the commands you already know.
The other aspect, that is more insidiously useful: vi is almost everywhere, and will easily fit on an embedded system. It's a rare server that doesn't have it, either. This is definitely vi, not vim, when I say this, though.