A couple of years ago, I wrote about Aaron Bieber’s talk to the Boston Vim Meetup on why and how he moved from Vim to Emacs. It was a great talk and worth watching if you haven’t already (especially if you’re a Vim user thinking about switching to Emacs). One of the keys to becoming a journeyman Emacs user is gaining a familiarity with Elisp. You don’t have to be an expert but you should feel comfortable doing simple tasks such as configuration.
About a year ago, Bieber wrote a post on getting started with Emacs Lisp. It’s by no means a complete introduction but it does give you a feeling for how you would go about writing a small Elisp function. Without saying so explicitly, Bieber uses an incremental or interactive approach to building the function. That is, he builds and tests a small part of it and then moves on to expanding it, again incrementally.
As I’ve said many times, this is one of the most powerful things about programming with Lisp: you can try out very small parts of your solution without having to worry about building a scaffolding for testing. If, after you read Bieber’s post, you want to learn more Elisp, Xah Lee’s Elisp Tutorial is a good resource.
UPDATE: Fixed title of Bieber’s post.