(Disclaimer: I am a happy Spacemacs user, and it would take a lot to pry it away from me.)
I'd recommend learning vi, so you can learn how awesome modal editing is. Then, learn Emacs' basic commands for line editing (so as to make readline apps easier to work with). Once you've done that, evaluate whether a (Neo)vim with plugins or Spacemacs setup is better for you, then choose one of those.
- *-mode (specific syntax highlighting, commands, etc. based on project or task)
- edit/save remote files via built-in TRAMP [0]
- built-in plugin manager (interactive, or via emacs init config)
- MELPA [1]
- Non-blocking (e.g., run tests in one buffer while editing source in another)
- client-server approach (neovim adopted this, but emacs has had far more time to work out the kinks)
The main reasons I stay with vim are:
- already committed to vi-like muscle memory (and evil-mode, while admirable, doesn't cut it)
- no translation of VimL configs and plugins to Emacs Lisp
- many plugins for languages, frameworks, etc. which I use daily are severely out of date in emacs (and I'm too lazy to maintain them myself)
[0]: http://askubuntu.com/questions/79100/how-to-open-a-remote-fi...
[1]: http://melpa.org/
Do you use neovim?
Use vim, learn vim all the way. If/when you're working on an "old" vi (e.g. the one in busybox, for embedded developers), you'll need to drop some of the more advanced stuff, but you'll still be able to do what you want, edit some config file or such, though it may feel a bit awkward at times. But when you're doing the heavy editing, you really want to use all of vim.
Your advice is very misleading in 2016.
I don't think there is an active vi codebase, vi is actually vim in compatibility mode in most operating systems.