|
Copyright | ||||||||||||||||
Preface | ||||||||||||||||
Why Read This Book? | ||||||||||||||||
Which Emacs Is Which? | ||||||||||||||||
What's New in This Edition? | ||||||||||||||||
GNU Emacs and the Free Software Foundation | ||||||||||||||||
An Approach to Learning Emacs | ||||||||||||||||
What We Haven't Included | ||||||||||||||||
The Meta Key | ||||||||||||||||
Conventions Used in This Book | ||||||||||||||||
How to Contact Us | ||||||||||||||||
Acknowledgments | ||||||||||||||||
Chapter 1. Emacs Basics | ||||||||||||||||
Section 1.1. Introducing Emacs! | ||||||||||||||||
Section 1.2. Understanding Files and Buffers | ||||||||||||||||
Section 1.3. A Word About Modes | ||||||||||||||||
Section 1.4. Starting Emacs | ||||||||||||||||
Section 1.5. About the Emacs Display | ||||||||||||||||
Section 1.6. Emacs Commands | ||||||||||||||||
Section 1.7. Opening a File | ||||||||||||||||
Section 1.8. Saving Files | ||||||||||||||||
Section 1.9. Leaving Emacs | ||||||||||||||||
Section 1.10. Getting Help | ||||||||||||||||
Section 1.11. Summary | ||||||||||||||||
Chapter 2. Editing | ||||||||||||||||
Section 2.1. Moving the Cursor | ||||||||||||||||
Section 2.2. Deleting Text | ||||||||||||||||
Section 2.3. Marking Text to Delete, Move, or Copy | ||||||||||||||||
Section 2.4. Emacs and the Clipboard | ||||||||||||||||
Section 2.5. Editing Tricks and Shortcuts | ||||||||||||||||
Section 2.6. Canceling Commands and Undoing Changes | ||||||||||||||||
Section 2.7. Making Emacs Work the Way You Want | ||||||||||||||||
Chapter 3. Search and Replace | ||||||||||||||||
Section 3.1. Different Kinds of Searches | ||||||||||||||||
Section 3.2. Search and Replace | ||||||||||||||||
Section 3.3. Checking Spelling Using Ispell | ||||||||||||||||
Section 3.4. Word Abbreviations | ||||||||||||||||
Chapter 4. Using Buffers, Windows, and Frames | ||||||||||||||||
Section 4.1. Understanding Buffers, Windows, and Frames | ||||||||||||||||
Section 4.2. Working with Multiple Buffers | ||||||||||||||||
Section 4.3. Working with Windows | ||||||||||||||||
Section 4.4. Working with Frames | ||||||||||||||||
Section 4.5. More About Buffers | ||||||||||||||||
Section 4.6. More About Windows | ||||||||||||||||
Section 4.7. Holding Your Place with Bookmarks | ||||||||||||||||
Chapter 5. Emacs as a Work Environment | ||||||||||||||||
Section 5.1. Executing Commands in Shell Buffers | ||||||||||||||||
Section 5.2. Using Dired, the Directory Editor | ||||||||||||||||
Section 5.3. Printing from Emacs | ||||||||||||||||
Section 5.4. Reading Manpages in Emacs | ||||||||||||||||
Section 5.5. Using Time Management Tools | ||||||||||||||||
Chapter 6. Writing Macros | ||||||||||||||||
Section 6.1. Defining a Macro | ||||||||||||||||
Section 6.2. Tips for Creating Good Macros | ||||||||||||||||
Section 6.3. A More Complicated Macro Example | ||||||||||||||||
Section 6.4. Editing a Macro | ||||||||||||||||
Section 6.5. The Macro Ring | ||||||||||||||||
Section 6.6. Binding Your Macro to a Key | ||||||||||||||||
Section 6.7. Naming, Saving, and Executing Your Macros | ||||||||||||||||
Section 6.8. Building More Complicated Macros | ||||||||||||||||
Section 6.9. Executing Macros on a Region | ||||||||||||||||
Section 6.10. Beyond Macros | ||||||||||||||||
Chapter 7. Simple Text Formatting and Specialized Editing | ||||||||||||||||
Section 7.1. Using Tabs | ||||||||||||||||
Section 7.2. Indenting Text | ||||||||||||||||
Section 7.3. Centering Text | ||||||||||||||||
Section 7.4. Using Outline Mode | ||||||||||||||||
Section 7.5. Rectangle Editing | ||||||||||||||||
Section 7.6. Making Simple Drawings | ||||||||||||||||
Chapter 8. Markup Language Support | ||||||||||||||||
Section 8.1. Comments | ||||||||||||||||
Section 8.2. Font-Lock Mode | ||||||||||||||||
Section 8.3. Writing HTML | ||||||||||||||||
Section 8.4. Writing XML | ||||||||||||||||
Section 8.5. Marking up Text for TEX and LATEX | ||||||||||||||||
Chapter 9. Computer Language Support | ||||||||||||||||
Section 9.1. Emacs as an IDE | ||||||||||||||||
Section 9.2. Writing Code | ||||||||||||||||
Section 9.3. C and C++ Support | ||||||||||||||||
Section 9.4. Java Support | ||||||||||||||||
Section 9.5. The Java Development Environment for Emacs (JDEE) | ||||||||||||||||
Section 9.6. Perl Support | ||||||||||||||||
Section 9.7. SQL Support | ||||||||||||||||
Section 9.8. The Lisp Modes | ||||||||||||||||
Chapter 10. Customizing Emacs | ||||||||||||||||
Section 10.1. Using Custom | ||||||||||||||||
Section 10.2. Modifying the .emacs File Directly | ||||||||||||||||
Section 10.3. Modifying Fonts and Colors | ||||||||||||||||
Section 10.4. Customizing Your Key Bindings | ||||||||||||||||
Section 10.5. Setting Emacs Variables | ||||||||||||||||
Section 10.6. Finding Emacs Lisp Packages | ||||||||||||||||
Section 10.7. Starting Modes via Auto-Mode Customization | ||||||||||||||||
Section 10.8. Making Emacs Work the Way You Think It Should | ||||||||||||||||
Chapter 11. Emacs Lisp Programming | ||||||||||||||||
Section 11.1. Introduction to Lisp | ||||||||||||||||
Section 11.2. Lisp Primitive Functions | ||||||||||||||||
Section 11.3. Useful Built-in Emacs Functions | ||||||||||||||||
Section 11.4. Building an Automatic Template System | ||||||||||||||||
Section 11.5. Programming a Major Mode | ||||||||||||||||
Section 11.6. Customizing Existing Modes | ||||||||||||||||
Section 11.7. Building Your Own Lisp Library | ||||||||||||||||
Chapter 12. Version Control | ||||||||||||||||
Section 12.1. The Uses of Version Control | ||||||||||||||||
Section 12.2. Version Control Concepts | ||||||||||||||||
Section 12.3. How VC Helps with Basic Operations | ||||||||||||||||
Section 12.4. Editing Comment Buffers | ||||||||||||||||
Section 12.5. VC Command Summary | ||||||||||||||||
Section 12.6. VC Mode Indicators | ||||||||||||||||
Section 12.7. Which Version Control System? | ||||||||||||||||
Section 12.8. Individual VC Commands | ||||||||||||||||
Section 12.9. Customizing VC | ||||||||||||||||
Section 12.10. Extending VC | ||||||||||||||||
Section 12.11. What VC Is Not | ||||||||||||||||
Section 12.12. Using VC Effectively | ||||||||||||||||
Section 12.13. Comparing with Ediff | ||||||||||||||||
Chapter 13. Platform-Specific Considerations | ||||||||||||||||
Section 13.1. Emacs and Unix | ||||||||||||||||
Section 13.2. Emacs and Mac OS X | ||||||||||||||||
Section 13.3. Emacs and Windows | ||||||||||||||||
Chapter 14. The Help System | ||||||||||||||||
Section 14.1. Using the Tutorial | ||||||||||||||||
Section 14.2. Help Commands | ||||||||||||||||
Section 14.3. Help with Complex Emacs Commands | ||||||||||||||||
Section 14.4. Navigating Emacs Documentation | ||||||||||||||||
Section 14.5. Completion | ||||||||||||||||
Appendix A. Emacs Variables | ||||||||||||||||
Appendix B. Emacs Lisp Packages | ||||||||||||||||
Appendix C. Bugs and Bug Fixes | ||||||||||||||||
Appendix D. Online Resources | ||||||||||||||||
Appendix E. Quick Reference | ||||||||||||||||
Colophon | ||||||||||||||||
Index |