View Review Details


Book:   Learning GNU Emacs
Subject:   Respects the intellect of one motivated enough to learn Emacs and enables mastery of the tool
Date:   2005-09-14 20:23:58
From:   barryhawkins
Rating:  StarStarStarStarStar

If a person is thinking of learning GNU Emacs (http://www.gnu.org/software/emacs/emacs.html) , or if they have been using it and are looking to sharpen their skills and broaden their Emacs savvy, it is a fairly safe assumption that the individual is motivated. This person probably knows their way around a command prompt, and it is likely that they are aware that Lisp is more than just a speech impediment. This person needs a book that offers expert advice without wasting time or insulting the intellect of the reader. Learning GNU Emacs, 3rd Edition (http://www.oreilly.com/catalog/gnu3/) is that book.


As a programmer, when firing up a monolithic word processor or graphical IDE to edit a simple script or properties file, one cannot help but wonder if these tools aren't overkill much of the time. For a growing number of users, the answer is yes. The tried-and-true text editor is enjoying a renaissance of sorts. One of the most extensible and customizable applications in the text editing category is the venerable GNU Emacs.


The tutorials and documentation for Emacs are abundant, but they often prove time-consuming and ineffective for actually learning Emacs. This book is a refreshing break from the documentation many have come to expect. Imagine you had a consortium of leading experts on Emacs at your disposal to teach you how to use it in a conversational, consultative style. That is what has been bundled into this latest edition of the book.


The extensibility of Emacs has been both a key strength and a criticism of the application. Its user and developer community have created all sorts of additional capabilities for Emacs, ranging from the impressive to the absurd. The authors have done well to judiciously select what to cover in this edition. For example, while Emacs does have the capability to function as an email client, other applications have long superceded its ability. The authors have chosen not to cover this topic, and instead devote the available space to learning Emacs' core functionality - powerful, efficient text editing. Other peripheral areas of Emacs have been left for the user to research after gaining their solid foundation on Emacs as editor and work environment, such as compatibility modes for programming languages other than Java and Perl.


This edition of the book uses the space gained by the removal of esoteric topics to flesh out areas of more common interest. Integration with the major version control systems has been expanded to include Subversion alongside of the age-old standards CVS, RCS, and SCCS. Coverage of support for Java and Perl has also improved, as well as sections for editing HTML and XML. Users wanting to tap into the power of Lisp programming for Emacs should find the coverage satisfying as well.


Perhaps the most distinguishing feature of this book is the chapter devoted to the use of Emacs on different platforms. Unix, Windows and Mac OS X users receive equal acknowledgement. The precautions and insights regarding Emacs nuances when used on particular platforms can reduce users' frustration when getting started with Emacs.


Even current Emacs users can benefit from this work. The mnemonic devices and conventions used in the book allow users to commit useful keyboard commands to memory. The memorization is further solidified by the exercises sprinkled appropriately through each chapter. Readers do not go for very many pages before it is time to be at the keyboard again, harnessing the power of muscle memory to reinforce the material presented.


See larger cover