Go to the first, previous, next, last section, table of contents.


Editor Concepts

Before I describe the editor in detail there are several concepts which you should be familiar with. Some will be explained in more detail later.

buffer
Buffers are used by the editor to store the text that you are editing. Broadly speaking, each buffer holds the contents of one text-file loaded into the editor (it is not necessary for each buffer to be associated with a file, some buffers exist for other purposes for example the `*jade*' buffer is used to interact with the Lisp system).
current buffer
The buffer being edited in the current window (see below), most editor commands work on this buffer unless told otherwise.
window
Corresponds to a window in the window-system. Each window can display one buffer at a single time (although a buffer may be displayed in more than one window at once).
current window
Jade always keeps track of which one of its windows is active. It is called the current window. Whenever you type a key or press a mouse button in one of Jade's windows, that window automatically becomes the current window. Amongst other things, all messages from the editor are displayed in the status line of the current window.
cursor
The cursor marks your current position in the current buffer (see above), when you type something it is inserted into the buffer between the cursor and the character preceding it (unless you type a command).
status line
One line in a window is devoted to displaying messages from the editor, section Using Windows.
Lisp
The programming language which Jade uses, although the internals of the editor are written in C, all commands are written in a dialect of Lisp (even if the command only calls a C function). Jade contains an interpreter, compiler and debugger for this language. See section Programming Jade.
variable
Variables are used to store Lisp values, each variable has a unique name. Note that unlike many programming languages variables in Lisp are not typed, the data values themselves have a type associated with them.
form
A form is a single Lisp expression. For example, all of these are forms:
foo
42
"hello"
(setq foo 200)
command
A command is a sequence of Lisp forms which may be called interactively (i.e. from the keyboard). It may be a key sequence (such as Ctrl-x Ctrl-f) or a Lisp function to evaluate (such as find-file).
regular expression
A regular expression is a string which is used to match against other strings. It has a special syntax which allows you to form a kind of template against which the other strings can be matched. They are used extensively by the editor, but you -- the user -- will mainly encounter them when searching and replacing strings in buffers.


Go to the first, previous, next, last section, table of contents.