Vim's saving grace, for me, in order of importance:
1. It starts quickly
2. I already know it well
3. It runs in the terminal
Beyond that 🤷♂️ Most code I tweet is composed from my shell, not an editor. And I use Atom for experimentation since it has the best SiB integration.
When I had the option, though, I did make students use vim. But that was mostly just b/c didn't want the crutch of a mouse to even be an option. Seen too many students, 6 mo in, struggling for 10s to click the spot on their screen that the up key would take them to.
It fucks up your ability to think. In an ideal world, thinking and doing are the same thing. The greater the disparity between them, the more you will struggle.
One day I will try editing code in a visual/spatial representation. ASTs & language structure rendered into VR objects