Best Vim Intro
youtube.com
youtube.com
I've been far enough down the Vim rabbit hole to feel the bottom, and I thoroughly enjoyed it.
The only reason I don't live in [Neo]Vim anymore is that I decided to learn a different keyboard layout, and ended up with some distaste for Vim's normal-mode mnemonic-based keybinds and their associated function names. Because of the way vim is designed, you can't really get far from the default keybinds. If you are willing to live with that fact, Vim is definitely worth learning.
As a sidenote, NeoVim is essentially better than Vim in every way, so specifically: use NeoVim if you like Vim.
Emacs is also very good. Evil-mode is very full-featured, and elisp is nicer than viml. Emacs is also great if you don't want Vim's keybinds. Emacs' documentation and configurability is essentially unmatched, although Vim gets real close.
It is as universal as a chainsaw and one of the few “programmmable” editors (sometimes it’s quicker to do a task “manually” in Vim than it is to write a program) ... vim’s native language is “semi-structured text” and it is wickedly powerful when used appropriately.
With the innovation of language servers and language clients, I think Vim is less necessary for “workaday” programmers.
Language-specific editors will give you refactoring, context sensitivity, in-line references, etc, and while Vim can get you there, a GUI will likely be a lot more convenient.
...but when you do need vim, accept no substitutes.