Prelude

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 pressing C-h t .

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

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

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.

Meet Emacs

Meet Emacs is a great introductory Emacs screencast by PeepCode. It’s not free, but if you prefer screencasts over reading manuals you should definitely have a look at it.

Programothesis

Programothesis is an YouTube channel dedicated to Emacs. It features over 30 short Emacs screencasts covering various topics.

Learning Emacs

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

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

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

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

On Twitter

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.

On IRC

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

Emacs Knights

Effective Emacs

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.

Emacs Wiki

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

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.

Emacs Masters

Understanding SLIME

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

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

Squires

If you’re an Emacs beginner start from the Emacs Tutorial and proceed with the articles on Mastering Emacs. Get a copy of Emacs 24 and Emacs Prelude to start off with a solid initial configuration.

Study the rest of the resources at your own discretion. Following Twitter accounts has very low overhead for you and could be very beneficial.

Knights

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.

Masters

Read the Emacs source code. Contribute bug fixes and new modes. Share your knowledge. Sharpen your Lisp skills.

Epilogue

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.