Just as there are many versions of Emacs, there are many types of Emacs users. This book is designed to get you started with Emacs as quickly as possible, whether you are an experienced computer user or a novice. The first two chapters give you the basics you need to know, and the rest of the book builds on these basics. After the first two chapters, you don’t have to read the rest consecutively; you can skip to the topics that interest you. Additionally, the book is designed to give you just the level of hand-holding you want; you can either read the book in detail or skim it, looking for tables of commands and examples.
Here are some reading paths you could take:
You are an administrative user
You are a casual user
You are a programmer
You are a writer or production person
You want to customize Emacs
You want to use mail in Emacs
You want to use UNIX commands in Emacs
You want to use the Internet from within Emacs
These reading paths are offered only as a guideline. Emacs is one gigantic, functionally rich editor. We’ve divided it up into digestible bites for you, so you don’t have to be put off by its size and scope. The best way to learn Emacs is incrementally; learn a little now, then learn more features as you get curious about them or find you need to do something and don’t know how to do it in Emacs. Emacs probably already does it; if it doesn’t, you can learn how to write a LISP function to add it to Emacs (see Chapter 13 for details). The online help system in GNU Emacs is an excellent place to learn about new features on the fly; how to use online help is discussed in Chapter 1 and in more detail in Chapter 16.
Here’s a list of some features you might want to learn about on a rainy day:
Word abbreviation mode (Chapter 3)
How to use macros (Chapter 10)
How to map your function keys to Emacs commands (Chapter 11)
How to issue (and edit) shell commands (Chapter 5)
How to use multiple windows (Chapter 4)
How to make simple drawings in picture mode (Chapter 8)
How to access the Internet (Chapter 7)
How to send mail and read Usenet news (Chapter 6)
Finally, if you insist on reading through the book from beginning to end, here’s a quick summary of what’s in each chapter:
Chapter 1, Emacs Basics, tells you how to start Emacs and how to work with files. It also provides a quick introduction to the online help system.
Chapter 2, Editing Files, explains editing with Emacs, including commands for moving around, copying and pasting text, and undoing changes. It also describes how to do some very basic customization so you can make Emacs work the way you want it to.
Chapter 3, Search and Replace Operations, covers more editing features, including search and replace, word abbreviation mode, and spell checking.
Chapter 4, Using Buffers and Windows, describes how to use multiple buffers, Emacs windows, and the X Window System. It also discusses how to insert bookmarks in files to hold your place.
Chapter 5, Emacs as a Work Environment, talks about how to do everything you can do at a shell prompt from within Emacs. For example, you can issue shell commands, work with files and directories, and use basic time management tools.
Chapter 6, Email and Usenet News, describes how you can use Emacs to send, read, and manage electronic mail. The Gnus newsreader gives you access to Usenet newsgroups without leaving Emacs.
Chapter 7, Emacs as an Internet Toolkit, tells you how to use Emacs to telnet to other computers, retrieve files using FTP, and browse the World Wide Web.
Chapter 8, Simple Text Formatting and Specialized Editing, covers the basic text formatting (such as indentation and centering) that you can do in Emacs, as well as some of the more rarefied features, like picture mode and outline mode.
Chapter 9, Marking up Text with Emacs, describes Emacs support for troff (and its relatives), TEX, LATEX, and HTML.
Chapter 10, Writing Macros, discusses using macros to eliminate repetitive tasks.
Chapter 11, Customizing Emacs, explains how to customize Emacs according to your preferences: setting up your display, tailoring your keyboard commands and editing environment, and loading Emacs packages for extra functionality.
Chapter 12, Emacs for Programmers, covers Emacs as a programming environment, including editing support for C, LISP, FORTRAN, and other languages, and the interface to compilers and the UNIX make utility.
Chapter 13, Emacs LISP Programming, describes the basics of Emacs LISP, the language you can use to further customize Emacs.
Chapter 14, Emacs and X, discusses the interface to the X Window System, allowing you to use a mouse and pop-up menus if you use a graphics workstation.
Chapter 15, Version Control Under Emacs, describes VC mode for file version control. If you maintain programs or documents that need to have a change history attached to them, VC makes this operation easy to perform.
Chapter 16, Online Help, describes the rich, comprehensive online help facilities of Emacs.
Appendix A, How to Get Emacs, tells how you can obtain GNU Emacs as well as a few other versions of Emacs.
Appendix B, Making Emacs Work the Way You Think It Should, tells you how to ensure that your Emacs behaves as described in this book.
Appendix C, Emacs Variables, lists many important Emacs variables, including all the variables mentioned in this book.
Appendix D, Emacs LISP Packages, lists some of the most useful LISP packages that come with Emacs.
Appendix E, Bugs and Bug Fixes, tells you how (and when) to report bugs you find in Emacs.
Appendix F, Public Statements, reprints the text of the General Public License, which gives the rules under which GNU Emacs is distributed.
Appendix G, Give and It Shall Be Given, tells you how you can support the FSF in their efforts to create more quality software.
Appendix H, Quick Reference, provides brief descriptions of the most important Emacs commands discussed in this book.
Glossary, a glossary of Emacs terms.