Intended for professional writers and Unix programmers, this guide explains how to use the GNU Emacs text editor to format and correct text in a file, boost productivity with multiple buffers and windows, give commands without leaving the editor, and take advantage of special editing modes. The third edition adds chapters on computer language support and platform-specific considerations. Annotation ©2004 Book News, Inc., Portland, OR (booknews.com)
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.
Preface |
|
ix | |
|
|
1 | (19) |
|
|
1 | (2) |
|
Understanding Files and Buffers |
|
|
3 | (1) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
6 | (4) |
|
|
10 | (1) |
|
|
11 | (4) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (2) |
|
|
18 | (2) |
|
|
20 | (29) |
|
|
22 | (5) |
|
|
27 | (5) |
|
Marking Text to Delete, Move, or Copy |
|
|
32 | (5) |
|
|
37 | (2) |
|
Editing Tricks and Shortcuts |
|
|
39 | (2) |
|
Canceling Commands and Undoing Changes |
|
|
41 | (4) |
|
Making Emacs Work the Way You Want |
|
|
45 | (4) |
|
|
49 | (33) |
|
Different Kinds of Searches |
|
|
49 | (6) |
|
|
55 | (9) |
|
Checking Spelling Using Ispell |
|
|
64 | (10) |
|
|
74 | (8) |
|
Using Buffers, Windows, and Frames |
|
|
82 | (32) |
|
Understanding Buffers, Windows, and Frames |
|
|
82 | (3) |
|
Working with Multiple Buffers |
|
|
85 | (3) |
|
|
88 | (5) |
|
|
93 | (2) |
|
|
95 | (7) |
|
|
102 | (4) |
|
Holding Your Place with Bookmarks |
|
|
106 | (8) |
|
Emacs as a Work Environment |
|
|
114 | (36) |
|
Executing Commands in Shell Buffers |
|
|
114 | (9) |
|
Using Dired, the Directory Editor |
|
|
123 | (17) |
|
|
140 | (1) |
|
Reading Manpages in Emacs |
|
|
141 | (1) |
|
Using Time Management Tools |
|
|
141 | (9) |
|
|
150 | (20) |
|
|
151 | (3) |
|
Tips for Creating Good Macros |
|
|
154 | (1) |
|
A More Complicated Macro Example |
|
|
155 | (2) |
|
|
157 | (3) |
|
|
160 | (1) |
|
Binding Your Macro to a Key |
|
|
160 | (1) |
|
Naming, Saving, and Executing Your Macros |
|
|
161 | (1) |
|
Building More Complicated Macros |
|
|
161 | (6) |
|
Executing Macros on a Region |
|
|
167 | (1) |
|
|
168 | (2) |
|
Simple Text Formatting and Specialized Editing |
|
|
170 | (48) |
|
|
170 | (6) |
|
|
176 | (10) |
|
|
186 | (1) |
|
|
187 | (7) |
|
|
194 | (10) |
|
|
204 | (14) |
|
|
218 | (45) |
|
|
219 | (1) |
|
|
220 | (1) |
|
|
220 | (23) |
|
|
243 | (15) |
|
Marking up Text for TEX and LATEX |
|
|
258 | (5) |
|
Computer Language Support |
|
|
263 | (43) |
|
|
264 | (2) |
|
|
266 | (9) |
|
|
275 | (9) |
|
|
284 | (1) |
|
The Java Development Environment for Emacs (JDEE) |
|
|
285 | (9) |
|
|
294 | (2) |
|
|
296 | (2) |
|
|
298 | (8) |
|
|
306 | (38) |
|
|
307 | (19) |
|
Modifying the emacs File Directly |
|
|
326 | (4) |
|
Modifying Fonts and Colors |
|
|
330 | (5) |
|
Customizing Your Key Bindings |
|
|
335 | (4) |
|
|
339 | (1) |
|
Finding Emacs Lisp Packages |
|
|
340 | (1) |
|
Starting Modes via Auto-Mode Customization |
|
|
341 | (1) |
|
Making Emacs Work the Way You Think It Should |
|
|
342 | (2) |
|
|
344 | (54) |
|
|
345 | (8) |
|
|
353 | (5) |
|
Useful Built-in Emacs Functions |
|
|
358 | (16) |
|
Building an Automatic Template System |
|
|
374 | (7) |
|
|
381 | (8) |
|
Customizing Existing Modes |
|
|
389 | (6) |
|
Building Your Own Lisp Library |
|
|
395 | (3) |
|
|
398 | (23) |
|
The Uses of Version Control |
|
|
398 | (1) |
|
|
399 | (2) |
|
How VC Helps with Basic Operations |
|
|
401 | (2) |
|
|
403 | (1) |
|
|
403 | (1) |
|
|
404 | (1) |
|
Which Version Control System? |
|
|
405 | (1) |
|
|
405 | (6) |
|
|
411 | (1) |
|
|
412 | (1) |
|
|
413 | (1) |
|
|
413 | (1) |
|
|
414 | (7) |
|
Platform-Specific Considerations |
|
|
421 | (19) |
|
|
421 | (6) |
|
|
427 | (6) |
|
|
433 | (7) |
|
|
440 | (17) |
|
|
440 | (1) |
|
|
441 | (4) |
|
Help with Complex Emacs Commands |
|
|
445 | (1) |
|
Navigating Emacs Documentation |
|
|
446 | (7) |
|
|
453 | (4) |
Emacs Variables |
|
457 | (7) |
Emacs Lisp Packages |
|
464 | (6) |
Bugs and Bug Fixes |
|
470 | (2) |
Online Resources |
|
472 | (3) |
Quick Reference |
|
475 | (12) |
Glossary |
|
487 | (6) |
Index |
|
493 | |
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 O'Reilly 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 Berbee, with fifteen years 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 senior programmer at Galileo Systems, LLC, but his day job seems to be teaching Java and Perl to various companies -- including Sun Microsystems. He has played with Java since the alpha days and can't find his way back to C. He is developing an interactive learning application at Galileo written entirely in Java. He received his master's degree in computer science at the University of Wisconsin-Madison, and still lives in Madison with his partner, Ron Becker. He does find time to relax by playing the piano and/or throwing darts, depending on how successful the day of teaching or programming was.