Anyone who’s ever dabbled in the dark art that is Emacs knows that chances are you’ll be overwhelmed before you start making sense of Emacs’ unique view of the world. There is just too much information out there…
There are many great Emacs resources targeting different groups of Emacs users. The problems is that often the people that would benefit the most from some of those resources don’t even know about their existence. That’s why I’m putting together this article - to collect the best resources in a single location and categorize them accordingly. Surely I’ll miss a lot of stuff - I’m just one man and I certainly don’t know about many great repositories of Emacs wisdom. I hope you’ll help me by pointing out such repositories in the comments section. So here we go…
Emacs Squires (Beginners)
The Emacs Tutorial
Built into Emacs itself this should be the first thing you ever read
about Emacs. The tutorial is interactive (you get to play with
concepts after you read about them) and you can start it at any point
(provided you’ve started Emacs first) by
The Emacs Refcard
The Emacs Refcard is a very useful resource to keep tugged under your keyboard (in printed form). It’s generally bundled with your Emacs installation in both pdf and tex formats, but I’ve included a hyperlink to spare you the search for it.
The Emacs Reference Mug
The Emacs Reference Mug is basically a refcard printed on a tea mug. Let’s you memorize keybindings while enjoying a delightful cup of English Breakfast…
Mastering Emacs is a relatively new web site (it just celebrated it’s first birthday), dedicated to teaching Emacs to beginners. It has some really nice articles to get you started and a nice reading guide to go alongside them. Mastering Emacs features a few articles, covering more advanced topics as well.
Emacs Fu is a blog discussing little (and not so little) tweaks to make working with Emacs even nicer. Its author has been an Emacs user for the last decade or so and certainly has a lot of interesting tips and tricks to share from you. Even I happen to learn something new from Emacs Fu from time to time.
Programothesis is an YouTube channel dedicated to Emacs. It features over 30 short Emacs screencasts covering various topics.
Learning GNU Emacs is the last book that was ever published about Emacs. It’s a bit dated now (the last edition is from 2004), but Emacs doesn’t change that fast and you’ll still find a lot of relevant info into the book. This was the second resource I’ve read about Emacs (after the built-in tutorial) and while I didn’t find the book outstanding I did find it very helpful.
Emacs Rookie is a web site dedicated to Emacs tips (mostly about beginners). There are only a few articles there right now, but hopefully their number will grow substantially over time.
Emacs Rocks is a series of short Emacs screencasts. While some of the things suggested there make me grind my teeth, there are also quite a bit valuable suggestions that you’ll find in the short videos.
Emacs Prelude is a custom Emacs 24 configuration developed by me and optimized for your joy and productivity. It’s a good starting point for anyone looking to get started with Emacs without too much initial research and ceremony. I’m always looking for ideas on extending and improving Prelude.
Emacs Starter Kit
Emacs Starter Kit is a custom Emacs configuration similar to Prelude. The stable version targets Emacs 23 and ESK 2.0 targets Emacs 24 and makes heavy use of the new Emacs Lisp Package Manager (ELPA) introduced there. I’m obviously much more fond of Prelude, but it’s only fair that I mention the competition as well (ESK has been around much longer and is a more stable project by all means).
An Introduction to Programming in Emacs Lisp
Although Emacs Lisp is usually thought of in association only with Emacs, it is a full computer programming language. You can use Emacs Lisp as you would any other programming language.
Perhaps you want to understand programming; perhaps you want to extend Emacs; or perhaps you want to become a programmer. This introduction to Emacs Lisp is designed to get you started: to guide you in learning the fundamentals of programming, and more importantly, to show you how you can teach yourself to go further.
It’s also built into Emacs - you can access it by typing
C-h i m
Emacs Lisp Intro. The book is very light reading and doesn’t assume
any programming experience. If you’re an experienced software engineer
the Emacs Lisp Manual might be a better place to start you Emacs
There are a few Twitter accounts dedicated on Emacs. I recommend you to follow @emacs_knight(operated by yours truly), @learnemacs, @EmacsRocks, @dotemacs and @dotemax. My personal account is listed in the sidebar - while I do tweet about Emacs there from time to time, I mostly tweet about programming so follow me at your own discretion.
There is a irc.freenode.org channel named #emacs. I highly recommend you to hang around there - a lot of great Emacs hackers are permanent residents of the channel and will kindly answer most questions you might have about Emacs.
Given that Emacs has a great IRC mode built-in (that would ERC) you have little excuse not be in #emacs. My handle there is bozhidar (I know - total surprise, right?).
Effective Emacs is a popular post by Steve Yegge in which he discusses a few techniques to make more effective use of Emacs. I don’t fully endorse them, but still there a few great tips in there.
A Gentle Introduction to CEDET
If you’re doing any C/C++ programming you owe it to yourself to read Alex Ott’s excellent article A Gentle Introduction to CEDET.
The Emacs Wiki is the one stop to find answers about all topics related to Emacs. The Wiki, however, is poorly moderated and in a state of total chaos and disarray. This makes it a bit hard to sift through all the crap there and extract only the really valuable bits of information. The amount of wisdom collected on the wiki is impressive never-the-less and every experienced Emacs user should browse it numerous categories for tips and tricks.
Perhaps surprising for some - the Emacs Wiki is housing a huge collection of Emacs Lisp source files as well. I have a personal appeal to all the people using the wiki to house their Emacs Lisp projects - “For the love of God - use GitHub!”.
The Emacs Manual
The official Emacs Manual is one of the greatest Emacs resources ever
written, but only a handful of Emacs users seems to have read it. It’s
built into Emacs itself and you can start perusing it simply by typing
C-h r. While it’s a hefty volume, the Emacs Manual has one serious
advantage over the competition - it’s always up-to-date.
The Emacs Lisp Reference Manual
If you’re serious about extending Emacs - this is the book to
read. It’s targeting experience developers, it’s always up-to-date and
it’s the ultimate Emacs Lisp resource in the world. It’s also
available for reading directly from Emacs itself -
C-h i m Emacs Lisp.
Planet Emacsen is a RSS feed aggregating most well-known Emacs blogs out there (including this one). If you’re serious about Emacs you have to subscribe to it.
Mentioning it also spares me the need to list all those great blogs in here.
Understanding SLIME is an excellent overview of SLIME, featuring a myriad of links to great SLIME resources. You should see the SLIME video tutorial even if you don’t read anything else from the article.
SLIME Tips is a blog dedicated to sharing little know features of SLIME with the rest of us. Seems to be dormant, but started off pretty nice…
Practical Common Lisp
Common Lisp? We’re talking about Emacs, right? Strange or not I found
more about Emacs Lisp, while studying Practical Common Lisp, than
the bundled Emacs Lisp manuals. For me the explanation is simply -
Practical Common Lisp helped me get the Lisp way of thinking. There is
cl module is Emacs that implements a good deal of Common
Lisp in Emacs Lisp and I use it all the time. I, personally, dream of
an Emacs using Common Lisp (or at least Scheme) instead of Emacs Lisp,
but doubt I’ll live to see such beast.
How to Tackle all that stuff?
Well, there is no universal formula. What follows is just my personal suggestion.
Study the rest of the resources at your own discretion. Following Twitter accounts has very low overhead for you and could be very beneficial.
Read the Emacs Manual. Read the Emacs Lisp Manual. Subscribe to Planet Emacsen. Read the source code of Prelude or the ESK. The rest is totally up to you.
Read the Emacs source code. Contribute bug fixes and new modes. Share your knowledge. Sharpen your Lisp skills.
The road to Emacs mastery is a long and tiresome one. But it’s also one of the most enjoyable roads one may choose to travel. Hopefully you’ll enjoy it even more armed with the many resources I’ve listed here.
In the beginning of the article I said I’m certainly going to miss many great bits of Emacs wisdom. I’d like to ask you to mention them in the comments section so that I could add them to the article.