Before you start
Learn what to expect from this tutorial, and how to get the most out of it.
The Emacs editing environment is a favorite of UNIX® developers. It's known around the world as the king of editors, but many users find it has a bit of a learning curve. The Emacs environment doesn't seem intuitive at first glance, and it doesn't work like other editors and word processors. But learning Emacs doesn't have to be difficult. Once you get going, you'll see how intuitive it is and become more comfortable with it after each use. This tutorial series (see Resources) shows you the way, taking you from the basics of Emacs, such as its features, philosophy, key-command layout, and methods for editing text, through many of its powerful editing features.
After completing this series (see Resources), you'll be able to comfortably use Emacs for everyday editing, be well on your way to Emacs proficiency, and have a good feel for many of the advanced capabilities of Emacs.
This is the sixth in a series of tutorials on learning Emacs. Previous tutorials in this series took you through the basics; this intermediate-level, hands-on tutorial builds on what you learned in the early tutorials, and shows readers already familiar with the rudimentary controls of Emacs how to customize and tool the system for their specific needs.
In this tutorial, you learn how to customize the system in various ways, changing its behavior and getting it to work the way you want it to. You also learn how to set and examine the Emacs variables that change the behavior of the application, change the way keys and modes work, make your customizations happen automatically with Emacs Lisp code in an init file, remember your window and frame modifications, and use the built-in customize buffer utility for an easy approach to changing and managing various Emacs settings.
This tutorial shows you how to customize and configure your Emacs editing environment, from key bindings to the behavior of modes.
After working through this tutorial, you'll know how to change every aspect of the Emacs editing environment, and how to save your customizations so that they can be recalled later.
Before working through this tutorial, you should complete the previous tutorials in this series. They lay down the basic foundation, and explain many of the Emacs concepts you use in this tutorial (see the Resources section).
The special Emacs notation for representing keystrokes, which is used in this tutorial and throughout the series, is described in the introduction of the first tutorial of the series, "Learning the Emacs editing environment, Part 1: The basics of Emacs" (see Resources).
Although this tutorial is written for all levels of UNIX expertise, it's helpful if you have at least a rudimentary understanding of the UNIX file system:
File system hierarchy
This tutorial requires a user account on any UNIX-based system that has a recent copy of Emacs installed.
There are several varieties of Emacs; the original and most popular is GNU Emacs, which is published online by the GNU Project (see Resources).
You should have a recent copy of GNU Emacs—one that is at version 20 or greater. Versions 20 and 21 are the most commonly available, and development snapshots of version 22 are also available. This tutorial works with any of these versions for Emacs. If your system is running something older, it's time to upgrade.
To know what version of Emacs you have running, use the GNU-style
$ emacs --version GNU Emacs 188.8.131.52 Copyright (C) 2006 Free Software Foundation, Inc. GNU Emacs comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of Emacs under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. $
Because a portion of this tutorial deals with graphical elements of the Emacs operation in the X Window System environment, you should also have an X server up and running.