I think it's basically the Blub Paradox for editors: vi(m) is so much better than almost any editor, that its users think 'this, this is truly the best!' When they look at e.g. nano or Notepad++ or Atom, they can easily see how vi(m) is so much better, but when they look at emacs, they simply think, 'nah, I don't need to use that!'
The thing is, just like conditional, symbolic expressions and garbage collection are pretty important for writing expressive programs, so too a power extensible interface to textual information is important for communicating with a computer. vi(m) is a great editor, but emacs is a great editing environment.
The thing is, just like conditional, symbolic expressions and garbage collection are pretty important for writing expressive programs, so too a power extensible interface to textual information is important for communicating with a computer. vi(m) is a great editor, but emacs is a great editing environment.