The functions described in the article are crucial. You should rewire your brain to type them every time you ask yourself a question.
Generally speaking, Unix is very good at self documenting. Whether it's text editors (vim/emacs), shells (bash, zsh, ksh) or just plain man pages (did I mention the info pages for GNU tools?), the systems are great at holding their own full documentations.
I cannot recommend enough adopting the reflex of checking the local documentation before opening your web browser and hitting Google.
(To respond to another comment here, I also tried viper mode but it never stuck. It might have been too soon after switching, or it might have been that it was missing some integrationy magic that I gave it the wrong feel.)
However after many years of searching for the perfect keybindings I rediscovered Vim's charm for navigating and editing text, although I will never leave Emacs for it. The latter is too powerful. With Vim bindings finding their way in more and more applications they start to become pretty universal. (That said, it still prefer Emacs bindings in my shell.)
Evil really does give me the best of both worlds even wrt to keybindings and because of the muscle memory also makes firing up Vim on the shell or another server really convenient.
If you're a pure Vim user you will have to get used to some Emacs behavior, it is no drop-in replacement but it is pretty darn close. Some modes (Magit - a Git mode) are not supported.
For pure text surgery, I'm still significantly faster in Vim. But the fact that Emacs is so explorable/discoverable is just so fun!
Have you tried viper mode or one of the equivalents? I'm curious how it compares to vi. One of the things that I (as a long time Emacs user) have considered is to switch to using viper mode, even though I only know vi enough to edit a config file on a remote machine that lacks emacs. But I'm curious how it compares to the real thing, and if it gets in the way of ancillary emacs stuff (I can't live without stuff like "C-x v =" and "M-/").
The difference between Vim and the original vi is pretty huge. Just as an Emacs user might be stymied by the missing Lisp support in uemacs or zile, a habitual Vim user leans on stuff like text objects and visual selections, which were never even a twinkle in Bill Joy's eye.
[1]: http://blog.sanctum.geek.nz/vi-mode-in-bash/ [2]: http://zshwiki.org/home/zle/emacsandvikeys
Writing emacs lisp in emacs is a joy because it's so easy to drill down when things don't work and figure out exactly what is going on.
Random testimonial: «The guide has been extremely helpful and without it, I wouldn't be making the switch from vim. I particularly like that you present just enough information about various tools that I can use them productively, while referring to the excellent built-in docs. A lot of the programmer-critical tools have good documentation, but no "here's the bare minimum you need to know not to go back to your more comfortable environment" guides.»
I wish other software systems emulated them.
Another example: if you write "(funcall " (or if the insertion point happens to be an existing call to "funcall") and then hit C-h f, Emacs prompts you with "Describe function (default funcall)". If "funcall" is the function you wanted documentation about, you do not have to write out "funcall" again -- you just hit enter at the prompt.
http://www.slideshare.net/yukihiro_matz/how-emacs-changed-my...
It is bound to C-h k, <f1> k, <help> k, <menu-bar> <help-menu> <describe> <describe-key-1>.
I have no link to the source file. I am running version 23.1.1
However, Vim's '.' command is just so convenient! Emacs does have some packages to imitate it but they never worked quite alright for me.
Now that I am using evil-mode (Vim keybindings) in Emacs I am in a happy place.
But then again, my Emacs is growing with me and with every tweak I do it is becoming more of an extension of my mind and my particular way of working. This is not something I experienced in Vim.
P.D.: Also something the the . command in vim is only posible due to the mode switching being an implicit start macro/end macro.
However, C-x C-S-8 is certainly a more complex move than qq.
And the one for recording a macro to a register is even more complex. So complex in fact that I don't remember it. Hence I use those commands less often.
But the flip side is that something like occur or REPLs or magit or org-mode offer different benefits that you can not quantify in keystrokes as easily.
I guess there are different kinds of fluidity. To my mind, Vim is unmatched in low-level text manipulation fluidity. Emacs optimizes for a kind of higher level work flow fluidity.
Maybe Evil is the answer. But my brain has seemingly disparate modes for Vim and Emacs that are weirdly incompatible to each other.
Also, it helps to reimplement your favorite commands in Emacs. For example, I have M-s and M-r bound to something like f/F in Vim. Similarly, M-o and C-o act like o/O.