GNU Emacs is the most popular and widespread of the Emacs family of editors. It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming.
The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms.
Learning GNU Emacs, third edition, covers:
How to edit files with Emacs
Using the operating system shell through Emacs
How to use multiple buffers, windows, and frames
Customizing Emacs interactively and through startup files
Writing macros to circumvent repetitious tasks
Emacs as a programming environment for Java, C++, and Perl, among others
Using Emacs as an integrated development environment (IDE)
Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developers
Writing HTML, XHTML, and XML with Emacs
The basics of Emacs Lisp
The book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs.
Chapter 1 Emacs Basics
Understanding Files and Buffers
A Word About Modes
About the Emacs Display
Opening a File
Chapter 2 Editing
Moving the Cursor
Marking Text to Delete, Move, or Copy
Emacs and the Clipboard
Editing Tricks and Shortcuts
Canceling Commands and Undoing Changes
Making Emacs Work the Way You Want
Chapter 3 Search and Replace
Different Kinds of Searches
Search and Replace
Checking Spelling Using Ispell
Chapter 4 Using Buffers, Windows, and Frames
Understanding Buffers, Windows, and Frames
Working with Multiple Buffers
Working with Windows
Working with Frames
More About Buffers
More About Windows
Holding Your Place with Bookmarks
Chapter 5 Emacs as a Work Environment
Executing Commands in Shell Buffers
Using Dired, the Directory Editor
Printing from Emacs
Reading Manpages in Emacs
Using Time Management Tools
Chapter 6 Writing Macros
Defining a Macro
Tips for Creating Good Macros
A More Complicated Macro Example
Editing a Macro
The Macro Ring
Binding Your Macro to a Key
Naming, Saving, and Executing Your Macros
Building More Complicated Macros
Executing Macros on a Region
Chapter 7 Simple Text Formatting and Specialized Editing
Debra Cameron is president of Cameron Consulting. In addition to her love for Emacs, Deb researches and writes about emerging technologies and their applications. Her latest book, Optical Networking: A Wiley Tech Brief, published in 2002 by John Wiley & Sons, covers the practical applications of optical networking and was written in the hope that true broadband will be more widely deployed. Deb also edits OReilly titles, including DNS and Bind, DNS on Windows 2000, TCP/IP Network Administration, HTML and XHTML: The Definitive Guide, Java Security, Java Swing, Learning Java, and Java Performance Tuning. She has presented numerous videos for WatchIT.com, covering security and networking as well as e-business topics. She has moderated roundtables on PlanetIT on advanced networking and intranet design. Deb resides in Gaithersburg, Maryland with her husband Jim and their three children, Meg, David, and Bethany.
James Elliott is a senior software engineer at Singlewire Software, with two decades of professional experience as a systems developer. He started designing with objects well before work environments made it convenient, and has a passion for building high-quality Java tools and frameworks to simplify the tasks of other developers.
Marc Loy is a trainer and media specialist in Cincinnati, OH. When he's not working with digital video and DVDs, he's programming in Java-land. (In the interest of full disclosure, he does vacation in Ruby-world.) He can still be found teaching the odd Perl and Java course out in Corporate America, but even on the road he'll have his MacBook Pro and a video project with him.
Bill Rosenblatt is president of GiantSteps/Media Technology Strategies, a consulting firm in New York City. Before founding GiantSteps, Bill was CTO of Fathom, an online content and education company associated with Columbia University and other scholarly institutions. He has been a technology executive at McGraw-Hill and Times Mirror, and head of strategic marketing for media and publishing at Sun Microsystems. Bill was also one of the architects of the Digital Object Identifier (DOI), a standard for online content identification and DRM.
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Learning GNU Emacs, Third Edition is a gnu (or wildebeest). Gnus are African antelopes that inhabit the Serengeti Plains. Male gnus (bulls) reach up to 52 inches in height and 500 pounds inweight, and have the most lethal horns of any of the antelopes. Bulls are very territorial and tend to remain alone. The females and young generally live in small herds. However, they may congregate in the tens of thousands during migration. Gnus are the favorite prey of lions. Jamie Peppard was the production editor and proofreader for Learning GNU Emacs, Third Edition. Nancy Reinhardt was the copyeditor . Adam Witwer and Claire Cloutier provided quality control. Mary Agner provided production assistance. Johnna VanHoose Dinse wrote the index.
Edie Freedman designed the cover of this book using a 19th-century engraving from the Dover Pictorial Archive. Clay Fernald produced the cover layout with Quark Express 4.1 using Adobe's ITC Garamond font. Emma Colby produced the Quick Reference card with Adobe InDesign CS using the fonts Linotype Birka and Adobe Myriad Condensed.
Melanie Wang designed the interior layout, based on a series design by David Futato. This book was converted by Julie Hawks to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand MX and Adobe Photoshop CS.
Comments about oreilly Learning GNU Emacs, 3rd Edition:
I wish that I could give this book a better rating. The content is, for the most part, well-done. I must, however, take issue with the editing. There are so many errors in this the third edition that I doubt even a high school English teacher would accept it as a final draft. I really wonder whether the authors compiled the manuscript using emacs, or if they used one of the heavily bloated word processors on the market. Emacs would have certainly have been sufficient to mark up the text of the manuscript. This would have at least pointed out errors such as mismatched parentheses.
The content is good, although at times the authors' instructions are difficult to understand. Nevertheless I am learning from the book, and will continue to do so. Frustrating as the errors are, I am willing to set them aside in my head and plow on through the material, trying to absorb what I can before going over it again later. I just hope that the fourth edition will have better editing.
Respects the intellect of one motivated enough to learn Emacs and enables mastery of the tool
Comments about oreilly Learning GNU Emacs, 3rd Edition:
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.