The best way to learn Emacs

Home About Codeberg

What is the best way to learn more about Emacs? This question comes up a lot, I like to answer it in my own way. For me, there were 2 things that helped most: reading blog posts about how people use Emacs to solve problems, and learning how to read the manual.

The manual is a set of hypertext documents (but not HTML) with an ancient and essoteric browser called Info-mode. It has a built-in search engine, and since all the information you need to know is in a single place, it is much easier to use than a web search engine like Google. So step #1 is learn how to use the manual page browser and search engine.

1. A cheat sheet

Opening the manual:

Search

Navigating, flipping through pages

That is all!

There are other keys you can learn, but those above are all of the keys you need to know to browse the Emacs manual pages as efficiently as you would in a modern web browser.

2. Read bloggers who Emacs

I never had trouble learning the basics of Emacs, even though it is nothing like any other text editor you've used before. There is an interactive tutorial in the Emacs manual that steps you through the basics of moving around, editing, splitting windows, and running commands. Also, almost every single blogger who has ever written an introductory text on Emacs, every vlogger who has ever made a video introducing Emacs, has explained how to do basic editing in Emacs. So I don't need to discuss that here.

But what is more important, and what you can really learn from Emacs bloggers, is how people use Emacs to solve problems on their computer, especially by automating a repetitive task, or by using an Emacs app that provides a clever user interface to an external piece of software like Find, or Git. So I recommend anyone learning Emacs try to observe how some of the long-time Emacs users use Emacs to solve problems on their computer. This is the best way to learn more advanced topics. And I hope to write a few articles on advanced topics here on this blog as well, if I feel like a particular solution has not received enough attention.

The best resources as of this article being written are:

There are many others, I will try to keep this post up to date with more resources.