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 key.

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 Receiving Mail). 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 -functions 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.