Evil is the most recent 'vim mode' for Emacs. I've had a couple of problems.. submitted an issue of github and it was resolved in hours (if not minutes). (For instance, :<number> was missing to go to a line.. fixed in minutes. I wanted jk to behave like <esc> in insert mode, I've been redirected to a post explaining how to do it, etc.)
The great thing about evil (and other vim-mode) is how it is easy to customize it as you wish. IMO, it's even easier to hack than with vimscript. For instance, I rarely use shift+j in normal mode and decided to use it to go go 4 lines down.. same for K and I want it to work in visual mode. Here's how I did it with evil:
(define-key evil-normal-state-map "J" "jjjj")
(define-key evil-normal-state-map "K" "kkkk")
(define-key evil-visual-state-map "K" "kkkk")
(define-key evil-visual-state-map "J" "jjjj")
(define-key evil-normal-state-map "0" "^")
So basically, I find it pretty cool that I can customize how I want my vim-mode to behave. And obviously, from vim-mode I can call any normal elisp functions.
It's impossible to find an editor that'd fit exactly your need without you customize it because that's how we are.. everyone using Emacs or Vim use it because they want to have their own personal editor with their own function/binding.
However, Emacs with Evil was what I was seeking for a couple of years. I wish I could have made the switch sooner.