How to Learn Emacs: A Hand-drawn One-pager for Beginners / A visual tutorial

Posted: - Modified: | emacs, sketches
UPDATE 2016-12-31: Removed dead link to maplib.
UPDATE 2014-12-30: Added link to Emacs beginner resources
UPDATE 2013-09-23: New, much larger version – see below!

Here’s version 2 (September 2013). You can print this at 16.5″x10.75″ at 300dpi. Have an ordinary printer? Check out PosteRazor!

How to Learn Emacs - v2 - Large


Original post from May 2013:


I thought I’d draw a one-page guide for some of the things that people often ask me about or that would help people learn Emacs (and enjoy it). You can click on the image for a larger version that you can scroll through or download. It should print all right on 8.5×11″ paper (landscape) if you want to keep it around as a reminder. Might even work at 11×17″. =)

How to Learn Emacs

You can find the image on Imgur too.

If you’re completely new to Emacs, start with these Emacs beginner resources. If you’re comfortable with Emacs and you want to learn Emacs Lisp, check out my Read Lisp, Tweak Emacs series. For more Emacs inspiration, check out Planet Emacsen.

Feel free to share, reuse, or modify this under the Creative Commons Attribution Licence. Enjoy!

Possibly counterintuitive point: if you’re a developer or system administrator, t’s good to learn at least the basics of Vim. Despite the perception of a “Emacs vs. Vi” holy war (one of the classic battles in computer science), it makes sense to know both editors especially if you work with people who use Vi a lot. Know enough Vi to find your way around, and then learn how to customize Emacs to fit you to a tee. That way, you’ll avoid the pressure of not being able to work well with your team or your infrastructure, and you’ll have the space to explore Emacs. =) Emacs is totally awesome.

Need help with Emacs? Feel free to leave a comment or get in touch with me. I’m often in the #emacs channel on irc.freenode.net , and I also occasionally schedule time to help people one-on-one. Also, the Emacs community (mailing lists, newsgroups, IRC channel) can be wonderful, so definitely reach out to them too. =)

Meta discussion: How can I make this even better? What else would you like me to draw a guide for? I’d love to hear your thoughts! Also, thanks to dash, nicferrier, fledermaus, ijp, hypnocat, Fuco, macrobat, taylanub, axrfnu, Sebboh, thorkill, jave_, jrm, and the rest of #emacs for suggestions and feedback!

Update 2013-05-18: Check out the conversations on Hacker News and Reddit!

You can view 45 comments or e-mail me at sacha@sachachua.com.

45 comments

- What else would you like me to draw a guide for?
- Git! Git! Git!
A few more comments: (i) this is awesome. (ii) I guess you called incremental search "interactive search" on purpose, right? (iii) When is part II (intermediate) going to appear?

Oooh, Git would be good. I'll need to do some research, though - Git boggles me from time to time! <laugh>

(i) Thanks!

(ii) Yeah, incremental is another one of those Emacs terms that I'm not sure people will understand right away... =)

(iii) Intermediate Emacs is harder to think about because the possibilities are so broad! <laugh> It might be interesting to do one on Org and another one on Emacs Lisp...

(iii) True. For me, a natural choice would be e.g. things like C-t, M-t, M-a/M-e/M-k, since I write *a lot* of texts in natural languages in Emacs (and LaTeX/ConTeXt), but many people never use those commands, I guess. But I think there are a few things good for the intermediate level (Elisp would be too advanced, I guess). One of them would be regexen; another keyboard macros (you mentioned them here, I know, but they deserve more space); yet another, the notions of major and minor modes. Also, the idea of "argument" (as in C-u) is definitely worth explaining. Then, navigation in a buffer (one thing I love in Emacs is C-M-v;)), maybe display tricks like C-l, narrowing, visual-line-mode...

In general, I think it might be a good idea to write something like an alternative Emacs tutorial; the C-h t one is a bit too verbose (and contains imho unnecessary things, like concentrating too much on C-b/C-f/C-p/C-n).

Jeremy Le JyBy

2013-05-28T18:58:43Z

part II could be on the .emacs.d structure for personalizing emacs: it's helpful even for beginners, and it would be helpful for some like me who started a configuration file .emacs 15 years ago and would like to structure it in the "new" way....

Tom Ritchford

2013-05-17T21:10:18Z

Your flicker image is unfortunately missing. :-( Consider imgur?

Sorry about that! Added imgur link. Hope that helps!

Great!

Tom Ritchford

2013-05-17T22:39:32Z

I was hoping to send this to my less-computer-y friends who need an editor.

But the idea of saying, "Hey, learn this other editor with a completely different metaphor and then learn emacs" - because "people won't give you grief"?

It's really like training people to ride a bicycle by teaching them to drive a car first....

Mmm, I added a note suggesting Vim if you're a developer or a sysad. If your friends aren't, they can totally skip that part!

Nicolas G. Querol

2013-05-17T23:21:09Z

This is wonderful! I'll be showing to this to any person that asks me about Emacs :)

Brad Collins

2013-05-18T03:52:48Z

Great job! I am now teaching our office manager emacs, and we will be teaching it in a Cambodian version of hackerschool that we're starting here in phnom penh and soon in Vientiane, Laos. Maybe we could even translate your one-pager into Khmer and Lao?

One for org-mode would be wonderful. And I like the idea of Git, but do it for emacs users so that it revolves around a workflow using magit for basic stuff and eterm for the more complex....

Yes, please feel free to translate it! I would be delighted.

Great! I am making a t-shirt with your image.

Walter Vargas

2013-05-18T10:46:25Z

looks great, I'll print this out and hang it on the wall of the office.

chuck norris once used emacs after using vim.

NerdFlanders

2013-05-18T11:41:48Z

I have a tip how to make this better:
add a "or switch to VIM" bubble....

Abelard Lindsay

2013-05-18T12:08:28Z

I love vim but find myself wanting emacs modes for ml and lisp. Thanks.

Thanks Sacha, great sketch. I found it hard to move away from Vim until I found Evil (Extensible Vi Layer) for Emacs http://www.emacswiki.org/em... This replaces any need I had to use Vim.

> “Emacs vs. Vi” holy war (one of the classic battles in computer science)

no, not really! computer science deals in way more complex problems.

One is for Dems another is for Reps. Ha-ha, I am joking. I'd like to think there is a niche for each. They are utterly different, fit for different types of brains, background, needs or purpose.

nice sheet though, maybe that'll help me to get into emacs

FreakSQuirreL

2013-05-18T13:48:15Z

Really nice! I got here after a friend shared a link to your blog :) I will keep spreading your work to help those who want to use emacs.

Btw, you blog is really interesting! keep the good work ;)

greetings from the land of the rising sun ;)

Raymond Zeitler

2013-05-18T14:53:44Z

Excellent! This 13-year user didn't know about C-h w <command>. I would always invoke M-x <command> and then stare at the mini buffer for the brief message that says what keystroke (if any) it's bound to.

Undo was on my short list of must-have text editor features. So it was one of the first things I looked up, and I used it often. But I learned the C-x u keystroke, not C-/, even though the latter is shown on the reference card.

I appreciate the vim help. Sometimes it's all there is. Besides it's hilariously funny! :)

Thanks so much!

Hilarity! =) Glad it helped. You can also find keybindings with C-h f <function-name>

Undo-tree is pretty darn cool. =)

Dave Marquardt

2013-05-18T15:49:17Z

Hey, remember how I couldn't see your drawing? It was a Feedly thing, and I can see the drawing just fine on your web site.

Nice

Fantastic Stuff

very nice

Hand drawn one pager is done very nicely. Good work. Succinct intro for beginners. However, It will be nice to have another one pager organized by the most frequently used commands. BTW, what did you use to create this one pager? It is really done very well. Thanks.

Nice tutorial. Once in a while someone posts about Emacs, and I get tempted again to play with the devil. When two three days passes, I find I can't do something, and I even don't bother looking it up. I silently go back to vim and wait for yet another tutorial.

Sylver Stone

2013-05-21T11:11:14Z

Yeap, I had to get all above summarized through (and much more) when starting with emacs. I found this post so illustrative, I've enjoyed it. I'm trying with emacs-prelude now and trying to learn lisp. I heard about using slime as IDE for this but I'm still at the "setting-all" stage, so crossing-fingers and go ahead.. thanks for this post..

Dennis Kibbe

2013-10-19T00:52:36Z

Sascha, What a treasure you are for the Emacs community! This one-pager is perfect for my CIS students. :-)

Hooray! Don't miss the keyboard shortcuts one-pager, which would be good to print on the back. =)

Nick Horton

2014-01-12T23:07:25Z

This is wonderful. Thank you! :-)

I really enjoyed this, thanks.

Marcos Estigarribia

2015-09-07T17:36:57Z

Great ¡¡¡

maplib seems to have died unfortunately :(

Thanks for letting me know! I removed the link. You should still be able to get the hi-res version of the image and pan/zoom around it in your favourite image tool. Ah, bitrot!

Emmanuel Goldstein

2017-08-07T14:11:09Z

Thanks Sacha. A question that I have been trying to solve on my own, unsuccessfully: is it possible to attach warnings to time stamps which are not SCHEDULE or DEADLINE? Let's say I have a doctor appointment (so it's not a deadline or a schedule task - because I don't intend to work on that). Just a mere one time event. Is it possible that emacs notifies me in the agenda a number of days in advance? Thanks! This would really useful

I'd probably use DEADLINE for automatic warnings (and just remember to mark it as done afterwards), or maybe add an active timestamp with C-c . (org-time-stamp). Active timestamps look like <2017-08-09 Wed> and cause the entry to show up in the agenda view. http://orgmode.org/manual/T... has more info. Good luck!

Emmanuel Goldstein

2017-08-12T19:44:00Z

Thansk Sasha. as for the active timestamps, is there a way for emacs to notify (warn) in advance for those such as for deadlines? Thank you.

I like using a weekly agenda view and a 2-day agenda view. You could also add extra active timestamps or additional entries.

Timothy Hoyoung Lee

2017-11-18T15:27:34Z

Thanks for this. It encouraged me to actually start learning Emacs.
I was a Emacs 'muggle' for most of my life until I stumbled upon a YouTube video introducing Org-Mode just two days ago. Seeing Org-Mode in action for the first time is like seeing someone pull off a magic trick. That got me interested to try out Emacs. Once I read your guide, I had a good sense of what to expect when I learn Emacs. Now I'm half-way through the Emacs built-in tutorials. I'm really looking forward to the day I start using Org-Mode for my personal workflows!

So happy to find this!! And the poster print tools as well

Very useful resources collection. But I couldn't open the link related to "Read Lisp, Tweak Emacs series". It seems like an obsolete link.