home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
may94
/
util
/
edit
/
jade.lha
/
Jade
/
doc
/
jade.info-2
(
.txt
)
< prev
next >
Wrap
GNU Info File
|
1994-04-20
|
45KB
|
906 lines
This is Info file jade.info, produced by Makeinfo-1.55 from the input
file jade.texi.
This is Edition 1, last updated 19 April 1994, of `The Jade Manual',
for Jade, Version 3.0.
Jade is a text editor for Unix (with X11) and the Amiga.
Copyright 1993, 1994 John Harper.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
This is so that jade doesn't try to eval the example use.
::jade-code::
::end::
File: jade.info, Node: Commands for Searching, Next: Commands for Replacing, Prev: Regular Expressions, Up: Searching and Replacing
Commands for Searching
----------------------
`Ctrl-s'
Asks for a regular expression then tries to move to the start of
the next match in this buffer.
`Ctrl-S'
Attempts to move to the next occurrence of the regexp which was
last entered for the `Ctrl-s' or `Ctrl-r' commands.
`Ctrl-r'
Asks for a regexp, then moves to the start of previous occurrence
of that regexp.
`Ctrl-R'
Attempts to move to the previous occurrence of the regexp which
was last entered for the `Ctrl-s' or `Ctrl-r' commands.
File: jade.info, Node: Commands for Replacing, Prev: Commands for Searching, Up: Searching and Replacing
Commands for Replacing
----------------------
`ESC p'
Asks for a template to replace the string under the cursor (which
should match the regexp which the search commands last looked for.
This string is then replaced with the expansion (re the string
under the cursor) of the template you entered.
`ESC P'
Variant of the above, doesn't prompt for the template, uses the
last one that you gave.
File: jade.info, Node: Editing Modes, Next: Using Buffers, Prev: Searching and Replacing, Up: Using Jade
Editing Modes
=============
Modes are used to tailor the editor to the *type* of the file being
edited in a buffer. They are normally a file of Lisp which installs the
buffer-local keybindings and variables which are needed for that type of
file.
For example, C-mode is a mode used to edit C source code, its main
function is to try to indent each line to its correct position
automatically.
At present there are only a small number of modes available. It is
fairly straightforward to write a mode for most types of files though.
* Menu:
* Invoking a Mode:: How editing modes are invoked on a buffer
* Generic-mode:: The foundations which all modes build from
* C-mode:: Mode for C source code
* Lisp-mode:: Mode for Lisp
* Texinfo-mode:: Mode for editing Texinfo source
* Info-mode:: The Info browser
File: jade.info, Node: Invoking a Mode, Next: Generic-mode, Up: Editing Modes
Invoking a Mode
---------------
When a new file is loaded the function `init-mode' tries to find the
mode that it should be edited with. If it is successful the mode will be
automatically invoked. For more information see *Note Automatic Mode
Selection:: and the documentation for `init-mode'.
File: jade.info, Node: Generic-mode, Next: C-mode, Prev: Invoking a Mode, Up: Editing Modes
Generic-mode
------------
This is not a mode as such since there is no Lisp code associated
with it. When no mode is being used to edit the buffer, it is said to
use the "Generic" mode.
This is the base from which all other modes build, it consists of
all the standard keybindings. Words are defined as one or more
alphanumeric characters, paragraphs are separated by a single blank
line.
File: jade.info, Node: C-mode, Next: Lisp-mode, Prev: Generic-mode, Up: Editing Modes
C-mode
------
`c-mode' is used for editing C source code files. Any files which
end in `.c' or `.h' are automatically edited in this mode.
It's one and only function is to try and indent lines to their
correct depth, it doesn't always get it right but it works fairly well.
The keys that it rebinds to achieve this are,
`RET'
Splits the line in two like normal. If `c-mode-auto-indent' is
non-nil then the line that the cursor ends up on is automatically
indented.
`Shift-RET'
Splits the line in two, doesn't take any notice of
`c-mode-auto-indent'.
These keys are handled specially since the indentation of the line
that they are inserted on may have to be adjusted.
`TAB'
Indents the current line to what the editor thinks is the correct
position.
`Meta-TAB'
Moves the cursor to the next tab stop.
Words are defined as being a sequence of alphanumeric or underscore
characters, paragraphs as being separated by a `{' as the first
character of a line.
- Function: c-mode
Editing mode for C source code. Automatically used for files
ending in `.c' or `.h'.
- Hook: c-mode-hook
Called by `c-mode' each time it is called.
- Variable: c-mode-tab
Size of tab stops used by `c-mode'.
- Variable: c-mode-auto-indent
When non-nil `RET' will indent the line after splitting it.
File: jade.info, Node: Lisp-mode, Next: Texinfo-mode, Prev: C-mode, Up: Editing Modes
Lisp-mode
---------
`lisp-mode' is used to edit files of Lisp intended to be read by the
editor. It is *very* basic, all it does is count the number of unmatched
parentheses in each line and indent it accordingly. I find this okay
though.
There is also support for using a buffer as a simple shell-interface
to the editor's Lisp subsystem.
Special keybindings are,
`RET'
Splits the line in two like normal. If `lisp-mode-auto-indent' is
non-nil then the line that the cursor ends up on is automatically
indented.
`Shift-RET'
Splits the line in two, doesn't take any notice of
`c-mode-auto-indent'.
`Ctrl-RET'
Evaluates the paragraph preceding the cursor, prints the value on
the next line.
`TAB'
Indents the current line.
`Meta-TAB'
Moves the cursor to the next tab stop.
`ESC Ctrl-x'
Evaluates the paragraph before the cursor, prints it's value in
the status line.
- Function: lisp-mode
Editing mode for Jade's Lisp. Automatically invoked for files
ending in `.jl'.
- Hook: lisp-mode-hook
Evaluated as soon as `lisp-mode' is called.
- Variable: lisp-mode-tab
Size of tabs in `lisp-mode'.
- Variable: lisp-mode-auto-indent
When non-nil `RET' indents lines after splitting them.
File: jade.info, Node: Texinfo-mode, Next: Info-mode, Prev: Lisp-mode, Up: Editing Modes
Texinfo-mode
------------
`texinfo-mode' is used to edit Texinfo source files, it is
automatically selected for files ending in `.texi' or `.texinfo'. It
provides a few basic keybindings to take some of the tedium out of
editing these files.
Paragraphs are separated by the regexp `^@node', ie, each node is a
separate paragraph.
The provided keybindings are,
`Ctrl-c Ctrl-c c'
Insert the string `@code{}', positioning the cursor between the
braces.
`Ctrl-c Ctrl-c d'
Insert the string `@dfn{}', positioning the cursor between the
braces.
`Ctrl-c Ctrl-c e'
Inserts the string `@end'.
`Ctrl-c Ctrl-c f'
Inserts the string `@file{}', the cursor is put between the braces.
`Ctrl-c Ctrl-c i'
Inserts the string `@item'.
`Ctrl-c Ctrl-c l'
Inserts the string `@lisp\n'.
`Ctrl-c Ctrl-c m'
Inserts the string `@menu\n'.
`Ctrl-c Ctrl-c Ctrl-m'
Prompts for the name of a node and makes a menuitem for it.
`Ctrl-c Ctrl-c n'
Prompts for each part of a node definition (name, next, prev, up)
and inserts the `@node ...' string needed.
`Ctrl-c Ctrl-c s'
Inserts the string `@samp{}' and puts the cursor between the
braces.
`Ctrl-c Ctrl-c v'
Inserts the string `@var{}', the cursor is put between the braces.
`Ctrl-c Ctrl-c {'
Inserts a pair of braces with the cursor between them.
`Ctrl-c Ctrl-c }'
`Ctrl-c Ctrl-c ]'
Moves the cursor to the character after the next closing brace.
- Function: texinfo-mode
Mode for editing Texi