Teach Yourself Emacs in 24 Hours

 in
The authors seem to know Emacs well, and they have done a good job of selecting the features to present to new users.
  • Authors: Jesper Pederson, Jari Aalto, Charles Curley, Eric Ludlum, Larry Ayers and Jeff Koch

  • Publisher: SAMS

  • URL: http://www.mcp.com/publishers/sams/

  • Price: $24.99 US

  • ISBN: 0672315947

  • Reviewer: Ralph Krause

I have been using Linux for about a year now, and in this time, I have used Vim for text editing. I had tried Emacs a few times, but found it difficult to learn. I decided to try learning Emacs again with help from SAMS' Teach Yourself Emacs in 24 Hours.

While I can say I learned enough from the book to use Emacs (I'm using it to write this review), I would hesitate to recommend this book to anyone else. The biggest problem I found was the sheer number of typos it contained. In addition to that, the accompanying CD-ROM is not well-organized, either.

Let me quickly say that the authors seem to know Emacs well, and they have done a good job of selecting the features to present to new users. The examples they give are generally clear and illuminating. They also highlight the differences between Emacs and XEmacs in the examples, so the book is useful no matter which version of Emacs you are using.

If you do purchase this book, the first thing you should do is go to Mr. Pedersen's web site at www.imada.ou.dk/~blackie/emacs and print out the book's errata pages. Unfortunately, even with these, I still couldn't get some of the book's examples to work, such as running the etags command on HTML files.

In addition to the printed errors, I also ran into problems with the accompanying CD. The first was that I couldn't access it on my Linux box unless I was logged in as root. Doing work as root is not a good idea in general, and in some instances, at work for example, it may not even be possible. When I did access the CD, I found that its directory structure left something to be desired.

The CD's root directory contains only two entries: opt and usr. The opt directory contains the Windows and Linux versions of Emacs, while the usr directory contains Emacs Lisp files and add-ons. This layout is a bit confusing, and there are no index or README files to indicate what is where.

For Windows users who don't already have Emacs loaded, the second chapter covers installing and configuring Emacs under Windows. I found the book's suggested directory layout confusing, so I didn't attempt to create it on my Windows 98 system. Instead, I just created an .emacs file in the root directory of my C: drive.

The book implies that the CD will automatically start installing Emacs when inserted in a Windows machine, but it doesn't appear to be set up for this. I ended up installing Emacs using the SETUP.EXE program, and it ran correctly after installation. The CD also contains Zip files if you want to install Emacs manually.

Though the installation instructions are somewhat unclear, the book did provide clear instructions on setting up printing and associating files with Emacs under Windows.

The rest of the book is well-arranged, starting with the basics of Emacs and leading up to its advanced features. I found that each chapter presented enough information to increase a new user's knowledge without drowning them. Examples are given for almost every topic brought up. Each chapter ends with a summary of the material presented followed by a short Q&A section. Finally, a few exercises are given for readers to attempt on their own.

The early chapters cover basic editing, working with buffers and searching. An explanation of the Emacs help and configuration system is in the middle of the book. Next, the special editing modes for C, Java and LaTeX files are discussed. There is a chapter covering the use of Emacs' version-control functions, along with compiling and debugging programs. There are two chapters on Gnus (a news and mail reader that runs under Emacs). Beginning Emacs Lisp, an introduction to key bindings, and how to use add-ons comprise the final chapters of the book.

The book makes several references to add-ons included on the CD, especially the sams-lib.el file which contains a number of specialty functions created by the authors. Some attempt is made to provide brief descriptions and installation instructions for the add-ons, but only a few from the CD are actually covered in the book.

I am amazed at just how powerful Emacs is, and this book does a good job of introducing a new user to the sheer number of features available in it. The authors also did a very good job of choosing the right amount of material to allow someone to use Emacs without overloading them. I wish they had spent a little more time on such things as regular expressions and the Windows installation directions, though.

Unfortunately, the large number of errors contained in the text along with the confusing layout of the accompanying CD almost keep this book from being usable by its target audience: beginners. I would expect that the next release will have corrected these problems, and then it will be an invaluable addition to the beginning Emacs user's bookshelf.

Ralph Krause (rkrause@netperson.net) lives in southeastern Michigan, where he runs a small computer consulting business. In addition to trying to earn a living, he enjoys reading and playing with his dogs, Dakota and Purdy.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The text of this book is avai

Cian's picture

The text of this book is available at http://www.emacs.uniyar.ac.ru/doc/em24h/index.htm

Teach Yourself Emacs in 24 Hours

Cian's picture

I bought this book and while I have to say it is very helpful I found some of the topics to be confusing or incomplete. For example in the part about setting up emacs for MS Windows there is a discussion of various places to put the equivalent of a unix "home" directory, but missing are the "magic" instructions to make NTEmacs actually look in any directory except c:\ for it's startup files.

Also there is a great reliance on having installed the lisp files on the CD to get even the most simple customisation (e.g. changing the font permanently in NTEmacs). This is OK if you still have a working copy of the CD, but the site listed in the book and both of the sites listed in Ralph Krause's review are long dead, so you can't get a copy of the lisp needed files, even though they are GPLed.

Worse some of the instructions don't actually work, including the very first lisp example in the book (how to detect different versions of Emacs)!

In short this book is a sterling effort by the author, but a shitful effort from the editor and publisher, who seem to have abandoned this title, if not this mortal realm, long ago.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState