Or I can use a text editor like TM2 or ST2 and turn on vim bindings and get 80% of the way there (that's a generous 20% for all of the vim hotkeys that don't work in the emulated modes).
What I've found with "vim modes" is that I get the wrong 80%. It's really about how you approach development; in my world, it's very editing-centric. For others, it's tool-centric. If I can get 100% of the editing environment I want with 80% of the tools I want, I'm happier than I would be with your suggestion which would be reversed.
Alternatively VsVim for Visual Studio. I prefer it, although I couldn't give any reasons why.
It still fails the "Does it break flow by not implementing some feature or other?" test fairly frequently though. First thing that comes to mind is that while it has text objects, it seems to be lacking "tag" though (vit, not vi<). Which is a shame, as it's quite useful for web dev.
What features do they fail on typically? Have you tried Xvim? It's far from perfect(still alpha) but it's got a lot going for it. It turns out Vim has a lot of features and it takes a while to get to a polished state.
Or you can use a few plugins to get 80% of the "missing" features of something like TM2/ST2. Especially if terminal/cross-platform support is an issue.
Whatever floats your boat, any half-way decent expandable editor should be able to emulate other editors features with some effort.
Corollary: Whatever you do, there still will be some rabid CygnusEd fan complaining.