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

This entry is part 1 of 4 in the series A Visual Guide to Emacs
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 and Flickr 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 , 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!

Series NavigationHow to learn Emacs keyboard shortcuts (a visual tutorial for newbies) »

11 Pingbacks/Trackbacks

  • mbork

    – 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…

      • mbork

        (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

      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 Swirly

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

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

  • Great!

  • Tom Swirly

    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

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

  • 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.

  • Garjola

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

  • Walter Vargas

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

  • lolfox

    chuck norris once used emacs after using vim.

  • NerdFlanders

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

  • Abelard Lindsay

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

  • Thanks Sascha, great sketch. I found it hard to move away from Vim until I found Evil (Extensible Vi Layer) for Emacs This replaces any need I had to use Vim.

  • vec

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

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

  • vec

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

  • FreakSQuirreL

    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 ;)

  • Excellent! This 13-year user didn’t know about C-h w . I would always invoke M-x 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

    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.

  • Nrkkalyan


  • Pingback: Article: How to Learn Emacs: A Hand-drawn One-pager for Beginners » sacha chua :: living an awesome life | Least Action()

  • Andrew

    Fantastic Stuff

  • Pingback: Visto nel Web – 79 | Ok, panico()

  • very nice

  • Pat Thomasson

    This is great. As one of your less code savvy followers, this has prompted me to go a step or two back off the page from where you started and learn a bit about text editors in general. I am curious about VIM, Emacs and some other tools but I am curious about a lot of things. Thanks again for sharing.

  • naivnomore

    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.

  • xpress razor

    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.

  • Pingback: How to Learn Emacs: A Hand-drawn One-pager for Beginners | Interesting Reads()

  • Sylver Stone

    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..

  • Pingback: 国外的一个Emacser写的如何学习Emacs » 了解并拥有()

  • Pingback: Google Hangout with Sacha Chua – koma's world()

  • Pingback: Joey's Blog | Web’s Dead, Baby: Part 2()

  • Pingback: How to learn Emacs keyboard shortcuts (a visual tutorial for newbies) » sacha chua :: living an awesome life()

  • Pingback: Cómo aprender Emacs |()

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

  • This is wonderful. Thank you! :-)

  • Writing Service Available With Student Discount
    Order Now:
    Online Order Skype:+18662786235 :)

  • ej

    I really enjoyed this, thanks.

  • Pingback: Learn Emacs! | TODO: need cool title here()

  • This is great. As one of your less code savvy followers, this has prompted me to go a step or two back off the page from where you started and learn a bit about text editors in general. Johnbenitez

  • Marcos Estigarribia

    Great ¡¡¡

  • Pingback: Clojure Gazette 1.42 | Clojure Gazette()

  • Pingback: Debian es fiable, pero no a prueba de soberbios! – Quijote Libre()

  • Bart

    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!