FreeLisp Editor and Listener Keyboard Reference Guide


Version 1.0 Revision 1

A guide to keyboard commands available in the FreeLisp editor and listener.

1 Contents

"Introduction"

"General"

"Movement"

"Mouse"

"Marking"

"Deleting and cutting text"

"Insertion of text"

"Searching"

"Buffers"

"Echo area"

"Lisp"

"Menus"

2 Introduction

This guide is a quick reference to many of the keyboard commands available in the FreeLisp editor and listener. It complements the corresponding chapters in the main documentation, giving a brief summary of the details found there. Key sequences are grouped into related topics, and a brief description of each sequence is provided. See the FreeLisp UserŐs Guide for more details.

The Control, Escape and Shift keys are referred to throughout as C, Esc and S respectively.

The string C-k should be read "Press Control, and, without releasing it, press k". Esc k should be read "Press Escape, release it, and press k"

3 General

The following are general commands which you will often find useful.

DescriptionKey
Repeat command n times.C-u n command
Undo the last commandC-_
Abort commandC-g

For instance, to move forward 10 characters, do C-u 10 C-f.

4 Movement

These keyboard commands allow you to navigate the buffer.

Description Key
Move forward one characterC-f or -->
Move backward one characterC-b or ¬
Move forward one wordEsc f or C--->
Move backward one wordEsc b or C-¬
Move to the beginning of the lineC-a

Home

Move to the end of the lineC-e

End

Move down one lineC-n
Move up one lineC-p ­
Move cursor up one screenEsc v

PageUp

Move cursor down one screenC-v

PageDown

Moves cursor to beginning of bufferEsc <
Moves cursor to end of bufferEsc >
Move to the beginning of the current sentenceEsc a
Move to the end of the current sentenceEsc e
Move to the beginning of the current paragraphEsc [
Move to the end of the current paragraphEsc ]
Move cursor to top of windowC-PageUp

5 Mouse

The following operations all involve one of the mouse buttons.

Action Mouse Click
Move cursor to position clicked onLeft Button
Set mark to position clicked onRight Button
Mark word clicked onS Left Button
Paste word to the right of the cursorS Right Button
Copy region to kill ringC-S Left Button

6 Marking

To mark a region, left click at the beginning of the region, and right click at the end.

DescriptionKey
Set markC-space
Pop mark (i.e. delete the mark)Esc C-space

7 Deleting and cutting text

There are various commands for removing text from the current buffer.

Commands described below as "deleting" text delete the text permanently (you can only recover it by using C-_).

Commands described as "cutting" text will remove the text and place it in the kill ring. You can then use the text again by pasting it in. See the next section.

Esc w copies the region into the kill ring without deleting the original. The text can then be pasted. (See below.)

.
DescriptionKey
Delete the next characterC-d

Delete

Delete the previous characterBackspace
Cut the next wordEsc d

Esc Delete

Cut the previous wordEsc Backspace
Cut the rest of the line after the cursor (kill)C-k
Cut the marked region (wipe)C-w
Copy the marked regionEsc w

8 Insertion of text

The following commands all insert text into the editor buffer. The kill ring contains any text which has been copied or cut from the buffer using one of the cut options described above.

DescriptionKey
Paste the top item from kill ring at current cursor position (yank)C-y
Paste the previous item in the kill ring at the current cursor position Use this after a paste if the text you want is not at the top of the kill ring.Esc y
Insert new line into buffer C-o
Indent current line. In Lisp mode, indents according to previous line of definition.Tab

To overwrite text in the buffer (rather than move characters to the right) as you type in new text, press the Insert key. Press Insert again to return to the default behavior.

9 Searching

DescriptionKey
Search forward in the buffer for specified stringC-s
Search backward in the buffer for specified string (reverse search)C-r
Replace string with newstring, prompting you whenever string is foundEsc %
End search/replace (stops at current position)Esc
Abort search/replace (returns to original position)C-g
Help for replace?

When using the last option listed above, you are prompted for both string and newstring.

The searches listed above look forward (or backward) in the current buffer, beginning the search as soon as you enter the first character. While in a search, C-w pulls the word at the cursor into the search. To repeat the search in either direction, type C-s or C-r again, as appropriate.

10 Buffers

DescriptionKey
Switch to another bufferC-x b
Kill a bufferC-x k
Open another Editor windowC-x 2

When switching buffers, you are prompted for a buffer name.

11 Echo area

These commands are used in the echo area, when you are being prompted for a name, such as a filename. There is a command history, so previously entered commands can be re-issued.

DescriptionKey
For more info on the command you just issued, such as possible completions?
Attempts to complete the filename from what has been typed so farTAB
Show the previous command in the Echo Area history listEsc p
Show the next command in the Echo Area history listEsc n
Go to the beginning of the line in the Echo AreaC-a
Put the suggested default in the command entry area so that you can edit it before useC-p

12 Lisp

The following keyboard commands are specifically for use with Lisp expressions.

12.1 Functions and definitions

These commands refer to Lisp functions or definitions.

DescriptionKey
Find arguments of symbol before the cursorEsc =
Find arguments of symbol at head of current formC-A
Find source code definition of symbol before the cursorEsc .
Find next definition of symbolEsc ,
Complete symbol name as far possibleEsc C-i
Move to start of current definitionEsc C-a
Move to end of current definitionEsc C-e

For Esc . and Esc , you can also specify a symbol or part of a symbol.

12.2 Forms

These keyboard commands let you manipulate Lisp forms.

DescriptionKey
Move cursor forward to the next formEsc C-f
Move cursor to the previous formEsc C-b
Move cursor back one (Esc C-u
Move cursor forward one (Esc C-d
Kills form after cursorEsc C-k
Single macroexpansion of form after cursorC-M
Indents code in next formEsc C-q

12.3 Commands specific to the listener

The following is a list of other Lisp-related keyboard commands.

DescriptionKey
Move to previous command in ListenerC-c C-p
Move to next command in ListenerC-c C-n
Bring command to end of ListenerC-j

12.4 Packages

Each buffer has an associated package. If there is an in-package command at the top of a file when it is first read in, this is taken to specify the package; otherwise a default package is used. The package is shown in the message line at the bottom of the editor window.

12.5 Evaluation

The following keyboard commands allow you to evaluate Lisp definitions without having to go back to the listener.

DescriptionKey
Evaluate current or next definitionEsc C-x
Evaluate expression in Echo Area (type definition to be evaluated)Esc Esc

13 Menus

FreeLisp also provides menu commands equivalent to many of the keystrokes listed here. Refer to the FreeLisp UserŐs Guide for more details.

Use the Tab character for indentation of Lisp forms. In Lisp mode, this follows Lisp structure, and indents your code to the appropriate point, according to the level of nesting of brackets.

Table of contents

1 - Contents
2 - Introduction
3 - General
4 - Movement
5 - Mouse
6 - Marking
7 - Deleting and cutting text
8 - Insertion of text
9 - Searching
10 - Buffers
11 - Echo area
12 - Lisp
12.1 - Functions and definitions
12.2 - Forms
12.3 - Commands specific to the listener
12.4 - Packages
12.5 - Evaluation
13 - Menus