All Manuals > LispWorks Editor User Guide > 2 General Concepts


2.5 Executing commands

2.5.1 Keys -- Ctrl and Meta

Editor commands are initiated by one or more key sequences . A single key sequence usually involves holding down one of two specially defined modifier keys, while at the same time pressing another key which is usually a character key.

The two modifier keys referred to are the Control (Ctrl) key and the Meta key .

When using Emacs emulation on a keyboard without a Meta key, the Escape (Esc) key can be used instead. Note that Esc must be typed before pressing the required character key, and not held down.

When using KDE/Gnome editor emulation Esc is the cancel gesture, so LispWorks provides an alternate gesture to access editor commands: Ctrl+M. For example, to invoke the command Find Source for Dspec, type

Ctrl+M X Find Source for Dspec

and press Return.

To continue the search, type Ctrl+M ,.

An example of a single key sequence command is Ctrl+A which moves the current point to the start of the line. This command is issued by holding down the Control key while at the same time pressing A.

Some key sequences may require more than one key sequence. For example, the key sequence to save the current buffer to a file is Ctrl+X Ctrl+S. Another multi-key sequence is Ctrl+X S which saves all buffers to their relevant files. Note that in this case you do not press the Control key while pressing S.

A few commands require both the Ctrl and Meta key to be held down while pressing the character key. Meta+Ctrl+L, used to select the previous buffer displayed, is one such command. If the Esc key is being used in place of the Meta key, then this key should be pressed before the Ctrl+L part of the key sequence.

There is a key sequence for which you cannot use Esc instead of Meta, because it is not actually implemented as an editor command (it works in other windows too). This is the default break gesture Meta+Ctrl+C described in Aborting commands and processes. As there are so many different types of keyboard, if it is not possible to assert which is the Meta key on your keyboard, it may be marked with a special character, such as a diamond, or it may be one of the function keys -- try F11. From this point on we refer exclusively to the Meta key in this manual.

2.5.2 Two ways to execute commands

The key sequences used to execute commands, as described in the previous section, are only one way to execute an editor command. As a general rule, editor commands that are used frequently should involve as few key strokes as possible to allow for fast editing. The key sequences described above are quick and easy shortcuts for invoking commands.

Most editor commands can also be invoked explicitly by using their full names. For example, in the previous section we met the keystroke Ctrl+A which moves the current point to the beginning of the line. This keystroke is called a key binding and is a shortcut for executing the command Beginning of Line. To execute this command by name you must type Meta+X followed by the full command name (Meta+X itself is only a key binding for the command Extended Command).

Even though there may seem like a lot of typing to issue the extended version of a command, it is not generally necessary to type in the whole of a command to be executed. The Tab key can be used to complete a partially typed in extended command. The editor extends the command name as far as possible when Tab is used, and if the user is not sure of the rest of the command name, then pressing Tab again provides a list of possible completions. The command can then be selected from this list.

The most commonly used editor commands have a default binding associated with them.

2.5.3 Prefix arguments

An editor command can be supplied with an integer argument p which may alter the effect of that command. In most cases it means that the command is repeated p times. This argument is known as a prefix argument as it is supplied before the command to which it is to be applied. Prefix arguments have no effect on some commands.

See Using prefix arguments for information about using prefix arguments.

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