Nathan Dawit Chane has an interesting post on his journey from Vim to Emacs. I can relate to it because his journey is eerily similar to mine. Like him, I spent many years as a Vim user and could be legitimately said to be an expert user.
Like him, I tried Emacs several times but it never stuck. Unlike Chane, I gave up for trivial reasons. I didn’t like the default scrolling and “yank” meant precisely the opposite of what I was used to. Like Chane, I finally moved to Emacs because I started doing all—or at least most—of my programming in Lisp. Emacs—Paul Graham notwithstanding—is simply a better fit for that type of programming. I’ve sacrificed billions of pixels explaining that concept so I won’t relitigate it here.
What finally worked for Chane was to start with a simple Emacs install—complete with the standard Emacs bindings—and become comfortable with that before adding packages. When I started, before ELPA, adding packages was a lot harder so I spent a lot of time just getting used to vanilla Emacs.
Like most of us, Chane came to realize that Emacs was not just another editor but another way of working. It is, as I often say, a light weight Lisp machine that provides an operating environment complete with its own Lisp based programming language. It also happens to have a pretty good editor built in. The thing about that “pretty good” editor is that like everything in Emacs it can be tweaked to make it perfect for you and your workflow.
My sense is that Chane has not yet completely embraced the Emacs way but that he is well on his way. As I often say, Vim is a great editor but it exemplifies another way of working. You may like the Vim way better, which is fine, but if you’re looking for something that recapitulates the Lisp Machine way of working, Emacs is worth learning.
UPDATE
: Added link.