Next: Getting Started, Previous: Preface, Up: Top

## 1 GNU Emacs Terms and Conventions

If you're an experienced Emacs user, you can skip the following conventions and definition of terms and go directly to the next section (see Getting Started).

In general, functions in this text refer to Emacs Lisp functions that one would call from within Emacs Lisp programs (for example, `(mh-inc-folder)`). On the other hand, commands are those things that are run by the user, such as `i` or `M-x mh-inc-folder`. Programs outside of Emacs are specifically called MH commands, shell commands, or Unix commands.

The conventions for key names are as follows:

`C-x`
  Hold down the <CTRL> (Control) key and press the `x` key.
`M-x`
  Hold down the <META> or <ALT> key and press the `x` key.

  Since some keyboards don't have a <META> key, you can generate `M-x`, for example, by pressing <ESC> (Escape), releasing it, and then pressing the `x` key.

`<RET>`
  Press the <RETURN> or <ENTER> key. This is normally used to complete a command.
`<SPC>`
  Press the space bar.
`<TAB>`
  Press the <TAB> key.
`<DEL>`
  Press the <DELETE> key.
`<BS>`
  Press the <BACKSPACE> key1.

A prefix argument allows you to pass an argument to any Emacs function. To pass an argument, type `C-u` before the Emacs command or keystroke. Numeric arguments can be passed as well. For example, to insert five f's, use `C-u 5 f`. There is a default of four when using `C-u`, and you can use multiple prefix arguments to provide arguments of powers of four. To continue our example, you could insert four f's with `C-u f`, 16 f's with `C-u C-u f`, 64 f's with `C-u C-u C-u f`, and so on. Numeric and valueless negative arguments can also be inserted with the <META> key. Examples include `M-5` to specify an argument of 5, or `M--` which specifies a negative argument with no particular value.

NOTE

> The prefix `C-u` or `M-` is not necessary in MH-E's MH-Folder mode (see Reading Mail Tour). In this mode, simply enter the numerical argument before entering the command.

Emacs uses variables to hold values. These can be changed via calls to the function `setq` in `~/.emacs`.

Variables in MH-E that are normally modified by the user are called options and are modified through the customize functions (such as `M-x customize-option` or `M-x customize-group`). See section Easy Customization in The GNU Emacs Manual. See Options.

You can specify various styles for displaying text using faces. MH-E provides a set of faces that you can use to personalize the look of your MH-E buffers. Use the command `M-x customize-face` to do this. See section Face Customization in The GNU Emacs Manual.

Commands often offer hooks which enable you to extend or modify the way a command works. See section Hooks in The GNU Emacs Manual for a description about normal hooks and abnormal hooks. MH-E uses normal hooks in nearly all cases, so you can assume that we are talking about normal hooks unless we explicitly mention that a hook is abnormal. We also follow the conventions described in that section: the name of the abnormal hooks end in `-hooks` and all the rest of the MH-E hooks end in `-hook`. You can add hooks with either `customize-option` or `add-hook`.

There are several other terms that are used in Emacs that you should know. The point is where the cursor currently is. You can save your current place in the file by setting a mark. This operation is useful in several ways. The mark can be later used when defining a region, which is the text between the point and mark. Many commands operate on regions, such as those for deleting text or filling paragraphs. A mark can be set with `C-@` (or `C-<SPC>`).

The minibuffer is the bottom line of the Emacs window, where all prompting and multiple-character input is directed. You can use completion to enter values such as folders. Completion means that Emacs fills in text for you when you type <SPC> or <TAB>. A second <SPC> or <TAB> will list all possibilities at that point. See the section Completion in The GNU Emacs Manual. Note that <SPC> cannot be used for completing filenames and folders.

The minibuffer is also where you enter Emacs function names after typing `M-x`. For example, in the preface, I mentioned that you could obtain help with `C-h t` (`help-with-tutorial`). What this means is that you can get a tutorial by typing either `C-h t` or `M-x help-with-tutorial`. In the latter case, you are prompted for ‘`help-with-tutorial`’ in the minibuffer after typing `M-x`.

The ‘`~`’ notation in filenames represents your home directory. This notation is used by many shells including `bash`, `tcsh`, and `csh`. It is analogous to the environment variable ‘`$HOME`’. For example, `~/.emacs` can be written `$HOME/.emacs` or using the absolute path as in `/home/wohler/.emacs` instead.

In case of trouble: Emacs can be interrupted at any time with `C-g`. For example, if you've started a command that requests that you enter something in the minibuffer, but then you change your mind, type `C-g` and you'll be back where you started. If you want to exit Emacs entirely, use `C-x C-c`.

#### Footnotes

[1] If you are using Version 20 or earlier of Emacs, you will need to use the <DEL> key.