I'm looking for the definitive Emacs book. An Emacs bible if you will - it should serve as a complete introduction, but should also include advanced stuff, like customizing with Emacs Lisp. What, in your opinion, is the best such book?
You will never find a definitive Emacs book. Emacs arcana are passed on from druid to druid in the dead of night, using much ritual and gnashing of teeth.
Were a definitive book on Emacs ever to be written, Emacs itself would disappear and be replaced by something even more bizarre.
There are some that say this is where Emacs came from, when someone wrote the definitive Vi book (with apologies to Douglas Adams of HHGTTG fame which I'm paraphrasing).
The Emacs Manual (online version) and An Introduction to Emacs Lisp (online version) are available in hardcopy as well as free with the Emacs distribution. The Emacs Lisp Reference Manual is only available online.
The only other candidate is Learning GNU Emacs but it is not nearly as complete as the GNU material, and it is not freely available (except at a library of course).
Edit: by "only available online" I of course meant "only available in electronic form." All of these books are on the Emacs website in PDF, HTML, Info, and other formats.
The best resource in my mind is EmacsWiki. It's kind of a clearing house for all the "druid" stuff mentioned above.
There's a new blog called Emacs-Fu that has had some useful articles as well.
The best thing to do is just try any and everything. I've been using emacs for almost 10 years and I still tweak my environment constantly...
Answers that there is no definitive Emacs book are correct. To single out one part of your question, however, you might want to try Writing GNU Emacs Extensions for some exercise in customizing with Emacs Lisp. It's sort of an 'introductory/survey' book, so you get a wide/shallow introduction to the architecture of the eLisp framework, and how to work with hooks, points, etc.
Just a comment to the FU question where it came from. This is a bit of computer arcana which is disappearing with time (I am old). Probably a shorter version of FOOBAR, which I believe came from US military jargon. The FOOBAR (used frequently by Lisp programmers) stands for Fucked Up Beyond All Repair. One of my American colleagues told me that programmers who had been working with US Defence picked it up and used it as a variable name.
Concerning "something-fu": I don't think it has anything to do with foobar - it is derived from "kung-fu", which means "expertise achieved through hard work and practice" (see http://en.wikipedia.org/wiki/Kung_fu_%28term%29).
So basically, according to wikipedia, when people say "emacs-fu", they are saying "emacs-man", which has nothing to do with what the term has come to mean. But hey, even misguided references to kung-fu are fine by me. :-)
$ emacs -q
Just click on each of the following links on the initial buffer in order:
**Emacs Tutorial** Learn basic keystroke commands **Emacs Guided Tour** Overview of Emacs features at gnu.org **View Emacs Manual** View the Emacs manual using Info