VIM does this perfectly. Not a single feature is exposed to the user. Every feature the user might ever want is supported, they need just Google for which keyboard incantation to invoke it.