How to Learn Emacs: A Hand-drawn One-pager for Beginners / A visual tutorial
Posted: - Modified: | emacs, sketchesUPDATE 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!
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″. =)
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!
45 comments
mbork
2013-05-17T20:34:56Z- 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?
sachac
2013-05-17T20:44:02ZOooh, 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
2013-05-17T21:12:30Z(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:43Zpart 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:18ZYour flicker image is unfortunately missing. :-( Consider imgur?
sachac
2013-05-17T21:46:08ZSorry about that! Added imgur link. Hope that helps!
Guest
2013-05-17T21:41:47ZGreat!
Tom Ritchford
2013-05-17T22:39:32ZI 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....
sachac
2013-05-17T23:12:43ZMmm, 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:09ZThis is wonderful! I'll be showing to this to any person that asks me about Emacs :)
Brad Collins
2013-05-18T03:52:48ZGreat 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....
sachac
2013-05-18T04:56:31ZYes, please feel free to translate it! I would be delighted.
Garjola
2013-05-18T08:58:23ZGreat! I am making a t-shirt with your image.
Walter Vargas
2013-05-18T10:46:25Zlooks great, I'll print this out and hang it on the wall of the office.
lolfox
2013-05-18T11:12:24Zchuck norris once used emacs after using vim.
NerdFlanders
2013-05-18T11:41:48ZI have a tip how to make this better:
add a "or switch to VIM" bubble....
Abelard Lindsay
2013-05-18T12:08:28ZI love vim but find myself wanting emacs modes for ml and lisp. Thanks.
Adam Awan
2013-05-18T12:57:17ZThanks 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.
vec
2013-05-18T12:59:29Z> “Emacs vs. Vi” holy war (one of the classic battles in computer science)
no, not really! computer science deals in way more complex problems.
Cherious
2018-05-23T04:23:38ZOne 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.
vec
2013-05-18T13:00:13Znice sheet though, maybe that'll help me to get into emacs
FreakSQuirreL
2013-05-18T13:48:15ZReally 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:44ZExcellent! 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!
sachac
2013-05-18T15:08:26ZHilarity! =) 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:17ZHey, 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
2013-05-18T17:31:56ZNice
Andrew
2013-05-19T06:41:10ZFantastic Stuff
behemoth
2013-05-19T13:48:47Zvery nice
naivnomore
2013-05-19T14:50:34ZHand 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.
Guest
2013-05-20T16:01:46ZNice 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:14ZYeap, 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:36ZSascha, What a treasure you are for the Emacs community! This one-pager is perfect for my CIS students. :-)
Sacha Chua
2013-10-19T18:53:46ZHooray! Don't miss the keyboard shortcuts one-pager, which would be good to print on the back. =)
Nick Horton
2014-01-12T23:07:25ZThis is wonderful. Thank you! :-)
ej
2014-06-13T07:54:46ZI really enjoyed this, thanks.
Marcos Estigarribia
2015-09-07T17:36:57ZGreat ¡¡¡
Bart
2016-12-31T00:11:45Zmaplib seems to have died unfortunately :(
sachac
2016-12-31T05:42:02ZThanks 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:09ZThanks 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
sachac
2017-08-10T04:02:01ZI'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:00ZThansk 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.
sachac
2017-08-15T15:28:34ZI 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:34ZThanks 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!
Steve
2017-11-25T02:23:53ZSo happy to find this!! And the poster print tools as well
Morille
2021-11-11T17:37:41ZVery useful resources collection. But I couldn't open the link related to "Read Lisp, Tweak Emacs series". It seems like an obsolete link.