I've been trying to improve my emacs-fu for the past while. It was probably 18 months ago I declared bankruptcy on my duct-tape and bailing wire Emacs config and started fresh with Projectile and haven't regretted it for a second. I started reading the Emacs Reddit, which introduced me to Magit and OrgMode. Magit was hard for me to start and now it's become my preferred way to interface with git. OrgMode was even a shorter transition… I'm not running my entire life with OrgMode but I do use it for notes and my personal knowledge base.

But my fu stalled. I had a hump that I couldn't get over. I started to look if there was a current deep-dive book in the wondrous world of Emacs and I found one – Mastering Emacs by Mickey Petersen. It seemed to be the book that I needed but the thoughts on Reddit were mixed. Lots liked it but others pointed out that you could find most of it on the Internet or through the Emacs help. It was good for beginners but not for experienced users. I decided to give it a shot. And I'm glad I did.

I am a self-taught Emacs user. I glossed over things at the beginning of my Emacs venture that I didn't understand and never went back. I didn't know that then, but I know that now. Mastering Emacs is the first tech book in a long time I've read cover-to-cover, taking notes and making bookmarks as I've went. I've referred back to it many times in trying to get more helpful commands in my daily workflow. I gleaned a lot and – ironically – the biggest point Petersen makes is that Emacs is self-documenting. You can search the help with Emacs any time and it will actually be helpful. That, he claims, is the most important thing to mastering Emacs. I have to re-learn and re-orient myself to that idea… but I'm slowly getting there.

That said, there are things the Petersen talked about in depth that I never knew (or understood) before. Things from the book that I now use are:

  • Occur Mode – basically search on steroids. And then edit said lines.
  • killing by s-expression (C-M-k)
  • browsing the kill ring (M-y)
  • The above is made easier/better by Helm (which I thought I was using but was not)

Learning those four things would be enough.. but Petersen also gives a great guide to Eshell (available on his site) as well ad Dired, and other goodies. But, overall, his idea is that you should be able to learn about Emacs through the help documentation. Type C-h and behold what you can find out about.

If you are an Emacs power user that knows about these things, then I don't recommend it. If you are an "normal" Emacs user then I really, really think you should. It's worth every penny.