: Learning GNU Emacs, 3rd Edition

An Approach to Learning Emacs

An Approach to Learning Emacs

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:

If Read
You are a casual user Preface, Chapter 1-Chapter 3, Chapter 14
You are a programmer or system administrator Preface, Chapter 1-Chapter 5, Chapter 9-Chapter 12
You are a writer or production person Preface, Chapter 1-Chapter 3, Chapter 7, Chapter 8, Chapter 14
You want to customize Emacs Chapter 10 and possibly Chapter 11
You write HTML or XML Preface, Chapter 1-Chapter 3, Chapter 8
You want to use operating system commands in Emacs Chapter 5
You use Emacs on Windows or Mac OS X Chapter 13

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. If 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 11 for details). The online help system is an excellent place to learn about new features on the fly; online help is discussed in Chapter 1 and in more detail in Chapter 14.

Here's a list of some features you might want to learn about on a rainy day:

How to use multiple Emacs buffers, windows, and frames (Chapter 4)

Word abbreviation mode (Chapter 3)

Macros (Chapter 6)

How to map function keys to Emacs commands (Chapter 10)

How to issue (and edit) shell commands (Chapter 5)

How to organize files in Emacs (Chapter 5)

Using ediff to compare files (Chapter 12)

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, explains commands for moving around, copying and pasting text, and undoing changes. It also introduces very basic customization.

Chapter 3, Search and Replace, covers more editing features, including search and replace, word abbreviation mode, and spell checking.

Chapter 4, Using Buffers, Windows, and Frames, describes how to use multiple buffers and windows, both Emacs-style windows (that divide a single OS window) and traditional OS windows (which Emacs refers to as frames). It also discusses how to bookmark your place in large files.

Chapter 5, Emacs as a Work Environment, talks about issuing commands from within Emacs, working with files and directories, and using basic time management tools such as the calendar and diary.

Chapter 6, Writing Macros, discusses using macros to eliminate repetitive tasks.

Chapter 7, Simple Text Formatting and Specialized Editing, covers basic text formatting (such as tabs, indentation, and centering) as well as some of the more rarefied features, like outline mode and rectangle editing.

Chapter 8, Markup Language Support, describes Emacs support for HTML, XML, TEX, and LATEX.

Chapter 9, Computer Language Support, covers Emacs as a programming environment, including editing support for C, Java, Lisp, Perl, and SQL, as well as the interface to compilers and the Unix make utility. It also describes the Java Development Environment for Emacs (JDEE).

Chapter 10, Customizing Emacs, describes Emacs's customization facilities. The interactive Custom tool allows you to change variables without editing your startup file. The chapter also explains how to set up your .emacs customization file. It describes how to modify your display, keyboard commands, and editing environment as well as how to load Lisp packages for extra functionality.

Chapter 11, Emacs Lisp Programming, describes the basics of Emacs Lisp, the language you can use to further customize Emacs.

Chapter 12, Version Control, describes VC mode for version control and its interface to CVS, RCS, Subversion, and SCCS.

Chapter 13, Platform-Specific Considerations, discusses how to install Emacs on Unix, Windows, and Mac OS X. It also provides platform-specific information for Windows and Mac OS X.

Chapter 14, The Help System, describes Emacs's rich, comprehensive online help facilities.

Appendix A, Emacs Variables, lists many important Emacs variables, including all the variables mentioned in this book.

Appendix B, Emacs Lisp Packages, lists some of the most useful Lisp packages that come with Emacs.

Appendix C, Bugs and Bug Fixes, tells you how (and when) to report bugs you find in Emacs. It also describes how to contribute to the GNU Project, whether through code enhancements or monetarily.

Appendix D, Online Resources, gives a tour of some important Emacs-related web sites.

Appendix E, Quick Reference, provides brief descriptions of the most important Emacs commands discussed in this book.

The book concludes with a glossary that defines Emacs terms you'll encounter, an index, and a detachable quick reference card that summarizes important commands for easy access.

: 0.344. /Cache: 3 / 1