Every so often when vim irritates me I try out PyCharm or vm-whatsit, and while IDE's do have better viz for some use cases, the actual act of manipulating code in-buffer never comes close to speaking vim. And I always add the vim plugin, without them the tool would be of no use to me whatsoever.
I hope someday some tool will eclipse (no) vim, but that's simply not the case in 2017.
PyCharm - No good vim emulation for editing
Spacemacs - Soft locks, Ctrl-] doesn't follow the same word boundaries as Meta-. (which matches Vim's implementation)
Sublime Text - Closest fit (enough that I own a personal license), but again, the vim emulation is pretty bad.
Atom - Slow. Even at its fastest, it's noticeably slower than Vim
VSCode - Slow (though faster than Atom), no good vim emulation.
Yes, most of my criticisms form around the lack of good vim emulation - my muscle memory is very well established. I've just yet to find a good, responsive, and comfortable editing scheme from a non-Vim editor.
I recently switched back to doing Java almost 100% of the time and have been using IntelliJ. There are definitely a lot of Java-specific features I use very heavily that I wouldn't be able to get without a lot of of time and plugins in Vim. But sometimes I hit weird bugs that highlight the relative complexity of the core, and I often feel frustrated by how light-weight it isn't (granted, I've tried some other Java IDEs and it's amazing by comparison).
But I used to work more with various scripting languages, and my gvim setup just couldn't be beat. So light-weight, but easy to set up again if I needed to. Still able to navigate code structures, debug without context switching. I often did something with a partner that amazed them, because they couldn't do it with their IDE; my favorite thing in the world is the look on someone's face when I select a rectangular section of text and change the indentation without affecting the stuff on the left. It was incredibly productive for years. I still occasionally go back there when I'm working in a single Java file, because the vi emulation mode in IntelliJ isn't quite there and I can manipulate the raw text so much faster in gvim.