All Manuals > LispWorks Editor User Guide




An abbrev (abbreviation) is a user defined text string which, when typed into a buffer, may be expanded into another string using Abbrev Mode. Typing can therefore be saved by defining short strings to be expanded into frequently used longer words or phrases.

Abbrevs should not be confused with the abbreviated symbol completion implemented by the command Abbreviated Complete Symbol.

Abbrev Mode

Abbrev mode is a minor mode which allows abbrevs to be automatically expanded when typed into a buffer.

Attribute Line

A first line in a source file of the form

;; -*- Mode: Lisp; Package: CL-USER; -*-

is the attribute line. Its keys and values are processed by editor commands such as Process File Options.

Auto-Fill Mode

Auto-fill mode is a minor mode which allows lines to be broken between words at the right margin automatically as the text is being typed. This means that Return does not have to be pressed at the end of each line to simulate filling.


Auto-saving is the automatic, periodic backing-up of the file associated with the current buffer.


When a file is explicitly saved in the editor, a backup is automatically made by writing the old contents of the file to a backup before saving the new version of the file. The name of the backup file is that of the original file followed by a ~ character.


A binding is made up of one or more key sequences . A command may have a default binding associated with it, which executes that command. Bindings provide a quick and easy way to execute commands.


A buffer is a temporary storage area used by the editor to hold the contents of a file while the process of editing is taking place.

Case Conversion

Case conversion means changing the case of text from lower to upper case and vice versa.


Completion is the process of expanding a partial or abbreviated name into the full name. Completion can used for expanding symbols, editor command names, filenames and editor buffer names.

Control Key

The Control key (Ctrl) is used as part of many key sequences. Ctrl must be held down while pressing the required character key.

Ctrl Key

See Control Key.


The adjective current is often used to describe a point, buffer, mark, paragraph, and similar regions of text, as being the text area or item on which relevant commands have an effect. For example, the current buffer is the buffer on which most editor commands operate.


The cursor is the rectangle (in Emacs emulation) or vertical bar (in other emulations) seen in a buffer which indicates the position of the current point within that buffer.


Customization means making changes to the way the editor works. The editor can be customized both in the short and long term to suit the users requirements. Short term customization involves altering the way the editor works for the duration of an editing session by using standard editor commands, while long term customization involves programming the editor.


A default is the value given to an argument if none is specified by the user.


Deleting means removing text from the buffer without saving it. The alternative is killing .

Echo Area

The Echo Area is a buffer used to display and input editor information. Commands are typed into this buffer and editor produced messages are displayed here.


The LispWorks Editor can behave like GNU Emacs, or like a typical editor on the KDE/Gnome platform. Keys, cursors, behavior with selected text and other functionality differs. We use the term KDE/Gnome editor emulation to denote this alternate behavior.

Escape Key

The Escape key (Esc) has its own functionality but is mostly used in Emacs emulation in place of the Meta key when no such key exists on a keyboard. Esc must be typed before pressing the required character key.

Extended Command

Most editor commands can be invoked explicitly by using their full command names, preceded by the Meta+X key sequence. A command issued in such a way is known as an extended command.

Fill Prefix

The fill prefix is a string which is ignored when filling takes place. For example, if the fill prefix is ;;, then these characters at the start of a line are skipped over when the text is re-formatted.


Filling involves re-formatting text so that each line extends as far to the right as possible without any words being broken or any text extending past a predefined right-hand column.

Global Abbrev

A global abbrev is an abbrev which can be expanded in all major modes.

History Ring

The history ring records Echo Area commands so that they can easily be repeated.

Incremental Search

An incremental search is a search which is started as soon as the first character of the search string is typed.


Indentation is the blank space at the beginning of a line. Lisp, like many other programming languages, has conventions for the indentation of code to make it more readable. The editor is designed to facilitate such indentation.


Insertion is the process of inputting text into a buffer.

Keyboard Macro

A keyboard macro allows a sequence of editor commands to be turned into a single operation. Keyboard macros are only available for the duration of an editing session.

Key Sequence

A key sequence is a sequence of characters used to issue, or partly issue, an editor command. A single key sequence usually involves holding down one of two specially defined modifier keys (that is Ctrl and Meta), while at the same time pressing another key.


Killing means removing text from a buffer and saving it in the kill ring, so that the text may be recovered at a later date. The alternative is deleting .

Kill Ring

The kill ring stores text which has been killed, so that it may be recovered at a later date. Text can be re-inserted into a buffer by yanking . There is only one kill ring for all buffers so that text can be copied from one buffer to another.


A location is the position of a point which is saved automatically such that you can revisit it by commands such as Go Back.

Major Mode

Major modes govern how certain commands behave. They adapt a few editor commands so that their use is more appropriate to the text being edited. For example, the concept of indentation is radically different in Lisp mode and Fundamental mode. Each buffer is associated with one major mode.


A mark stores the position of a point in a buffer which is associated with the current region and may be used for reference at a later date. More than one mark may be associated with a single buffer and saved in a mark ring .

Mark Ring

The mark ring stores details of marks, so that previously defined marks can be accessed. The mark ring works like a stack, in that marks are pushed onto the ring and can only be popped off on a "last in first out" basis. Each buffer has its own mark ring.

Meta Key

On most PC keyboards this key is synonymous with the Alt key. However, there are many different types of keyboard, and the Meta key may not be marked with "Alt" or "Meta". It may be marked with a special character, such as a diamond, or it may be one of the function keys -- try F11.

In Emacs emulation, Meta must be held down while pressing the required character key. As some keyboards do not have a Meta key, the Escape (Esc) key can be used in place of Meta.

On Cocoa, you can configure "Meta" by choosing Preferences... > Environment > Emulation .

Minor Mode

The minor modes determine whether or not certain actions take place. For example, when Abbrev mode is on, abbrevs are automatically expanded when typed into a buffer. Buffers may possess any number of minor modes.


Each buffer has one or more modes associated with it: a major mode and zero or more minor modes. Major modes govern how certain commands behave, while minor modes determine whether or not certain actions take place.

Mode Abbrev

A mode abbrev is an abbrev which is expanded only in predefined major modes.

Mode Line

At the bottom of each buffer is a mode line that provides information concerning that buffer. The information displayed includes name of the buffer, major mode, minor mode and whether the buffer has been modified or not.


Newline is a whitespace character which terminates a line of text.

Overwrite Mode

Overwrite mode is a minor mode which causes each character typed to replace an existing character in the text.


A page is the region of text between two page delimiters. The ASCII key sequence Ctrl+L constitutes a page delimiter (as it starts a new page on most line printers).


A pane is the largest portion of an editor window, used to display the contents of a buffer.


A paragraph is defined as the text within two paragraph delimiters. A blank line constitutes a paragraph delimiter. The following characters at the beginning of a line are also paragraph delimiters: Space Tab @ - ' )

Prefix Argument

A prefix argument is an argument supplied to a command which sometimes alters the effect of that command, but in most cases indicates how many times that command is to be executed. This argument is known as a prefix argument as it is supplied before the command to which it is to be applied. Prefix arguments sometimes have no effect on a command.


A point is a position in a buffer where editor commands take effect. The current point is generally between the character indicated by the cursor and the previous character (that is, it actually lies between two characters). Many types of commands (moving, inserting, deleting) operate with respect to the current point, and indeed move that point.

Recursive Editing

Recursive editing occurs when you are allowed to edit text while an editor command is executing.


A region is the area of text between the mark and the current point. Many editor commands affect only a specified region.


Registers are named slots in which locations and regions can be saved for later use.

Regular Expression Searching

A regular expression (regexp) allows the specification of a search string to include wild characters, repeated characters, ranges of characters, and alternatives. Strings which follow a specific pattern can be located, which makes regular expression searches very powerful.


Replacing means substituting one string for another.


Saving means copying the contents of a buffer to a file.


Scrolling means slightly shifting the text displayed in a pane either upwards or downwards, so that a different portion of the buffer is displayed.


Searching means moving the current point to the next occurrence of a specified string.


A sentence begins wherever a paragraph or previous sentence ends. The end of a sentence is defined as consisting of a sentence terminating character followed by two spaces or a newline. The following characters are sentence terminating characters: . ? !

Tag File

A tag file is one which contains information on the location of Lisp function definitions in one or more files. For each file in a defined system, the tag file contains a relevant file name entry, followed by names and positions of each defining form in that file. This information is produced by the editor and is required for some definition searches.


Transposition involves taking two units of text and swapping them round so that each occupies the other's former position.


Commands that modify text in a buffer can be undone, so that the text reverts to its state before the command was invoked.

Undo Ring

An undo ring is used to hold details of modifying commands so that they can be undone at a later date. The undo ring works like a stack, in that commands are pushed onto the ring and can only be popped off on a "last in first out" basis.

Variable (Editor)

Editor variables are parameters which affect the way that certain commands operate.


Whitespace is any consecutive run of the whitespace characters Space, Tab or Newline.


A window is an object used by the window manager to display data. When the editor is called up, an editor window is created and displayed.

Window Ring

A window ring is used to hold details of all windows currently open.


A word is a continuous string of alphanumeric characters (that is, the letters A-Z and numbers 0-9). In most modes, any character which is not alphanumeric is treated as a word delimiter.


Yanking means inserting a previously killed item of text from the kill ring at a required location. This is often known as pasting .


LispWorks Editor User Guide (Unix version) - 9 Dec 2014