Just use Emacs with evil mode, much better editing experience and you have all these features already. For ones you don't, just code it up in a few functions.
That's a fair point, but this situation rarely occurs because someone else likely has already written those functions before you, and adding it into emacs is as easy as `M-x package-install; PACKAGE`
why waste that time instead of using vim?