                                  AEDIT

                                Command List

Line/Range Command   Parameters         Description

            ?                           Redisplays the last command entered.
            !        [CLI Command]      Performs a CLI command.

[Range]     :        /Search/ [Command] Conditional multiple command
					executer.
[Range]     Append   FileName           Attach text to END of specified
					file.
            Buffer   BufferNumber       Switch to specified buffer.
[Range]     CEnter   [ColumnNumber]     Center lines around specified
					column.
            CDir     [Directory]        Change the default directory.
[Range]     COpy                        Send lines to clipboard.
[Line]      CRunch                      Remove excess spaces in paragraph.
[Range]     CUt                         Delete and send lines to clipboard.
[Range]     DElete                      Remove lines of text.

[Range]     DUplicate                   Use clipboard to duplicate lines.
[Range]     ECho [Destination]          Duplicate lines to destination.
[Range]     EEol [Column]               Erase from column to end of line.
            EOL                         Move cursor to end of line.
            EOT                         Move cursor to end-of text.
[Range]     ERase                       Erase lines and copies to
					clipboard.
[Range]     ESol - [Column]             Erase from column to start of line.
            EXEcute FileName            Read a file as if entered as
					commands.
            EXIt [AJ                    Save buffer before exiting it.
[Range]     EXPand [Increment]          Convert literal #09 to tabs
					(spaces).
[Range]     FLip                        Change case of specified lines.
[Line]      FOrmat [RightMargin]        Format paragraph to specified
					margin.
[Line]      Get [FileName]              Insert a text file.
            Home                        Move cursor to upper left corner.
            Join                        Attach following line to current
					line.
            Keywords [FileName]         Specify file to allow case folding.
            LEft                        Move cursor left one column.
[Line]      LOAd [FileName]             Insert a text file.
[Range]     LOWer                       Changes text to lower case,
            MArgins [left] [right]      Changes left and/or right margins.
            MLeft                       Moves cursor to leftmost column.
[Range]     MOve [Destination]          Transfers lines to new location.
            MRight                      Moves cursor to rightmost column.
            NAme FileName               Changes default filename.
            NEw FileName                Clears and renames buffer.
            Open [FileName]             Clears, renames, and loads buffer.
            PAste                       Insert contents of clipboard,
[Range]     PRint [Device]              Prints specified lines to device.
[Range]     PUt [FileName]              Saves lines to a file.
            REAd [FileName]             'OPEN' a binary (hex) file.
[Range]     REMove                      Delete the specified lines.
            RIght                       Move cursor right one column.
[Range]     SAve [FileName]             Saves lines to a file.
            SOL                         Move cursor to the start of its
					line.
            SOT                         Move cursor to first line of text.
            SPlit                       Divide line at cursor's position.
            SYstem [A]                  Exit (delete) buffer.
            Tabstops [Increment]        Change tabstop increment.
[Range]     Upper                       Changes lines to upper case.
[Range]     Write                       Outputs binary (hex) characters.
[Range]     Xchange [?][#] /old/new/    Exchanges text.

                            Keyboard Reference

       BACKSPACE   Deletes the character left to the cursor.
SHIFT  BACKSPACE   Inserts a space at the cursor's position.

       DEL         Deletes the character the cursor is on,
SHIFT  DEL      -  Inserts a space at the cursor's position.

       ESC       Activate the Command  Line.

        RETURN   Moves the cursor to the left margin on the next line.
ALT     RETURN   Same as RETURN but indents to first character.
SHIFT   RETURN   Moves the cursor to the left margin.
CTRL    RETURN   Backward RETURN.
        ENTER    Functions identically to RETURN (see above),

       TAB       Moves the cursor to the next tabstop.
SHIFT  TAB       Moves the cursor to the previous tabstop.

ALT     -   (Keypad)   Deletes line, moves text upward to close up space.
SHIFT   -   (Keypad)   Deletes line, but leaves the line's space.
CTRL    -   (Keypad)   Deletes line, moves text downward to close up space.

        RIGHT/LEFT   Move the cursor one column.
ALT     RIGHT/LEFT   Move cursor by words.
SHIFT   RIGHT/LEFT   Move cursor by 20 columns
CTRL    RIGHT/LEFT   Move cursor to end/start of line.

       UP/DOWN   Move cursor to previous/next line.
ALT    UP/DOWN   Move cursor by 5 lines.
SHIFT  UP/DOWN   Move cursor by one page.
CTRL   UP/DOWN   Move cursor to first/last line of text.

      F1   Redisplay status line,            F5   Toggle Mark mode.
ALT   F1   Text line to command line.        F6   Clear the Undo list.
CTRL  F1   Last command to text line.        F7   Recover changes to line.
      F2   Insert/Overwrite mode.            F8   CTRL character into text.
      F3   Toggle Newline mode.              F9   Undo last change to text.
ALT   F3   Insert line below cursor.         F10  Duplicate line.
CTRL  F3   Insert line above cursor. SHIFT   F10  Continue searching.
      F4   Text/Program mode, CTRL           F10  Reexecute command.

  CTRL   a   Insert line below cursor then do a RETURN.
  CTRL   c   Stop whatever Aedit is doing (if possible).
  CTRL   e   Move cursor to top left corner.

  CTRL   f   'Flip' the case cf any highlighted characters.
  CTRL   P   Move to start of paragraph (going backward).
  CTRL   p   Move to start of paragraph (going forward).
  CTRL   s   Move to end of sentence.
  CTRL   Y   Erases from cursor to start of line.
  CTRL   y   Erases from cursor to end of line.
  CTRL   ]   Toggles between left and right window edges.

  LAMIGA  Marks (highlights) text, when another key is held down.
          L for line, P for paragraph, S for Sentence,  and W for word.


                            Table of Contents

 1.0  INTRODUCTION : ................................................  1  
   1. 1  Requirements ...............................................  1
   1. 2  Manual organization.........................................  1
   1. 3  V1 and V2...................................................  1

 2.0  CONTENTS.......................................................  2
   2.1  Disk Contents................................................  2
   2.2  Root Directory...............................................  2
   2.3  "Text" directory (Drawer)....................................  3
   2.4  "Rubbish" Directory..........................................  3

 3.0  Starting Aedit.................................................  4
   3.1  From WorkBench...............................................  4
   3.2  From CLI.....................................................  4

 4.0  Definition of Terms............................................  7
   4.1  Command Line.................................................  7
   4.2  Current Buffer...............................................  7
   4.3  Current Line.................................................  7
   4.4  Current Pathname.............................................  7
   4.5  Current Paragraph............................................  7
   4.6  Line.........................................................  7
   4.7  Message Line.................................................  7
   4.8  Page.........................................................  7
   4.9  Paragraph....................................................  7
   4.10 Pathnames....................................................  8
   4.11 Sentence.....................................................  9
   4.12 Word.........................................................  9
   4.13 Undo List....................................................  9

 5.0  SCREEN LAYOUT..................................................  9
   5.1  Top Border...................................................  9
   5.2  Right Border................................................  11
   5.3  Bottom Border...............................................  12
                                                                         
 6.0  KEYBOARD LAYOUT...............................................  14
   6.1  Function Keys...............................................  14
   6.2  Normal Control Keys.........................................  16
   6.3  CTRL Keys...................................................  18
   6.4  AMIGA Selection.............................................  20

 7.0  Buffers.......................................................  21
   7.1  Buffer Characteristics......................................  21
   7.2  Switching Between Buffers...................................  21
   7.3  Buffer Deactivating.........................................  21

 8.0  Modes.........................................................  22
   8.1  Insert/Overstrike Mode......................................  22
   8.2  Newline Mode................................................  22

                                - I -

   8.3  Text/Program Mode...........................................  22
   8.4  Mark Mode...................................................  23

 9.0  Clipboard Operations..........................................  24
   9.1  COPY to Clipboard...........................................  24
   9.2  CUT to Clipboard..,.........................................  24
   9.3  DUPLICATE using Clipboard...................................  25
   9.4  ERASE to Clipboard..........................................  25
   9.5  PASTE from Clipboard........................................  25

10.0  Menus.........................................................  26
   10.1  Menu Requesters............................................  26
   10.2  Project....................................................  27 
   10.3  Edit.......................................................  29 
   10.4  Text.......................................................  30
   10.5  Buffers....................................................  32
   10.6  Special....................................................  32

11.0  CommandLine..................................................  33
   11.1  Activating.................................................  33
   11.2  Syntax.....................................................  33
   11.3  Line Ranges................................................  33              i

12.0 Commands.......................................................  37
   12,1  "?" Recall Command.........................................  37
   12.2  "!" DOS Command............................................  37
   12.3  ";" Multi Command..........................................  38
   12.4  APPEND.....................................................  38
   12.5  BUFFER.....................................................  39
   12.6  CENTER.....................................................  39
   12.7  CDIR.......................................................  40
   12.8  COPY.......................................................  41
   12.9  CRUNCH.....................................................  41
   12.10 CUT........................................................  42
   12.11 DELETE.....................................................  42
   12.12 DUPLICATE..................................................  43 
   12.13 ECHO.......................................................  43
   12.14 EEOL.......................................................  44
   12.15 EOL........................................................  44
   12.16 EOT........................................................  44
   12.17 ERASE......................................................  45
   12.18 ESOL.......................................................  45
   12.19 EXECUTE....................................................  46
   12.20 EXIT.......................................................  47
   12.21 EXPAND.....................................................  47
   12.22 FLIP.......................................................  48
   12.23 FORM AT....................................................  48
   12.24 GET........................................................  49
   12.25 HOME.......................................................  50
   12.26 JOIN.......................................................  50
   12.27 KEYWORDS...................................................  50
   12.28 LEFT.......................................................  52
   12.29 LOAD.......................................................  52
   12.30 LOWER......................................................  52
   12.31 MARGINS....................................................  53
   12.32 MLEFT......................................................  53

                                 - II -
 
   12.33 MOVE.......................................................  54
   12.34 MRIGHT.....................................................  54
   12.35 NAME.......................................................  54
   12.36 NEW........................................................  55
   12.37 OPEN.......................................................  55
   12.38 PASTE......................................................  56
   12.39 PRINT......................................................  56
   12.40 PUT........................................................  56
   12.41 READ.......................................................  57
   12.42 REMOVE.....................................................  58
   12.43 RIGHT......................................................  58
   12.44 SAVE.......................................................  58
   12.45 SOL........................................................  59
   12.46 SOT........................................................  59
   12.47 SPLIT......................................................  59
   12.48 SYSTEM.....................................................  60
   12.49 TABSTOPS...................................................  60
   12.50 UPPER......................................................  60
   12.51 WRITE......................................................  61
   12.52 XCHANGE....................................................  62

13.0  Aedit V1 Subset...............................................  64

14.0  Error Messages................................................  65

15.0 Search Phrases.................................................  69

Index...............................................................  73

                               - III -

                           INTRODUCTION :                              

Aedit is a general purpose text editor with specific emphasis on program
text entry. It was written to handle all the day to day text entry that is
necessary, in some way, for practically every function a computer is called
to perform. The design goals included ease of use, powerful command
options, fast operation, word processing ability, and yet work with the
multi-tasking Intuition environment.  Aedit supports Command Line Entry (a
la ED) as well as menus and gadgets for those who prefer to use the mouse. 
Aedit V2 is the preferred version.

Aedit comes in a full featured and limited version. Aedit Version 2
(also just "Aedit" or "V2") is the large model; it features the full
set of commands, menus, and gadgets. Aedit Version 1 (also "V1") is
the small model; it uses a command subset along with fewer gadgets.
Aedit.V1 is provided for those who prefer the CLI environment and
would like Aedit to drop the menus and gadgets in order to reduce
memory consumption.

1.1 Requirements

Aedit needs 256K of memory and Version 1.1 Kickstart.  Aedit will also
function with Version 1.2 Kickstart.

1.2 Manual organization

This manual is organized by case (#.), section (.#), and subsection (-#)
numbers. For ease of cross referencing, sections will be referred to by
these numbers. Features of Aedit will be mentioned before they are fully
explained. In these cases, a reference to the appropriate case, section, or
subsection is given. One can skip this reference to read it later, or jump
to the referenced section for an immediate explanation.

1.3 V1 and V2

This manual covers all features available in Aedit (V2, full version).
Since Aedit V1 is a subset of Aedit V2 (case 13.0), some of this manual may
not apply.

                              - 1 -                                     

			      2.0  CONTENTS

Aedit's package should contain the following.

  * Manual.
  * Quick reference sheet.
  * one 3-5" 'Stiffy' disk.

2.1 Disk Contents

     AEDIT          Large model Aedit.                                            i
     AEDIT.V1       Small model Aedit (command subset = memory savings).          !
     Read.First     Introductory file.
     Tutorial       Text file used in interactive tutorial.                       :
     PageItC        A program that pages text (uses CTRLs).                        !
     PageItD        A program that pages text (uses visible controls).

        Text (Directory - Drawer)

          Instruct      Less formal instructions.
          Support       Information on support and development of Aedit.
          Details       Details of Aedit's software implementation.
          Addendum      Additions and corrections.
          PageIt.instr  Instructions for using the PageIt program.

        Rubbish (Directory)

2.2  Root Directory

This is the window that first appears when the disk's icon is double
clicked. Aedit should always reside either in the root directory or in the
"C" directory.

2.2-1 Aedit                                                                     !
This is the large model of Aedit (V2). It has all the features and commands
presented in this manual.

2.2-2 Aedit.V1                                                                  i
Small model Aedit (V1). Limited command set, menus, and gadgets. Designed
for memory savings and for those who prefer 80 column lines or the CLI
environment. Most of this manual applies to Aedit V1 (for exceptions see
case 13.0).                               

                               -2-                                     

2.2-3 Read.First
This file should be read first. Double click the icon to display its
contents.

2.2-4 Tutorial
Since many features of Aedit are best learned by simple experimentation,
this file was designed to be read directly from Aedit's screen. This is the
file that automatically appears when the tutorial icon (in Workbench) is
double clicked. The icon appears as a box with the letters A-B-C on it.

2.2-5 PageIt
This program can send numbered pages to the printer. It also eases the use
of underline, boldface, italic, compressed, and double width printing. For
instructions on its operation see the file "PageIt.instr" (case 2.3-5).

2.3 "Text" directory (Drawer)
This directory (drawer) contains extra information on Aedit.

2.3-1 Instruct
Less formal instructions written by a third party. Sometimes a different
perspective on a product is easier to understand. Note that this file does
not cover all aspects of Aedit and in the event of conflict, this manual
shall prevail.

2.3-2 Support
Information on the support available for Aedit as well as its continuing
development is contained in the file "Support".

2.3-3 Details
Implementation details and notes that could have some bearing on the user
of Aedit.

2.3-4 Addendum
This file contains the changes, additions, and corrections to this manual
and Aedit.

2.3-5 PageIt.instr
This file contains the instructions for the use of the program PageIt. This
program provides paged printing and easy use of bold, underline, italic,
compressed, and double width printing.

2.4 "Rubbish" Directory
This directory (and its associated icon) function identically to the
"Trashcan" icon normally found on Workbench disk. Its name and icon image
were modified as a mild demonstration of icon adjusting.

                                  -3-                                     

                         3.0 Starting Aedit      

3.1 From WorkBench

Under Workbench, Aedit is started in the standard fashion (ie. double
clicking its icon). Double click the Tutorial icon for an on-screen
tutorial of Aedit's features. In fact, double clicking any of Aedit's
project (ie. text file) icons will load Aedit with that file.

3.1-1 Startup
Aedit must not be in any drawers and must be on the same disk as the
project if it is to function properly. This is necessary, because when
Aedit's project icons are double clicked (activated), they look to the
disk's first window (ie. root directory) for a copy of Aedit. There is a
(cheater's) way to start Aedit with any text file (that has an icon) no
matter what drawer or disk Aedit is on.

        * Hold the SHIFT key down.                                               !

        * Click the project you wish Aedit to start with.

        * Click Aedit's icon twice.

        * Release the SHIFT key.

Aedit will then start with the selected project loaded. 

3.1-2 Icons
Text files (projects) saved by Adit have certain information stored on
their icons. This information includes the tabstop setting (case 5.3-6) and
the left and right margins (case 5.3-4) at the time the file was last
saved. The shape of the icon  indicates whether Aedit was in Text or
Program mode (case 8.3) at the time the file was last saved. 

If a file that does not have an associated icon, is loaded into  Aedit,
then no icon is created when the file is saved. If a file has a non-Aedit
icon associated with it, then that icon is  re-saved with the file but is
otherwise unmodified.

WARNING: Do not SAVE (case 12.44) or PUT (case 12.40) text to  the printer,
use PRINT (case 12.39) instead. Otherwise an icon image will be sent to the
printer and this will result in erroneous (ie. garbage) output. 

                             -4-                                   
                                                                               
3.2 From CLI
Aedit (particularly Aedit.V1) can be used while in the CLI environment.

3.2-1 Startup        
Copy Aedit to the 'C' directory or the root directory of your System disk.
To start Aedit, merely type "aedit" at the CLI prompt. Various parameters
are allowed when using CLI. This is Aedit's parameter template:

       From,-K=KEY WORD/K, -E=EXECUTE/K, -W=WORKBENCH/S, -F=FULL/ S
       From,-K=KEYWORD/K                      Aedit.V1 (small model).

       From 		File to automatically start with (optional).
       -K=KEYWORD/K 	Keyword file (case 12.27).
       -E=EXECUTE/R 	Automatic Execute file (case 12.19).
       -W=WORKBENCH/S 	Tell Aedit to recognize and create
                 	icons (case 3.1-2).
       -F=FULL/S 	Tell Aedit to start with a wide window
                 	(79 columns).

3.2-2 Initial Text File
Aedit may be instructed to automatically load a file when it starts. Enter
the file's name after the optional keyword "From". If no filename is
entered then Aedit starts empty of text.

                                       Examples:

           1> aedit 		  	Aedit starts empty.
           1> aedit FileName 		Aedit loads file "FileName".
           1> aedit from FileName 	Same as above.

3.2-3 Keyword File
Aedit will allow case folding (case 12.27-1). To instruct Aedit on how it
is to case fold, use the "-k" parameter. If this parameter is followed by a
filename, then it will be used as the keyword file. If followed by a plain
":" then Aedit will do Assembler case folding (case 12.27-2).

                                       Examples:

           1> aedit 		    	No case folding will occur.
           1> aedit -k KeywordFile 	Use "KeywordFile" as keyword list.

           1> aedit -k :             	Assembler case folding enabled.
           1> aedit keyword :        	Assembler case folding enabled.

                                   -5-                                    

3.0                        Starting Aedit

3.2-4 Wide Window
If the parameter "-f" (Full width) is used, Aedit will not render the right
border gadgets. This results in 79 character lines. In all other respects,
Aedit functions normally. This feature is not available with Aedit.V1.

                                     Examples:

        1> aedit                  Normal 77 character width window.
        l> aedit -f               Allow 79 character width window
        1> aedit full             Allow 79 character width window

3.2-5 Pseudo-Workbench
When Aedit is started from CLI, it will neither recognize nor handle icons.
To instruct Aedit to operate as if it was started from Workbench (enabling
it to handle icons) use the "-w" parameter.

                                     	Examples:

        1> aedit 	  		Icons are not recognized,
        1> aedit -w 	  		Icons are recognized.
        1> aedit workbench 		Icons are recognized.

3.2-6 Auto Execute File
To automatically execute (case 12.19) a file when Aedit starts, use the
"-e" parameter. After the file (if any) is executed, Aedit remains active
for normal editing. An auto-execute file will be performed after any file
has been automatically loaded (case 3.2-2).

                                     	Examples:

        1> aedit                           Aedit starts normally,
        1> aedit   -e AutoExec             File "AutoExec" is executed.
        1> aedit   execute AutoExec        File "AutoExec" is executed.
        1> aedit   FileName -e AutoExec    Load "FileName" then execute
                                           the file "AutoExec".

                                -6-                                    

                       4.O  Definition of Terms         

Various terms or phrases will be used throughout this manual. Explaining
each term every time it is used would be unacceptable. When one of these
(possibly) unusual terms is used there will (almost always) be a reference
to its explanation in this section, Thus, it is not necessary to read every
definition. Merely referring to it when an unfamiliar term is used is
sufficient.

4.1 Command Line
The command line appears above the message line. It is used to manually
enter commands into Aedit. See case 11.0 for a full explanation.

4.2 Current Buffer
The Current Buffer is the buffer that has its text displayed. This is the
buffer whose name appears in the title bar (case 5.1-3). The current buffer
also has a checkmark by it in the Buffers menu (case 10.5).  

4.3 Current Line
The line that the cursor is on is considered the Current Line.

4.4 Current Pathname
The current pathname is the complete name that appears in the title bar
(case 5.1-3).

4.5 Current Paragraph
The paragraph (case 4.9) that the cursor is in is considered the Current
Paragraph. If the cursor happens to be on a blank line then there is no
such thing as the current paragraph. In this case, Aedit usually just
assumes that the current line is meant.

4.6 Line
A line is a sequence of horizontal characters (including spaces) that
extend from the left margin to the right margin. All of  Aedit's text is
composed of lines, whether or not they actually contain visible characters.
Each line is given a logical number. The first line is number 1, the second
is number 2, etc.

4.7 Message Line
The message line is the bottom line in Aedit's window (case 5.3). Status
information is also displayed here.

4.8 Page
A page (for movement purposes) is defined as the number of visible text
lines, less two. Thus, if there are 23 text lines, a page is any group of
21 lines.

                                    -7-                                    

4.0                    Definition of Terms                                        )

4.9 Paragraph                                                                     '
A paragraph is defined as any sequence of lines (containing visible
characters) bounded by blank lines. The start of text (logical line 0) is
also considered a blank line for this purpose. You will notice that this
definition precludes double spaced paragraphs.

4.10 Pathnames
A Pathname is defined as the whole filename specification. This includes
both the directory path and the actual name of the file. The current
pathname is displayed in the title bar of the window (case 5.1-3).

     Current Pathname               Directory path       Filename

     SYS:c/text                     SYS:c/               text
     df1:one/two/three/filename     df1:one/two/three/   filename
     Text.e                                              Text.e
     df0:file                       df0:                 file

4.10-1 Pathname Shortcuts
Aedit allows some flexibility in specifying a filename when using          
the command line (case 11.0). Whenever a filename is called for, entering
just a filename will actually mean the current directory path plus the
entered filename. Entering just a directory path will actually mean the
entered directory path plus the current filename. If the characters "/" or
":" appear in the entered path name then it will not be modified. For
example, if the current pathname is "df1:dir/oldfile" then...

        Entering...              will produce...

        newfile                  df1:dir/newfile
        df0:                     df0:oldfile
        old/newfile              one/newfile
        df1:test                 df1:test                                         '
        dir/                     dir/oldfile
        sys:C/                   sys:c/oldfile                                    !
                                                                                  i
The utility of this feature becomes apparent when it comes to saving or
loading files. For example, if the current pathname is
"df0:one/two/file"...                                                      

        The command...                Is equivalent to...

        SAVE   df1:                   SAVE   df1:file                              )
        SAVE   file.bak               SAVE   df0:one/two/file.bak
        LOAD   next                   LOAD   df0:one/two/next
        LOAD   SYS:c/                 LOAD   SYS:c/file                            !
        LOAD   sub/test               LOAD   sub/test

                               -8-                                     
                                                                                  J
                       Definition of Terms                            

4.10-2 Shortcut Restrictions
You will notice that in the previous examples, whenever just a directory
path is entered, it ends in either a "/" or a "!". This is how Aedit
determines that you are specifying a directory path and not a complete
filename.

4.11 Sentence
A sentence is defined as any sequence of words that ends in either the ".",
":", "!", or "?" characters followed by a space.

4.12 Word
When in Text mode (case 8.3-1) a word is defined as any sequence of
characters bounded by either a space or the beginning of a line. When in
Program mode (case 8.3-2) a word is defined as any sequence of alphanumeric
characters bounded by non-alphanumeric characters or the beginning of a
line.

4.13 Undo List
An "Undo List" is a record of the last 300 lines that have been changed,
deleted, or modified. Aedit uses this list to 'take back' (case 6.1-9)
modifications to the text. Since each buffer (case 7.0) contains its own
separate list, there is a possibility of having up to 9 Undo lists.

                     5.0  SCREEN LAYOUT

All the standard Workbench gadgets that appear in Aedit's window have; the
standard effects. Familiarity with these gadgets by the reader is assumed.
Aedit's window layout is logically grouped into three areas. The top border
contains status information and gadgets, the right border contains the text
positioning gadgets, and the bottom border contains Aedit's numerical
statistics and messages. The middle of the window, of course, displays the
actual text.

5.1 Top Border
Aedit's status, current buffer, current file name, and mode gadgets appear
on the top border. The righthand gadgets (exclusive of the Front/Back
gadgets) correspond to the function keys F1 through F5 (in sequence).
Pressing the function key is equivalent to clicking the gadget. The top
border in detail from left to right...

5.1-1 Close Window Gadget
The Close Window gadget terminates editing in the current buffer (case
7.0). If the current buffer is not empty of text then a requester with
three options (Exit, Save, and Cancel) will appear. Select "Save" to save
the file before exiting, "Exit" to leave Aedit without saving the text, and
"Cancel" to abort the requester, leaving the current buffer and Aedit
intact.

                               -9-                                     

The last read buffer so exited will terminate Aedit (ie. program stopped
and memory deallocated). If more than one buffer is currently present (case
7.0) then Aedit will bring up the lowest numbered buffer as the new current
buffer.

5.1-2 "#>"
The number that appears in the title bar area of the window refers to the
current buffer (case 4.2). The values can range from "1>" to "9>", each
corresponds the buffers numbered 1 through 9.

5.1-3 Window Title Bar
The complete file pathname of the current buffer is displayed here.
Approximately 60 characters can be displayed (depending on window size and
Aedit version). If the complete pathname is too long, it is truncated to
fit. The actual filename and directory path are unaffected by this.

5.1-4 Display Status Gadget
This gadget causes the bottom status line (case 5.3) to be redisplayed.
Since messages erase the status line, this gadget is often used. Pressing
the F1 key has the same effect as clicking this gadget.

                    Insert              Overstrike

5.1-5 Insert/Overstrike Gadget
This gadget displays and controls Insert/Overstrike mode (case 8.1). Aedit
starts out, like all previous Commodore computers, in Overstrike mode.
Clicking the gadget or pressing the F2 key will toggle between the two
modes.

                               -10-                                     

                  Disabled             Enabled

5.1-6 Newline Gadget
This gadget displays and controls Newline mode (case 8.2) of Aedit.
Clicking the gadget or pressing the F3 key will enable/disable this mode.
Newline mode causes every press of the RETURN key to create a new blank
line.

                 Text                  Program

5.1-7 Text/Program Gadget
This gadget displays and controls Text/Program mode (case 8.3). Aedit
starts in Program mode (flowchart). Clicking the gadget or pressing the F4
key will toggle between the two modes. Text mode allows word wrapping and
paragraph formatting (case 12.23) to occur. Program mode attempts to keep
lines intact (ie. avoids automatic line splits).

                   Disabled            Enabled

5.1-8 Mark Text Gadget
This gadget controls Mark (Select) mode (case 8.4) in Aedit. Clicking the
gadget or pressing the F5 key enables/disables Mark mode. When mark mode is
enabled, one can highlight text for subsequent manipulation (case 9.0).
Mark mode is automatically activated if the left mouse button is held down
while the mouse is moved.

5.1-9 Front/Back Gadgets
These gadgets function in the standard Workbench fashion.

5.2 Right Border
The right border of Aedit's window consists of gadgets that adjust the text
display in the window. If one imagines that the text in Aedit is fixed and
just the window of observation is moved around, then the function of these
gadgets will make sense. The right border does not exist in Aedit V1 and
can be disabled in Aedit V2 (case 3.2-4).

                              -11-                                     

5.2-1 Up/Down Arrow Gadgets                                                    ;
These gadgets move.the display window through the text in increments of 5
lines. The Up Arrow gadget causes the current line to move toward the start
of the first line of text. The Down Arrow gadget operates in reverse.

5.2-2 Page Gadgets
The Page Gadgets (appearing as small dog eared pages) move the display
window through the text by one page (case 4.8), The Page Gadget next to the
Up Arrow Gadget causes the current line to move toward the first line of
text. The other Page Gadget moves the current line toward the end of the
text.

5.2-3 Page Slider Gadget
This gadget appears as a filled rectangle (slider) within a vertical box.
The position of the slider corresponds with the position of the visible
text page within the whole text file. Clicking inside the box but not on
the slider has the same effect (approximately) as the Page Gadgets. Holding
the left mouse button down while the mouse is pointing at the slider will
allow it to be moved. When the button is released, Aedit will adjust the
visible text to match the new position of the slider.

5.3 Bottom Border
The bottom border is used for two purposes. One, to display any messages
and two, to display Aedit's numerical status values (eg. current line
number). Messages will overwrite the status line, so use the F1 key (case
6.1-1) to redisplay it.

5.3-1 Visible Left Margin                                                      i
The first value is the leftmost column of the display window. This number
is preceded by the "^" character. Every time the cursor is moved past
either of the visible window margins, the current view of the text will
shift by 11 spaces. This is reflected in the status line. Use the RETURN
key to bring the visible window to its 'natural' position of column 1.

5.3-2 Current Line Number
The 'Current Line' is the line that the cursor is on. The number of this
line is displayed after "Line:". Lines in Aedit start at number 1 and
continue indefinitely; there is no practical line number limit.
                                                                                  
5.3-3 Cursor Column                                                            
The current column of the cursor is displayed after "Col:". It is limited by
the left and right margin limits (case 5.3-4). When the cursor is moved past
the displayed window edge, the text will shift by 11 characters to keep the
cursor visible (case 5.3-1).             

                               -12-                                     

5.3-4 Left Margin
The current left margin setting is displayed after "L.Mar:". This is the
leftward limit of cursor movement and text positioning. The left margin
setting may be changed from the menu or the MARGIN command (case 12.31). An
attempt to move the cursor further left than this margin limit will
actually result in a move to the space beyond the last character of the
previous line.

5.3-5 Right Margin
The current right margin setting is displayed after "R.Mar:". This is the
rightward limit of cursor movement and text positioning. Aedit defaults to
a right margin setting of 512 (this is also the maximum). The right margin
setting may be changed from the menu or the MARGIN command (case 12.31). An
attempt to move the cursor further right than this margin limit will
actually result in a move to the start of the following line.

Note: When in Text mode (case 8.3.1) the cursor is allowed to move to the
column just past the right margin limit. This is a side effect of
implementing word wrap.

5.3-6 Tab Setting
The current tab increment is displayed after "Tab:". Every press of the TAB
key moves the cursor to the next column that is evenly divisible by the
current tab setting (column 1 is always a tab stop). Example: The tabstop
setting is 5; the cursor will stop on columns 1, 5, 10, 15, 20, etc, The
current tabstops may be changed from the menu or the TABSTOP command (case
12.48),

5.3-7 End Text Line
The number of the last line (that contains visible characters) is displayed
after "End:", The cursor is not limited by this maximum line.

5.3-8 Dynamic Memory Size
The current total of all dynamically allocated memory is displayed after
"Size:". This total can be used to keep Aedit within memory limits. You
will notice that each buffer that is activated (case 7.0) uses about 200
bytes and each line of text uses 13 bytes in addition to the number of
characters in the line. NOTE: This value represents the TOTAL allocated
memory, This includes ALL the buffers (case 7.0) and their Undo lists (case
4.13). On a 512K Amiga if this value exceeds 300000 then an 'Out of Memory'
guru meditation is likely.

5,j-9 Literal Character Value
The actual decimal value of the character that is currently under the
cursor is shown between the "[]". The value of this number comes into play
when dealing with literal control characters (case 6.1-8).

                                    -13-                                   

                          6.0 KEYBOARD LAYOUT                       

The standard typewriter characters and the international characters (hold
ALT key down) are available. Most function keys are defined as well as many
control (hold the CTRL key down) keys. There are also some extra abilities
attached to some of the normal control keys (eg. RETURN, TAB, etc). The
modifier keys (ALT, SHIFT, and CTRL) have a hierarchy.

   CTRL: Greatest (strongest) modifier or signifies above.
   SHIFT: Medium modifier or signifies current line.
   ALT: Weakest modifier or signifies below.

6.1 Function Keys
Function keys F1 through F5 correspond the five gadgets in the window's
title bar. Some function keys have more than one ability. When this is the
case, one uses a modifier key (eg. CTRL, SHIFT, or ALT) when pressing the
function key.

6.1-1 F1 Display Status                                                     
This key is a substitute for clicking the Status Gadget (case 5.1-4). Its
purpose is to replace any messages with the status line (case 5.3).
                                                                               ;
CTRL-F1 causes the last command entered at the command line (case 11.0) to
be inserted below the cursor in the text. Mnemonic: Top modifier key gets
line from top section (ie. text area).

ALT-F1 causes the current line to be copied to the command line.           

This allows commands in the text file to be easily fetched to the          
command line for execution. Mnemonic: Bottom modifœier key gets line from
bottom section (ie. command line).

6.1-2 F2 Insert/Overstrike                                                  
This key toggles between Insert and Overstrike mode (case 8.1).            
Insert mode functions like ED, while Overstrike mode functions like
previous Commodore computers.                                         

6.1-3 F3 Newline
This key activates/deactivates Newline mode (case 8.2). When in Newline
mode, pressing RETURN creates a new line that the cursor is moved to.

CTRL-F3 creates a new line above the current line.                         
ALT-F3 creates a new line below the current line.

                              -14-                                    


6.1-4 F4 Text/Program
This key toggles between Text and Program mode (case 8.3).

6.1-5 F5 Mark
This key activates/deactivates Mark mode (case 8.4). When in Mark mode,
moving the cursor causes text highlighting, This highlighted (selected)
text can then be CUT, ERASEd, PASTEd, etc (case 9.0). '

6.1-6 F6 Undo Deletion
This key removes all entries in the Undo list (case 4.13) that is
associated with the current buffer. The memory savings may be noticed by a
drop in the size of allocated dynamic memory (case 5.3-8),

6.1-7 F7 Recover
The F7 key will restore the current line to its condition prior to any
modifications, This will only work if its previous condition was not blank
and you haven't moved the cursor off the line. If you have moved the cursor
then use the F9 key to restore it. Mnemonic: In Craps, roll a 7 and get
your money back -- press the F7 key and get your line back.

6.1-8 F8 Literal Control Character Entry
Use of the F8 function key allows the entry of nonprintable key to be
literalized appears and Aedit waits for you to press the key to be entered
into text (eg. ^F, RETURN, BACKSPACE, etc). The character entered will
appear the same color as the cursor. This signifies that it is
nonprintable.

The character used matches the character one would have to press while
holding down the CTRL key. Example: the literal for the TAB key appears as
"I". This is because the horizontal tab (HT) is universally available by
pressing the CTRL and the "I" key at the same time. Pressing F8 while Aedit
is waiting for a character to be literalized, safely aborts the process. To
determine the actual value of any literal character, move the cursor on top
of it and examine the status line (see case 5.3-9). Here is an example of
entering the ASCII BackSpace character.

        * Position the cursor where the CTRL character is to go.
        * Press the F8 key.
        * Press the capital letter "H" or the BACKSPACE key.

                                   -15-                                    

6.1-9 F9 Undo
This key will undo and changes to the text. It is limited to the last 300
lines of changed (modified, deleted. or inserted) text. Use the F6 key to
clear the Undo list (case 4.13). Mnemonic: A cat has 9 lives -- the F9 key
gives your text 9 lives as well.

6.1-10 F10 Echo Line
Use the F10 key to echo (duplicate) the current line. The line is
duplicated below the current line. Mnemonic: Note, except, maybe that F10
is the only function key with two numbers on it.

CTRL-F10 will reexecute the last command entered at the command line (case
11.0).

SHIFT-F10 will continue a search (case 11.33) using the last search text
entered at the command line (case 11.0).

6.2 Normal Control Keys
The normal control keys consist of the DEL, BACKSPACE, TAB, ESC,
UP/DOWN/RIGHT/LEFT arrows, ENTER, RETURN, and sometimes the "-" character
on the keypad. There are extra abilities assigned to these keys. They are
available by holding down one of the modifier keys (CTRL, SHIFT, and ALT)
and pressing the key to be modified. A modified key entry is written, for
example, as follows; ALT-ENTER means hold down the ALT key while pressing
the ENTER key.

6.2-1 BACKSPACE
This key deletes the character to the left of the cursor,  It closes up any
text from the cursor's position rightward, Th BACKSPACE key will not
function if the cursor is at the left margin (case 5.3-4). If there is
marked text (case 8.4) then the BACKSPACE key will ERASE it (case 12.17),

SHIFT-BACKSPACE or ALT-BACKSPACE will insert a blank space at the cursor
position. All characters from the cursor rightward will be moved to make
room.

6.2-2 DEL
This key deletes the character at the cursor's position if there is a
visible character at this position or rightward. If there is marked text
(case 8.4) then the DEL key will DELETE it (case 12.11). In all other cases
it functions identical to BACKSPACE.

SHIFT-DEL will insert a blank space at the cursor's position. All
characters from the cursor rightward will be moved to make room. Same as
ALT-SPACE (case 6.2-9).

ALT-DEL is the only way to enter the umlated Y. Note that this is a
deviation from the usual method of using ALT-keypad minus.

                               -16-                                     

6.2-3 ESC
The ESC key is used to toggle the command line (case 11.0). When ESC is
first pressed the command line appears at the bottom of the window (just
above the message/status line). If a command is entered and the RETURN or
ENTER key is pressed, the command is executed and the command line
disappears. Otherwise, pressing the ESC key before a command is executed
will toggle the command line - off, but it remains visible. Pressing ESC
again will pick up where one left off.

6.2-4 RETURN/ENTER
The RETURN and ENTER keys have identical functions. Any reference to RETURN
applies to ENTER as well. The RETURN key is used to move the cursor to the
left margin on the following line. If the command line (case 11.0) is
active then pressing RETURN will cause the comma ld to be executed
(removing the command line).

CTRL-RETURN causes the cursor to move to the start of the previous line.

SHIFT-RETURN causes the cursor to move to the start if the current line.

ALT-RETURN causes the cursor to move to the same column as the first
visible character in the current line and then move down to following line.
This helps the entry of indented text.

6.2-5 TAB
The TAB key moves the cursor to the next tabstop position. There is a
tabstop position in both the right and left margins and every column that
is evenly divisable by the current tabstop setting (case 5.3-6). Example: If
the current setting is 5 then there are tabstops in columns 1, 5, 10, 15,
etc.

SHIFT-TAB or ALT-TAB causes the cursor to move to the previous tabstop.

6.2-6 UP/DOWN Cursor
Unmodified, these keys move the cursor up or down one line. The cursor is
allowed to move past the last line of text, but not allowed to move before
line 1. If blank lines are needed before line one, use the CTRL-. key (case
6.3-1).

CTRL-UP/DOWN moves the cursor to the first or last line of text (not
counting blank lines).

SHIFT-UP/DOWN moves the current view 0; the text up or down by one page.
A page is defined as the number of text lines visible, minus two,

ALT-UP/DOWN moves the cursor by 5 lines.

                                    -17-                                   

6.2-7 RIGHT/LEFT Cursor
Unmodified, these keys move the cursor right or left by one column. Moving
left of the current left margin (case 5.3-4) causes the cursor to move to
just past the last character of the previous line. Moving right of the
current right margin causes the cursor to move to the left margin of the
following line.

CTRL-RIGHT/LEFT moves the cursor to just past the last character (right) or
to the first character (left) of the current line.

SHIFT-RIGHT/LEFT causes the cursor to move right or left by 20 columns.
This movement is limited by the right and left margins (case 5.3-4),

ALT-RIGHT/LEFT causes the cursor to move to the start of the
following/preceding word. A word in Text mode (case 8.3-1) is defined as
any continuous non blank characters. A word in Program mode (case 8.3-2) is
defined as any continuous alphanumeric characters (a-z, A-Z, and 0-9).

6.2-8 Keypad "-"
Unmodified, this key types the minus "-" symbol. Modified (CTRL, SHIFT, or
ALT), it is used to delete lines. Its unusual placement should avoid any
accidental line deletions.

CTRL-keypad minus deletes the current line. Text above the current line is
moved downward. The cursor now lives on what was the previous line.

SHIFT-keypad minus deletes the current line, but leaves its space in the
text.

ALT-keypad minus deletes the current line. Text below the current line is
moved upward. The cursor now lives on what was the following line.

6.2-9 ALT-SPACE
This will insert a space at the cursor's position.  Characters are shifted
to make room.

6.3 CTRL Keys
There are many functions available to the CTRL keys. These are keys that are
pressed while the CTRL key is held down (hereafter written as either "key
or CTRL-key). The case of the character entered is important. Example: *a
is not the same as *A.

                               -18-                                    

The *. key (same key that has ">") is used to split the current line. It is
also used to create blank lines. When the cursor is at the beginning of the
line then "*." will create a blank line above the cursor line. When the
cursor is past the last character of the line then it will create a blank
line below the cursor line.

In Program mode (case 8.3.2) the line will be split at the cursor's
position. The tail of the line will not be moved flush with the left
margin.  

When in Text mode (case 8.3.1) the line will be split at the nearest space
left of the cursor's position. The tail of the line will be moved flush
with the left margin. If there are no spaces left of the cursor then the
line will split at the cursor's position.

6.3-2 Line Join
The *, key (same key that has "<") is used to join the following of the
current line.* IE this process will result in a line that will be longer
than 512 characters, then the message "Maximum Line Length Exceeded" will
be displayed and the lines will not be joined. It is not possible to Join a
blank line (either as the current or the following line).

6.3-3 Repeat Operation
Certain operations in Aedit may be repeated by a simple keystroke.

	^F10 	Repeat the last command entered as the command line.
		Mnemonic: This is the same key that has the "?" character,
		also used to reprint the command line. 
	^g 	Continues searching according to the last search string
		entered. Mnemonic: "Go",

6.3-4 Cursor Moves
The following *keys move the cursor to.,.

       ^d   down one page, Same as SHIFT-DOWN (case 6.2.6).
       ^e   the top left position in the window (ie, Home position),
       ^I   Tab rightward.
       ^i   Tab leftward,
       ^J   Same as RETURN (case 6.2-4).
       ^j   Same as CTRL-RETURN (case 6.2-4),
       ^M   Same as SHIFT-RETURN (case 6.2-4).
       ^m   Same as ALT.RETURN (case 6.2-4).
       ^P   Move to the previous paragraph starting position.
       ^p   just past the last character of the current paragraph.
       ^s   just past the next ".", ":", "!", or ";" (ie. sentence).
       ^u   up one page. Same as SHIFT-UP (case 6.2-6)           
       ^w   the start of the next word. Same as ALT-RIGHT
            (case 6.2-7).
       ^j   Toggles between left and right window position on

                               -19-                                     

             current line.

6.3-5 Deletions
    The following keys delete lines or characters.

       ^b    Delete current line (text moves up).
       ^B    Delete current line (text moves down).
       ^H    BACKSPACE substitute.
       ^L   Delete current line, leaving blank line.
       ^Y    Erase from the cursor (exclusive) to the start
             of the line.
       ^y    Erase from the cursor (inclusive) to the end
             of the line.

6.3-6 Insertions
The following keys insert lines or spaces.

        ^A Inserts blank line above the current line then
             performs a CTRL-RETURN (6.2-4).
        ^a Inserts a blank line below the current line then
             performs an ALT-RETURN (6.2-4).
        ^h Insert a blank character; same as SHIFT-DEL (case 6.2-2).

6.3-7 Miscellaneous

        ^[ Substitute for the ESC key (case 6.2-3).
        ^c Stop whatever Aedit is doing (if possible).
        ^f Flip the case of the highlighted character(s) (case 8.4-1).
        ^r Reformat the current paragraph (case 4.5).

6.4 AMIGA Selection

There is a quick way to mark (case 8.4-1) pieces of text for processing.
The original method involves using F5 (case 6.1-5) and then using the cursor
movement keys to highlight text or holding the left mouse button down while
dragging the mouse around. Using the AMIGA-Selection method requires that
you hold down the left AMIGA key (the key to the immediate left of the
space bar) while pressing a letter key. The letter keys defined are...

      LAMIGA-l     Marks   the current line.
      LAMIGA-p     Marks   the current paragraph,
      LAMIGA-s     Marks   to the end of the current sentence.
      LAMIGA-w     Marks   a word.

These selection keys leave Aedit in Mark mode (case 8.4) subsequent AMIGA
selections will highlight succeeding sections of text.

                               -20-                                     

                          7.0   Buffers                                  

Aedit contains nine (9) identical buffers for holding text. They may be
used simultaneously and all are treated equally by Aedit. Aedit starts up
in buffer #1, but one is allowed to switch between them with impunity, It
is like having 9 copies of Aedit running at the same time, but using
considerably less memory. All buffers that contain text have their name
displayed in the Buffers menu (case 10.5). The number of the currently
displayed buffer appears in the title bar (case 5.1-3) before the ">"
character.

7.1 Buffer Characteristics
Each of Aedit's buffers begins (except buffer #1) deactivated. This means
that the buffer contains no text and uses no memory. Any buffer that has no
name displayed in the Buffers menu (case 10.5) is deactivated. If a name
appears then it is activated (regardless of whether or not it actually
contains text). The act of switching to a buffer, automatically activates
it if it isn't already. When a buffer is first activated it is given the
default name of "Text.e",

Each buffer keeps track of its own Undo list (case 4.13), Mark mode (case
8.4), Text/Program mode (case 8.3), margin limits (case 5.3-4), tabstops
(case 5.3-6), and cursor position. This allows switching between the
buffers without losing one's place in each.

7.2 Switching Between Buffers
Switching between buffers can be accomplished in three ways.

      1)   Clicking on the desired buffer name in the menu (case 10.5).
      2)   Holding down the right Amiga key and pressing the number key
           (or function key) that matches the buffer number you wish to
           switch to,
      3)  Use the BUFFER command (case 12.5).

7.3 Buffer Deactivating
When a buffer is deactivated, any text it contains is deleted along with
any associated memory (ie. its Undo list). Merely switching out of a buffer
that is empty of text will not deactivate it. There are three ways to
deactivate a buffer.

      1)   Use the EXIT command (case 12.20). Current text will 
           first be saved.
      2)   Use the SYSTEM command (case 12.48), Current text is not
           saved.
      3) Click the Close Window gadget (case 5.1-1).

                              -21-                                    

When a buffer is deactivated, Aedit will bring the lowest numbered
(active) buffer up as the current buffer.   

                                8.0  Modes                                

There are several Modes that Aedit can operate in. These modes change the
character of Aedit's operation. The purpose is generally to allow one to
have Aedit operate in a fashion comfortable to the user. Far example: Those
who learned on Commodore machines will probably prefer Overstrike mode
(case 8.1-2), whereas those who learned on EMACS (a public domain editor)
will probably prefer Insert mode (case 8.1-1). The currently activated
modes are displayed by the gadgets in the title bar of the window. The
function keys associated with these gadgets and modes are in the same
sequence (F2 through F5; left to right) for easy rememberi4g. Note: The use
of the word mode here is somewhat misleading. Read it as style of
operation. The traditional meaning of mode would apply more to the concept
of the command line (case 11.0) or (possibly) Mark mode (case 8.4).

8.1 Insert/Overstrike Mode
Use the F2 key to toggle between these modes. The differences between these
modes is apparent only when there is text to the right of the cursor.

8.1-1 Insert Mode
While in Insert mode, any character entered will cause the characters from
the cursor's position (inclusive) to slide rightward to make room. If
inserting a character would cause the line to exceed 512 characters in
length, then the message "Maximum Line Length Exceeded" will be displayed.
Character entry of such a long line is prohibited while in Insert Mode.
Solution: Split the line (case 6.3-1) or enter Overstrike mode. Insert mode
is best suited for entering text in the middle of a line.

8.1-2 Overstrike Mode
While in Overstrike mode, any character entered will replace the character
under the cursor. This is the method all previous Commodore computers
operated under. Overstrike mode is best suited for replacing or correcting
text.

8.2   Newline  Mode
Use the F3 key to activate/deactivate this mode. When activated, a blank
line is created at the press of every RETURN or ALT-RETURN. Use
SHIFT-RETURN to move the cursor to left margin without creating a new line.
Combine this mode with Insert mode and Aedit will function similarly to ED.

                               -  22  -                                 

8.3 Text/Program Mode
Use the F4 key to toggle between these two modes.

8.3.1 Text Mode
Text mode is designed to ease entry of non-program text (eg. letters,
documents, etc.). While in Text mode, entering a word that would extend
past the right margin (case 5.3-5) is automatically moved to a newly
created line. The is called 'Word Wrapping'. Words are defined as any
sequence of non-space characters. While in Text mode, no case folding (case
12.27-1) will occur.

8.3-2 Program Mode
Program mode is designed to ease the entry of indented text, such as
programs. 'Word Wrapping' will not occur. Words (for ALT-Right/Left
purposes) are defined as any sequence of alpha-numeric characters. Marking
text (case 8.4-1) that extends over more than one line is limited to
marking whole lines. Line split (case 6.3-1) leaves the tail of the line at
the same column position. CTRL-a moves the cursor to the same column as the
first character of the previous line.

8.4 Mark Mode
Mark (Select) mode is only available in Aedit V2. Use the F5 key or the
mouse to activate/deactivate this mode.

8.4-1 Marking Text
Text can be marked (highlighted) in two ways. The first method requires
that you position the mouse then hold the left button down while dragging
the mouse around. The second method requires that you activate Mark mode
(press F5 or click the Mark -mode gadget) then use the cursor movement keys
to highlight the text.

8.4-2 Marking Text "Shortcuts"
There are some shortcuts to marking text. The following key sequences
automatically enter Mark mode and highlight a portion of text. Hold the
left AMIGA key down while pressing the following keys...

           1 	Highlights the current line.
           p 	Highlights the current paragraph.
           5 	Highlights to the end 05 the current sentence,
           w 	Highlights the current word.

Using these keys while in Mark mode causes the selection of the following
(expected) portions of text.

                               -23-                                  

8.4-3 Using Marked Text
Once text is marked, there are several operations that may be performed on
the selected text. These invariably use the Clipboard (case 9.0).

8.4-4 Limitations to Marking Text
When in Program mode (case 8.3-2) one is limited to marking either part of
a single line or a series of whole lines. This eases the marking of text in
an environment that treats whole lines as the smallest significant unit of
text (such as a program).

                       9.0   Clipboard Operations                        

Text that is marked (case 8.4-1) can be manipulated through the use of the
Clipboard. The Clipboard is a universal 'holding tank' for text. All
additions to the Clipboard replace any previous contents and remain there
until replaced. This is true even in the current buffer (case 4.2) is
changed or even exited (case 7.3). Thus, the Clipboard transcends Aedit's
buffers and even Aedit itself. There is only one Clipboard for Aedit, no
matter how many copies of Aedit are running at the same time. This
Clipboard sharing can be used to COPY (case 12.8) a section of text from
one file in order to be PASTED (case 12.38) into another, regardless of
which buffer or Aedit program the destination file is in.

Note: In order for the Clipboard to be used, the Ram Device must be
available. The first time the Clipboard is used the file "Devs:/ram.device"
will be looked for. The file is usually found on the System (Workbench)
disk. A requester may appear, asking for the appropriate disk to be
inserted (if it isn't inserted already).

9.1   COPY to Clipboard
This moves a copy of the marked text into the Clipboard (for future use).
After a COPY, the text remains highlighted. further operations may be
performed with this text, but any normal keypress will cancel the
highlighted text and bring Aedit into normal operation. Here are the
methods of copying text.

      1)   Select the menu item "Copy" (case 10.3-3).
      2)   Press the right AMIGA and the "c" key.
      3)   Use the COPY command (case 12.8).

                       Clipboard Operations                           

9.2 CUT to Clipboard
This copies the marked text into the clipboard and then deletes the text,
including the space it occupied. A CUT is used to remove text that is to be
PASTEd (case 9.5) elsewhere. Here are the methods of cutting text,

     1) Select the menu item "Cut" (case 10.3-2).
     2) Press the right AMIGA and the "x" key,
     3) Press the DEL key (while text is highlighted).
     4) Use the CUT command (case 12.10).

9.3 DUPLICATE using Clipboard
This copies the marked text into the clipboard and then PASTEs
(case 9.5) this copy to the end of the marked text. The marked
text is left intact. If only a single line needs to be duplicated
then use the F10 function (case 6.1.10), Here are the other
methods of duplicating.

     1) Select the menu item "Duplicate" (case 10.3-6).
     2) Press the right AMIGA and the "d" key.
     3) Use the DUPLICATE command (case 12.12).

9.4 ERASE to Clipboard
This copies the marked text into the Clipboard and then deletes the text,
but leaves the space it occupied. This operation may differ from other
programs that "erase" text, in that Aedit saves a copy of the erased text
into the Clipboard. These are the methods of erasing.

      1)   Select the menu item "Erase" (case 10.3-5).
      2)   Press the right AMIGA and the "e" key.
      3)   Press the BACKSPACE key (while text is highlighted).
      4)   Use the ERASE command (case 12.17),

9.5 PASTE from Clipboard
This takes the contents of the Clipboard and inserts it into the
text at the cursor's position. The contents of the Clipboard
remain unchanged. A PASTE automatically creates room for the
inserted text (ie. it does not replace or overwrite existing
text). These are the methods of pasting.

      1)     Select the menu item "Paste" (case 10.3-4).
      2)     Press the right AMIGA and the "p" key.
      3)     Use the PASTE command (case 12.38),

                               -25-                                   

                            10.0  Menus                                

Aedit (not Aedit VI) can be controlled through the use of its menus. The
menus are displayed in standard Workbench fashion (ie. press the right
mouse button). Certain menu selections may be made by holding down the
right AMIGA key and pressing a letter or number key. The particular key to
use depends on the menu function desired. Each menu item that is allowed to
be selected in this way will dispLay the character to be pressed.

10.1 Menu Requesters
Several menu selections require further information before any action takes
place. In these cases, a requester appears in the window. This requester
will consist of a long 'box' located above two other boxes. If the
information (usually a filename) in the long box is correct then click the
lower left box (eg. "Save", "Open", etc.).

If the information is incorrect, then click the long box (a cursor will
appear) and use the keyboard to correct the information it contains.
Pressing RETURN or clicking the lower left box will proceed with the
operation.

If you wish to cancel this menu selection, then click the lower right box
("Cancel"). In any case, the requester will then disappear. When entering
text in the requester's text box (the long skinny one), one is always in
Insert mode (case 8.1-1) regardless of the current setting displayed on the
title bar (case 5.1-3). There are also several control keys available.

10.1-1 RAMIGA-X
Holding the right AMIGA key down and pressing the "x" character will erase
any previous contents in the requester's text box. The cursor must be
visible (ie. the box must have been clicked) for this key to have any
effect.

10.1-2 RAMIGA-Q
Holding the right AMIGA key down and pressing the "q" character will cause
the text to revert to its original setting. This allows a quick way to
'take back' any changes one has made to the text (of the requester).

10.1-3 BACKSPACE
The BACKSPACE key functions in a requester's text box in the same
manner it functions elsewhere.

10.1.4 DEL                                                             
The DEL key (in a requested) functions in a slightly unusual way. It will
delete the character under the cursor (closing up the text), but will not
function as BACKSPACE when there are no characters to the right of the
cursor.

10.2 Project
The "Project" menu is used for file (text) input and output.

10.2-1 New to give
A requester will appear asking for the new name you wish this buffer (case
7.0). The text box in the requester will contain the current directory path
(case 4.4). After entering the name and pressing RETURN or clicking the
"New" box, the current buffer will be erased of text, the Undo list will be
cleared (case 4.13), and the buffer's name will be changed. Clicking,
"Cancel" will leave the text, Undo buffer, and name intact.

10.2-2 Open     
A requester will appear asking for the name of the file you wish to load
that will replace the current one. The text box in the requester will
contain the current directory path (case 4.4). After entering the name and
pressing RETURN or clicking the "Open" box, the current buffer will be
cleared of text and the file with the entered name will be loaded. While
Aedit is loading the file other menu selections may be made, but any other
form of input is ignored until Aedit has finished. While Aedit is loading
the file, the message "Loading File . . . Please wait" will be displayed on
the message line (case 4.7) to let you know that Aedit is temporarily busy.
If Aedit could not open the file then the appropriate error message will be
displayed (case 14.0), but the current buffer will still be cleared of
text. Clicking "Cancel" will leave the current buffer intact.

If Aedit was activated from Workbench then it will load the project's
(file's) icon (if it has any). If the project was created in Aedit, then
the current margins, tabstops, and Text/Program mode will be changed to
match the settings Aedit had when that file was last saved.

10.2-3 Save
The currently displayed buffer (case 4.2) will be saved using the current
filename (case 4.4). While Aedit is saving the text, other menu selections
may be made, but any other form of input is ignored until Aedit has
finished. The message "Saving file . . . Please wait" will appear on the
message line (case 4.7) to let you know that Aedit is temporarily busy. If
the file could not be save then the appropriate error message will be
displayed (case 14.0).

                               -27-                                      

If Aedit was activated from Workbench then an icon will be will contain
information about the current margins, tabstop settings, and Text/Program
mode. When the project (file) is subsequently OPENed (case 12.37) then
Aedit will conform to this information.

10.2-4 Save As
The 'Save As' menu item allows one to save the current buffer (case 4.2)
under a different name. A requester will appear asking for the name you
wish the current buffer to be saved under. You are not limited to the
current directory path (case 4.4) that appears in the requester. Use the
RAMIGA-X key (case 10.1-1) to clear the displayed directory path. This menu
item functions identically to the "Save" menu item. You may even enter the
name "PRT:", for example, to send the file to the printer, but this is NOT
recommended. Icon data is output when using the 'Save As' menu item and this
will result in printer garbage. If you wish to print the current buffer
then use the "Print to" menu item.

10.2-5 Append To                                                                !
This menu item will attach the current buffer's text to the end of the
specified file that one enters in the requester.  The  current buffer is
left unchanged and no icon is created or  modified with this menu item.
This can be useful when creating a large file out of several smaller ones.

10.2-6 Print To
The current buffer will be printed to the device that you select in this
menu item's submenu (eg. PRT:, PAR:, SER:). If the text is to be printed on
a device that is not mentioned in this submenu, then pick the option
"Other". A requester will then appear asking you for the correct device.
While Aedit is printing text other menu selections may be made, but any
other form of input is ignored until Aedit is finished. The message
"Printing File . . . Please Wait" will appear on the message line (case
4.7) to let you know that Aedit is temporarily busy. Printed text does not
have its icon data output (case 3.1-2) and every text line is terminated
with a carriage return (hex $OD, decimal 13) and a line feed (hex $0A,
decimal 10). 

Picking the subitem "Other" can allow the printing to be sent to a file.
Just enter the filename when the requester appears. A file saved in this
manner will not quite be the same as one saved normally. Normal files
terminate each line of text with just the line feed character. Aedit will
be able to load such files, but the extra carriage return will be visible
as an off color "M" (case 5.3-9) at the end of each line.

                               -28-                                               i

10.2-7 Load
A requester will appear asking for the name of the file that is to be
inserted below the line that the cursor is on. The buffer's current
contents are not removed by this load. While Aedit is loading text other
menu selections may be made, but any other form of input is ignored until
Aedit is finished, The message "Loading File . . . Please Wait" appears on
the message line (case 4.7) to let you know that Aedit is temporarily busy.
The "Load" menu item allows one to piece together text in whatever order or
composition desired. This kind of text loading does not use the loaded
file's icon (assuming it has any) nor does it change the filename of the
current buffer (case 4.2).

10.3 Edit
The Edit menu is a mostly collection of related Clipboard operations (case
9.0). Picking a menu item will usually perform some action on marked text
(case 8.4-1). The exceptions to this are the items "Undo" and "Paste".

10.3-1 Undo
The item functions in an identical manner to the F9 (Undo) key (case
6.1-9). It recovers and changed, deleted, or inserted line to its previous
condition. There is a 300 line limit to this memory and each buffer (case
7.0) keeps track of its own Undo list (case 4.13). If there is nothing in
the Undo buffer then this menu item will be 'ghosted' (covered with dots),
If ghosted then no Undos are allowed. Use the F6 (clear Undo buffer) key
(case 6.1-6) to clear the current buffer's Undo list.

10.3-2 Cut
The 'Cut' menu item deletes any marked (case 8.4-1) text and places it in
the Clipboard (case 9.0). Remaining text is closed up to remove the space
occupied by the cut (deleted) text. If part of a line is highlighted then a
'Cut' will not remove the actual line. The text on the line will be
removed, but the line (space) itself will remain, The proper way to mark an
entire line (for removal) is to hold the right AMIGA key down and press "L"
(case 8.4-2). While in Program mode a whole line can be marked by entering
Mark mode (case 8.4) and then cursoring off then back on the line to be
selected.

10.3-3 Copy the Clipboard
A 'Copy' will put any marked (case 8.4-1) text into (case 9.0), replacing
the Clipboard's previous contents, but not modifying any text in Aedit. The
text remains marked in order to allow further operations (eg. case
changing: case 10.3-7). Any unrelated keystroke (ie. not applicable to
marked text) will unhighlight the text, bringing Aedit into its normal
condition.

10.3-4 Paste
'Paste' will insert the current contents of the clipboard (case 9.0) into
the text at the position of the cursor. The contents of the Clipboard
remain unchanged. Space is automatically created for the pasted text.

Any text that started at the left margin when it was sent to the Clipboard
will have a new line created for it (below the cursor's line) when Pasted.
For example: If a paragraph is marked and sent to the Clipboard. Then when
it is pasted, it will be inserted below the cursor's line. It doesn't care
what column the cursor happens to be in, only the line.

10.3-5 Erase
Marked (case 8.4-1) text that is 'Erased' will be copied to the Clipboard
(case 9.0) and then deleted (leaving the space it occupied). In all other
respects 'Erase' functions identically to 'Cut' (case 10.3-2).

10.3-6 Duplicate
The 'Duplicate' menu item functions as if the following sequence were
performed. First, 'Copy' (case 9.1) the marked text. Second, move the
cursor to the position just past the last marked character. Third, 'Paste'
(case 9.5) the clipboard's contents into the text. Combine this menu item
with the use of the Amiga Select keys (case 8.4-2) to create a quick method
of duplicating text.

10.3-7 Change Case
The 'Change Case' menu item has three subitems: 'To Uppercase', 'To
Lowercase', and 'To Opposite'. The case (eg. 'a' -vs- 'A') of any marked
(case 8.4-1) text will be changed according to the subitem selected. The
marked text remains highlighted in order to allow further clipboard
operations (eg. Duplicate). Any keystroke will automatically un-mark the
highlighted text, bringing Aedit into a 'normal' condition. Pressing CTRL-f
is equivalent to selecting the 'To Opposite' subitem.

10.4   Text
This menu contains items that control Aedit's handling of text. Such as,
margin limits (case 5.3-4) and keyword case folding (case 12.27-1).

10.4-1 Paragraph
This menu item is provided to allow limited paragraph manipulation. When in
Program mode (case 8.3-2), this item is disabled. A paragraph is defined as
any sequence of text lines (non-space) that are bounded by either blank
lines and/or the beginning of text (logical line number zero). Paragraphs
consist of "logical" words, defined as any sequence of characters bounded
by spaces and/or end of line. The subitems function as follows.

                               -30-                                     

FORMAT: The current paragraph (case 4.5) will have its words repacked,
resulting in each line containing the maximum number of words that will sit
within the current margin settings. The cursor is moved to the first line
of this newly formatted paragraph. 'Format' uses the clipboard (case 9.0)
and thus destroys any previous contents.

CRUNCH: The current paragraph (case 4.5) will have all sequences of two or
more spaces converted into a single space. In essence, this is just a quick
way of executing the following XCHANGE command (case 12.51).

       <x/* / /

10.4-2 Case Fold
This menu item is used to control automatic case folding (case 12.27-1).
When in Text mode (case 8.3-1) this menu item is disabled. The position of
the check mark in this menu displays Aedit's current method of case
folding. Thus, if the checkmark is adjacent to "None" then aedit does not
do any case folding.  A thorough explanation of keyboard files and case
folding is found in case 12.26.  The subitems function as follows.

ASSEMBLER: Whatever text is in the second column will automatically be
converted to uppercase. The second column of by spaces. If this item is
selected, then any previous keyword

KEYWORD: A requester will appear (asking for a filename) when this item is
selected. Input the name of the keyword file that is desired. After the
keyword file is loaded, any sequence of characters that match an entry will
have its case converted to match that found in the keyword file.

10.4-3 Set Tabs
A subitem list of numbers appears with this menu item. A check mark is
displayed next to the current tabstop setting (case 5.3-6). If no check
mark appears, this indicates that the current tabstop setting does not
match one of the displayed numbers. To change the tabstop setting, click
the appropriate number (the check mark will move to the new setting).
Tabstops occur (by definition) in the left and right margins and every
column that is evenly divisible by the current tabstop setting, Example:
The tabstop setting is 5, so there are tabstops in columns 1, 5, 10, 15,
etc.

10.4-4 Left Margin
A subitem list of numbers appears with this menu item. A check mark is
displayed adjacent to the current left margin setting (case 5.3-4). If no
check mark appears, this indicates that the current left margin setting
does not exactly match one of the  displayed numbers. To change the current
left margin, click the desired number. The current cursor position will
move (if necessary) to stay within the new margin limits.

                                -31-                                      

10.4-5 Right Margin
A subitem list of numbers appears with this menu item. A check mark is
displayed adjacent to the current right margin setting (case 5.3-5). If no
check mark appears, this indicates that the current right margin setting
does not exactly match one of the displayed numbers. To change the current
right margin, click the desired number.  The current cursor position will
move (if necessary) to stay within the new margin limits.

10.5 Buffers
The names displayed correspond to the names (sans the directory paths) of
any activated buffers. If a particular menu item (ie. buffer) name is
blank, this indicates that the buffer is not activated (ie. using no memory
and containing no text). Merely clicking the desired buffer (or the blank
space where the buffer's name should appear) will bring the buffer up as
the currently active one (ie. its text is displayed). The first time a
buffer is activated it is given the name 'Text.e'. For a thorough
explanation of buffers see case 7.0.                                

10.6 Special
Miscellaneous disk related functions are grouped into the 'Special' menu.

10.6-1 Execute
When this menu item is selected a requester will appear asking for a
filename. Enter the name of the file that is to be read into Aedit as if it
were typed into the keyboard (at the command line). Such a file is usually
used to perform a sequence of commands (case 12.0) automatically without
having to manually enter them. For a thorough explanation of 'Execute'
files and their uses, see case 12.19.

10.6-2 Special - Binary
This menu item allows Aedit to load (read) and save (write) files that
contain binary (otherwise non printable) characters. A requester will
appear when either 'Write' or 'Read' is selected, requesting a filename.
'Read' functions like 'Open' (case 10.2-2) in that the loaded text will
replace the buffer's previous contents. For a thorough explanation of
'Read', see case 12.40. For 'Write', see case 12.50.

                               -32-                                    

                           11.0  Command Line                             

The Command line (CL) is provided for those who are more comfortable with
this form of program control and also because it offers greater
flexibility. The command line is the main form of program control when
using Aedit.V1 (case 2.2-2); selection is somewhat limited (case 13.0).
Most commands (case 12.0) can be abbreviated from their complete forms (eg.
"x" is recognized as "xchange"). Each command's explanation gives the legal
minimum abbreviation.

11.1 Activating
The command line (CL) is activated by pressing the ESC key. The CL then
appears above the Status line (case 5.3). The cursor that appears of the CL
indicates that a command may be entered. After a command is entered,
pressing RETURN will remove the CL and execute the command.

A command line entry can be edited just like any other text in Aedit. This
is a major difference between Aedit's commands and CLI. Example: Suppose
you enter the following command...

    10, 20 ' prant par:

Only to discover that "prant" should have been "print".  Merely cursor left
and edit the command. When the command is correct, press RETURN to execute
it.

Pressing the ESC key while the CL is present will temporarily disable it
without removing any partially entered command, A disabled CL is still
visible but Aedit operates as if it weren't there. Pressing ESC a second
time reactivates the CL and restores the cursor to its previous position.
The CL must be activated in order to execute the command with the RETURN
key,

11.2 Syntax
The syntax for any command can be determined by entering the command and
following it with "?".  Pressing RETURN displays the syntax (Format) of the
command on the message line (case 4.7), Example:

      sa ?                                  Entered at command line.
      [Line Range] SAVE [FileName]          Result of message line.

Anything that appears in brackets is an optional parameter. Although the
name of the command (in caps) is returned in full, it may be abbreviated.
Each command's section (case 12.0) lists the minimum abbreviation, an
explanation of its parameters , and the defaults for its optional
parameters.

                                -33-                                     

11.3 Line Ranges
Many commands are allowed to have a line range parameter. A line range
limits the effects of the command to the lines within the specified range.
Line ranges consist of one or more line specifiers. If a command line entry
consists of just a line specifier, then Aedit will move the cursor to that
line. If a command line entry consists of JUST a line range, then Aedit
will scroll through the range specified and finish with the cursor on the
last line of the range.

For those who are familiar with other editors that force you to 'mark' a
block of text, take notice of how Aedit performs that function. One uses
EITHER the mouse to highlight text OR uses a line range specified at
command line. Using a line range at the command line is MUCH easier than
any other method when it comes to specifying a large number of lines. For
example: Suppose you wish to print lines 10 through 350 to the printer,
just enter a command like this...

      10, 350  print                                                                

What could be more simple. This is the difference of concept between Aedit
and other editors. Keep this feature in mind when using Aedit.             
                                                      
11.3.1 Simple Line Specifier
Any command that allows a line range also allows a single line specifier. A
line specifier is a number or symbol that identifies a line. Since the lines
of Aedit are logically numbered, the number of a line may be used to
identify it. A line can also be identified in a relative manner, from the
line containing the cursor, by using the "+" or "-" symbols. Examples:

         5  Line number 5
         1  The first line in Aedit.
        -3  The third line previous to the current line.                           
        +15 The fifteenth line following the current line.                        

There are other symbols available that can be used to specify a line.                                                                   

	 ^          The first line in Aedit that contains text.
         $          The last line of Aedit that contains text.
         "          The line that contains the cursor.

11.3-2 Original Line Specifier
A line can be referenced according to its original line number, at the time
the file was loaded, by preceding the number with "#". Inserting or
deleting lines will not change a line's original number. This can be most
useful when correcting program text errors that are identified only by line
number. Without this ability, any deletion or insertion of lines would
'throw off' any subsequent references. Here are some examples of

                                -34-                                              i

original line references.

        #500      Refers to line 500 (at the time the file was loaded).
        #4        Same as above, but for original line number 4,

If an attempt was made to reference an original line that either never
existed or has been deleted, the error message "No original line by that
number" will appear.

11.3-3 Search Phrase Line Specifier
A line may also be specified by using a Search Phrase. The first line that
the search successfully identifies is used as the line specified. If the
"/" character is used to delimit the search text then the first line that
contains the search text will be considered the one specified. If the "\"
character is used then the first line that does not contain the search text
will be considered the one specified. The "+" or "-" characters may be used
to control the direction of the search. For a more thorough explanation of
search phrases see case 15.0.

       /abc/     Matches the first line that contains "abc".
       \abc\     Matches the first line that does not contain "abc",
                              
       +/abc/    Matches the first line (searching forward from the
                  cursor) that contains "abc"-
       -\abc\    Matches the first line (searching backward from the
                  cursor) that does not contain "abc".

11.3-4 Combining Line Specifiers
The various line specifiers may be combined to form an expression. Example:

       $-10 The 10th line from the last line.

       ^+15       The 15th line from the first line that
                   contains text.
       /abc/+2    The 2nd line following the first one that
                   contains "abc",
       \abc\-7    The 7th line previous then the first line
                   that does not contain "abc".

11.3.5 Specifying a Line Range
A range of lines may be specified by combining individual line specifiers.
Separate the two line specifiers with a comma. Example:

         5,10       Lines 5 through 10.
        -5,+5       Lines 5 previous to 5 past the line containing the
                    cursor.
         ,, $       From the cursor's line to the last line of text.
         ^ ,$       From the first to the last line that contains text.
        /a/,/b/     From the first line that contains "a" to the first
                    line that contains "b".
        5,-\a\      From line 5 to the first line that does not contain

                               -35-                                    

                     "a", searching from the cursor's line backward.

The order that the lines are specified makes no difference. Aedit adjusts
all line ranges to proceed from the lowest numbered line to the highest.

11.3-6 Group Line Specifier
There are several characters that represent a sequence of lines. These
characters may be used in any place that a normally specified line range is
allowed (case 11.3-5). Here are these special characters and the lines that
they specify.

        "    From line number 1 to the last line that contains text.
        <    The paragraph that the cursor is in (not including the
              adjacent blank lines).
        >    The paragraph that the cursor is in (including
              adjacent blank lines).

A paragraph is defined as any sequence of text lines bounded by blank
lines.

11.3.7 Special 'Relative' Lines
Normally the use of the "+" or "-" character in a line range means to
proceed in a relative manner from the current line (eg. +5 means the fifth
line from the cursor's line), If two line specifiers (case 11.3-1) are
separated by a ";" instead of a "," then the second specifier's use of "t"
or "-" will be relative to the first line specifier (regardless of the
cursor's present position). Example:

        5;+5       From the 5th line to the 11th line (inclusive).
        /a/;-5     From the first line that contains "a" to the 5th line
                    previous to that line.
        ^;+5       From the first line of text to the 5th line past it.

11.3-8 Multi 'Relative' Lines
When using the relative method of specifying line ranges (case 11.3-7), one
is allowed to use more than two line specifiers. In any sequence of
specified lines, only the last two are used to determine the range.
Previous line specifiers are used to help determine the range.  Example:

        20;/a/i-3;10     This signifies the range that starts with the
                         3rd line previous to the first line that contains
                         "a" that follows line 20, and ends at line 10.
        10;-3;+2;$       This signifies the range that starts with the
                         2nd line past the 3rd line previous to line number
                          10, and ends at the last line of text.

This method of range determination can get very complex. It is suggested
that this method be avoided if at all possible until you are thoroughly
familiar with specifying line ranges. There's no limit to the number of
line specifiers that may be combined in this fashion.

				-36-

                          12.0  Commands

Commands are entered at the command line (case 11.0).  The command line is
enabled with the ESC key and deleted with the RETURN key.  The RETURN key
also executes any entered command.  In each command's syntax, anything in
brackets is considered optional.  A "Line Range" corresponds to either a
single line specifier (case 11.3-) or a multiple line specifier (case
11.3-4).  A "Line" corresponds to just a single line specifier.  Commands
may be entered in either upper or lower case.  The command may also be
abbreviated.  The minimum abbreviation for a command is given in each
command's description.

12.1  "?" Recall Command

	Syntax:			?
	Abbreviation:		?
	Implemented in V1:	YES

Entering just the character "?" on the command line will recall any
previously entered command.  The recalled command will be displayed on the
command line to be modified and/or reexecuted.  If reexecuting the previous
command is all that is desired, then use the CTRL-F10 key (case 6.1-10). 
It is also possible to insert the previous command into the buffer's text
with the CTRL-F1 key (case 6.1-1).

12.2  "!" DOS Command

	Syntax:			! CLI_Command
	Abbreviation:		!
	Implemented in V1:	NO

It is possible to execute CLI (Command Line Interface) commands while in
Aedit.  To do so, use the "!" command followed by the CLI command to be
executed.  The Amiga will then execute it (possibly prompting for disk
insertion) as if it were entered in the associated CLI (ie. the CLI that
Aedit was started from) environment.  Aedit will remain in 'suspended
animation' until such time as the CLI command is completed.  To execute a
CLI command in a 'concurrent' fashion, use the CLI command "run" after the
"!" and before the actual command text.

When Aedit is started out of Workbench there is no associated CLI
environment.  In this case, since CLI needs an output window, Aedit will
create the necessary window (called "Aedit_CLI").  There is not a true CLI,
in that commands may not be entered from this window.  The window will
'hang around' until Aedit is terminated (case 5.1-1).

				-37-

If the CLI output window is no longer needed, 'click' the "Window To Back"
gadget. At the present time there is no method of removing the CLI output
window before Aedit is terminated.

                                    Examples:

      !   list            List the current directory's contents.
      !   execute Batch   Execute (CLI version) the file called "Batch".
      !   run Prog        Start the program "Prog" as another process.
      !   run aedit Name  Startup another copy of Aedit and have it
                          automatically load the file "Name".

12.3 ":" Multi Command

      Syntax:             [Line Range] : /Search/ [Command]
      Syntax:             [Line Range] : \Not Search\ [Command]
      Abbreviation:       :
      Implemented in VI:  YES

An Aedit command may be repeated on a conditional basis. Aedit will scan
through the specified line range stopping on any line that matches the
search text (case 15.0) and then executing the specified command (if
present). The parameters in brackets are optional.

If no line range is given, then it defaults to a scan of the entire text.
If no command is specified, then Aedit will just stop on the line that
successfully matches the search text. If the search text is enclosed with
the "\" character then Aedit will execute the specified command only on
those lines that do not match the search text.

The command specified (if any) is executed in a completely normal fashion.
The specified command is allowed to have line ranges, parameters, etc. Just
because the ":" command moves the cursor to a particular life does not mean
that the specified command will only function on that line. Example: If the
SAVE command (case 12.44) defaults to saving the entire text, then to
specify this command after the ":" without also including a line range,
will result in the entire file being saved every time the ":" command's
search text matches a line!

                                     Examples:

      :/^$/ delete        Deletes all blank lines.
      :\?\ delete         Same as above.
      :\^$\ delete        Deletes aLl lines that are not blank.
      ;/?/ delete         Same as above.
      <:/abc/             Moves the cursor to the first line of the
                            current paragraph that contains "abc".
      :/xxx/ . print      Prints all lines that contain "xxx".
      ;/a/ < upper        Change the case of every line in every
                           paragraph that contains the character "a",

				-38-

12.4  APPEND

	Syntax:			[Line Range] APPEND FileName
	Abbreviation:		A
	Implemented in V1:	YES

Normally, when text is filed to disk, it replaces any previous text filed
under the same name.  With the APPEND command, filed text is merely
'attached' to the end of any previous text file.  This allows a file (of
potentially unlimited size) to be created of many individually filed
pieces.  If a line range is specified then these are the lines filed
(attached) to the specified filename.  If no line range is given then it
will default to sending the whole buffer's contents.

The filename specified in the APPEND command must actually exist.  If there
is no pre-existing file by the given name then a DOS error #205 ("object
not found") will result.

				Examples:

	. append X		Attaches the current line to the file "X".
	5,10 ap X		Attaches lines 5 through 10 to the file
				"X".
	< app X			Attaches the current paragraph to the file
				"X".
	:/b/ . a X		Using the ":" command (case 12.3), this
				attaches all the lines that contain "b", to
				the file "X".

12.5  BUFFER

	Syntax:			BUFFER #
	Abbreviation:		B
	Implemented in V1:	YES

It is possible to switch between buffers by using the BUFFER command.  The
number (range 1 through 9) specified after the command is the buffer that
is brought up as the new current buffer.  If that buffer was not active
then it will be activated with the default name of "Text.e".  For a
complete description of what buffers are, see case 7.0.

A quicker way to switch between buffers is to use the right AMIGA key +
number key (case 7.2) method.

				-39-
12.6 CENTER

      Syntax :            [Line Range] CENTER [#]
      Abbreviation:       CE
      Implemented in VI: YES

The text in one or more lines can be centered with the CENTER command. Text
is centered (unless otherwise specified) half way between the current left
and right margin limits (case 5.3-4). If a number is given after the 
CENTER command, then this will be the column that the text is centered
upon. If no line range is specified then the CENTER command will work only
at the line the cursor is on.

A line is not allowed to be centered such that text will 'spill' past the
left margin limit. In such cases the text will be left justified instead.
Note: If the current right margin setting is well beyond the visible right
margin, then centering lines will cause the text to 'disappear'. In
reality, the text is just positioned past the visible right margin. To
bring such text into view, cursor or TAB (case 6.2-5) rightward.

                                     Examples:

       ce                  Centers the cursor's line,
       1,100 cen           Centers the first 100 lines of text.        
       <center             Center the current paragraph.
       cen 20              Center the current line about column 20.
       *cen 80             Center all lines about column 80.

12.7 CDIR

      Syntax :             CDIR [Directory]
      Abbreviation:        CD
      Implemented in V1:   YES

The CDIR command will change the directory path (case 4.4) as displayed in
the title bar (case 5.1-3). The directory path specified will replace the
directory path associated with the current buffer's name. The path
specified need not be terminated with the "/" character. If a device is
specified then it must be terminated with ":". Any change to the current
directory path will be immediately reflected in the title bar.

If no directory path is specified then the current directory path is just
removed, The CDIR command has no effect on the current directory in CLI,
only the current buffer.

                                     Examples:

If the current buffer's directory pathname is "SYS:Name" then...

      cdir df1:           Changes the pathname to "df1:Name".
      cd df0:libs         Changes the pathname to "df0:libs/Name".
      cd subdir           Changes the pathname to "subdir/Name".
      cd                  Changes the pathname to just "Name".

12.8 COPY

     Syntax: [Line Range)    COPY
     Abbreviation: 	     CO
     Implemented in V1:      YES

Lines of text can be sent to the clipboard (case 9.0) with the COPY
command. The text is left unchanged. This method bypasses the usual method
of using Mark mode (case 8.4), but is limited to line the cursor is on is
sent to the clipboard.

Text sent to the clipboard by the COPY command is functionally identical to
text sent to the clipboard by any other method. The command is provided is
a convenient method of 'clipboarding' multiple lines. The clipboard's text
is intended to be PASTEd (case 9.5) elsewhere.

                                    Examples:

       cop                The current line is output to the clipboard.
       37,47 cop          Copies lines 37 through 47 to the clipboard.
       *co                The entire buffer is output.
       <copy              'Clipboard' the paragraph the cursor is in.

12.9 CRUNCH

     Syntax :             [Line] CRUNCH
     Abbreviation:        CR
     Implemented in V1:   NO

The CRUNCH command will convert all multiple spaces in a paragraph (case
4.9) to single spaces, If a line is given with the CRUNCH command then the
paragraph that contains the specified line is the one that is crunched,
otherwise the paragraph that contains the cursor is used.

In essence the CRUNCH command is (a faster) equivalent to the command...

    < XCHANGE /* / /

				-41-

                                   Examples :

      cr            Crunch the current paragraph.
      10 crunch     Crunch the paragraph that contains line number 10.
      /a/ cru       Crunch the first paragraph that contains "a",
      +/^$/+1 cr    Crunch the paragraph following the current one,

12.10  CUT

      Syntax:              [Line Range]  CUT
      Abbreviation:        CV
      Implemented in V1:   YES

Lines of text can be sent to the clipboard (case 9.0) and deleted at the
same time with the CUT command, This method bypasses the usual method of
using Mark mode (case 8.4), but is limited to sending (and deleting) entire
lines. If no line range is specified then only the line the cursor is on is
used.

Text sent to the clipboard by the CUT command is functionally identical to
text sent to the clipboard by any other method. The command is provided as
a convenient method of 'chopping' text to the clipboard. The clipboard's
text is intended to be PASTEd (case 9.5) elsewhere. Lines deleted with the
CUT command may be recovered with the F9 Undo key (case 6.1-9) as well as
the PASTE command.                       

                                   Examples:                                      :

       cut                The current line is 'clipped' to the clipboard.
       *cu                The entire buffer is 'clipped' then deleted.
       5,10   cu          Lines 5 through 10 are CUT to the clipboard.
       <cut               'Clip' the paragraph the cursor is in.                  :

12.11   DELETE

      Syntax:              [Line  Range]  DELETE
      Abbreviation:        DE
      Implemented in V1:   YES                                                    !

The DELETE command is used to remove entire lines from text. The lines
deleted correspond to the specified line range. If no line range is given,
then only the line the cursor is on is deleted.        

All lines deleted by this method can be recovered by use of the F9 Undo key
(case 6.1-9). Because of this, using DELETE to remove large sections of
text results in a noticeable delay.  For speedy removal of lines (that you
don't intend to recover) use the REMOVE command (case 12.42),

                               -  42  -                                  

                                        Examples :

          del           Delete the cursor's line.
          < de          Delete the current paragraph.
          /a/ dele      Delete the first line that contains "a".
          5,10 de       Delete lines 5 through 10.

12.12 DUPLICATE

         Syntax: 	    [Line Range] DUPLICATE
         Abbreviation: 	    DU
         Implemented in V1: YES

The DUPLICATE command will take the specified line range and create an
exact duplicate of this text. This text will be inserted immediately after
the original. The function is practically identical to the menu option
(case 10.3-) except is limited to dealing with entire lines. If no line
range is specified, then the line the cursor is on is duplicated. A single
line duplication is the same as using the F10 key (case 6.1-10).

IMPORTANT: The DUPLICATE command uses the clipboard (case 9.0), thus
deleting its previous contents.

                                        Examples:

          dup                 Same as the F10 key.
          5,6 dup             Duplicate lines 5 through 6.
          > du                Create a duplicate paragraph.
          -1,+1 dupli         Duplicate the lines closest to the cursor.

12.13 ECHO

          Syntax: 	      [Line Range) ECHO [Destination]
          Abbreviation:       EC
          Implemented in V1:  YES

The ECHO command will take the specified line range and create an exact
duplicate of this text. This text will be inserted either immediately after
the cursor's line or immediately after the destination line specified. This
command is limited to dealing only with entire lines. If no line range is
specified, then the line the cursor is on is echoed.

The destination line (text will actually be inserted below this line) can
be specified by using the line's number (case 4.6), the "$" character (for
beginning of text). If no destination line is specified then the cursor's
line is assumed to be the destination of ECHOed text.  Thus, by definition,
a plain "echo" functions the same as the F10

                                    -43-                                    

key (case 6.1-10).

IMPORTANT: The ECHO command uses the clipboard (case 9.0), thus deleting
its previous contents.

                                     Examples:

       > echo $            Echo the current paragraph to the end of text.
       . ech 10            Copy the current line to just below line 10.
       ec 10               Same as above.
       10 echo .           Copy line 10 to just after the cursor's line,
       10 echo             Same as above.
       1,5 echo            Copies the first 5 lines to the end of text.

12.14 EEOL

      Syntax: 		  [Line Range] EEOL [#]
      Abbreviation: 	  EE
      Implemented in V1:  NO

The Erase to End Of Line (EEOL) command is used to delete all characters
from a specified column (inclusive) rightward to the end of the line. This
command effects all lines in the specified line range. If no line range is
provided then the effects are limited to the line the cursor is on. The
column position that the erasing will begin is specified after the EEOL
command (range of 1 to 512). If no column position is provided then the
cursor's column is assumed. Thus, a plain "EEOL" command is equivalent to
the "^y" key (case 6.3-5).

                                      Examples:

       ee            Same as the ^y key.
       5 eeo 1       Erases line 5 rightward from the cursor's column.
       5 eeo 1 40    Erases line 5 rightward from column 40.
       7ee 1         Same as the command "7erase" (case 12.17) except the
                     clipboard is not used.
       20,30 ee      Erases lines 20 through 30 from the cursor's column.

12.15 EOL

      Syntax : 		  EOL
      Abbreviation: 	  EOL
      Implemented in V1:  NO

The End Of Line (EOL) command moves the cursor to just past the last
character in the cursor's line. It is functionally equivalent to the
"CTRL-RIGHT" key (case 6.2-7). It is provided merely as a convenience when
writing EXECUTE files (case 12.19).

                                 -44-                                      

12.16  EOT

     Syntax : 		  EOT
     Abbreviation : 	  EOT
     Implemented in V1:   NO

The End Of Text (EOT) command moves the cursor to the last line that
contains text. It is functionally equivalent to the "CTRL-DOWN" key (case
6.2-6). It is provided merely as a convenience when writing EXECUTE files
(case 12.19)

12.17   ERASE

      Syntax: 	  	  [Line Range] ERASE
      Abbreviation: 	  ER
      Implemented in V1:  YES

Lines of text can be sent to the clipboard (case 9.0) and erased (leaves
the line's space but deletes its characters) at the same time with the
ERASE command. This method bypasses the usual method of using Mark mode
(case 8.4), but is limited to sending (and erasing) entire lines. If no
line range is specified then only the line the cursor is an is used.

Text sent to the clipboard by the ERASE command is functionally identical
to text sent to the clipboard by any other method. The command is provided
as a convenient method of 'chopping' text (while leaving the space it
occupied) to the clipboard. Lines erased with this command may be recovered
with the F9 Undo key (case 6.1-9) as well as the PASTE method (case 9.5),

                                    Examples:

       era           The current line is 'clipped' to the clipboard.
       . erase       Same as above.
       1,10 era      Erase the first ten lines of text.
       <era          Erase the paragraph the cursor is in.

12.18   ESOL

      Syntax: 		  [Line Range] ESOL [#]
      Abbreviation: 	  ES
      Implemented in V1:  NO

The Erase to Start Of Line (ESOL) command is used to delete all characters
from a specified column (exclusive) leftward to the start of the line. 
This command effects all lines in the specified line range. If no line
range is provided then the effects are limited to the line the cursor is
on.  The column position that the erasing will begin is specified after the
ESOL command (range of 1

                                -45-                                      


to 512). If no column position is provided then the cursor's column is
assumed. Thus, a plain "ESOL" command is equivalent to the "^Y" key (case
6.3-5).

                                    Examples:

       es          Same as the ^Y" Key.
       5 esol      Erases line 5 leftward from the cursor's column.
       5 esol 40   Erases line 5 leftward from column 40.
       7 es 512    Same as the command "7 erase" (case 12.17) except the
                    clipboard is not used.
       100,1 es    Erases the first 100 lines of text rightward from
                    the cursor's column.

12.19 EXECUTE

      	Syntax: 		EXECUTE FileName                                
      	Abbreviation: 		EXE
      	Implemented in V1: 	NO

With the EXECUTE command it is possible to create a test file containing a
sequence of commands that can be automatically executed by Aedit. Such a
file can even be executed automatically when Aedit is started (case 3.2-6).

Each line of text in an execute file is automatically executed as if it
were entered at the command line (case 11.0). This process continues until
the execute file is exhausted. If an execute file contains a command such
as "EXIT" (case 12.20) or "SYSTEM" (case 12.48) and these commands would
result in Aedit terminating, then the execute process will stop and Aedit
will terminate. It is perfectly legal for an execute file to contain
EXECUTE commands. Aedit does not limit the nesting of EXECUTE commands.

An execute file (ie. one to be used by the EXECUTE command) is created like
any other text file. No special control characters (case 6.1-8) are needed.

                            	Examples:

        exe test 		Executes the file "test".
        exec sys:s/test 	Executes the file "sys:s/test".

      The following lines constitute a valid execute file.

      margin 1,80
      tab 5

Here is an execute file that converts hex digits to binary digits in the
paragraph the cursor is in. An execute file such as this really saves time
compared to entering these commands by hand.

                                -46-                                     

     <upper
     <x/0/0000/             
     <x/1/0001/
     <x/2/0010/
     <x/3/0011/
     <x/4/0100/
     <x/5/0101/
     <x/6/0110/
     <x/7/0111/
     <x/8/1000/
     <x/9/1001/
     <x/A/1010/
     <x/B/10ll/     
     <x/C/1100/
     <x/D/1101/
     <x/E/1110/
     <x/F/1100/

12.20  EXIT

     	Syntax:  		EXIT [A]
     	Abbreviation: 		EXI
        Implemented in V1: 	YES

The EXIT command will cause the current buffer's contents (if any) to be
saved under the current filename (case 4.4) followed by the buffer's
deactivation (case 7.3). The last active buffer that is terminated by the
EXIT command will result in Aedit itself terminating. If the character
"a"(stands for "all") follows the EXIT command then all the buffers will be
saved and Aedit will be terminated.

                                   Examples:

      exi           Current buffer saved and deactivated.
      exit a        Quick way to save all buffers and terminate Aedit.


12.21 EXPAND

     	Syntax: 		(Line Range] EXPAND [#]
     	Abbreviation: 		EXP
     	Implemented in V1: 	YES

The EXPAND command will convert all literal control TAB characters (ie.
orange 'I', value of #09) to the appropriate number of spaces. The change
will affect all lines in the current buffer unless a specific line range is
provided. The command works as if the text should be expanded to 8 spaces
between tabstops. To change this default, specify the appropriate tabstop
setting after this command. For example, assume the following text was
loaded into

                               -47-                                     

Aedit (the "." marks the location of an orange "I", TAB character).

       #define.NULL.0
       #define.OK.1
       #define.FALSE.0

The command "EXPAND" would result in the following...

       #define NULL 0
       #define OK 1
       #define FALSE 0

The command "EXPAND 10" would result in the following..,

       #define NULL          0
       #define OK            1
       #define FALSE         0

This command is provided as a convenience to those who have text files that
were created on an editor that causes the TAB key to insert the literal
control character #09.

12.22 FLIP

     	Syntax:               	[Line Range] FLIP
     	Abbreviation:         	FL
      	Implemented in V1: 	YES

All text (lines) that falls within the specified line range will have each
alphabetic character's case changed (ie. uppercase to lowercase, lowercase
to uppercase). If no line range is specified then only the line the cursor
is on is affected.

Flipping the case of characters can also be accomplished with the CTRL-f
key (case 6.3-7) or the menu (case 10.3-7).

                               Examples:

       	If the cursor was positioned on the following line...

           Case changes with CTRL-f key.

	and the command "flip" were executed, the result would be..,

           cASE CHANGES WITH ctrl-F KEY.

                                  -48-                                     


12.23  FORMAT

     	Syntax: 		[Line] FORMAT [#]
     	Abbreviation: 		FO
     	Implemented in V1: 	YES

This command will cause the words in the specified paragraph (case 4.9) to
be shuffled so that each line contains the maximum number of words allowed
yet still fit within the margin limits (case 5.3-4). If no paragraph
(actually any line in the paragraph) is specified then the current
paragraph is assumed.  The current  paragraph is the paragraph that the
cursor is in.

One is allowed to format a paragraph to fit within an arbitrary right
margin. This is accomplished by specifying the desired right margin limit
after the FORMAT command. If no margin limit is specified then the current
right margin limit (case 5.3-5) is assumed. After a format has occurred,
the cursor is moved to the first line of the paragraph. The FORMAT command
can be undone with the F9 Undo key (case 6.1.9).

                                Examples:

       for        Formats the current paragraph.
       10 form    Formats the paragraph that contains line 10.
       Eo 50      Formats the current paragraph to fit within the left
                  margin and column 50, regardless of the current margin
                  settings.

12.24   GET                                                              

      	Syntax: 		[Line) GET [FileName]
      	Abbreviation: 		G
      	Implemented in V1: 	YES

The GET command is used to load a text file into the current buffer without
deleting its contents. The specified file (defaults to the current
filename) is loaded below the specified line (defaults to the cursor's
line). The current filename is not changed by this load nor are icons
recognized or acted upon (case 3.1-2), A GET can be undone with the F9 Undo
key (case 6.1-9).

If the current buffer is empty of text, then the GET command functions
exactly like the OPEN command (case 12.37). Note: the GET command is
identical to the LOAD command (case 12.29) except that it does not record
its effects in the Undo list (case 4.13).

                               Examples: 

       10 g text   Inserts the file "text" between line 10 and line 11.
       ge Name     Insert the file "Name" below the cursor's line.
       g           Insert the file with the name that is displayed in

                                -49-                                     

                   the title bar.


12.25  HOME

	Syntax:			HOME
	Abbreviation:   	H
	Implemented in V1:	NO

The HOME command moves the cursor to the topmost visible line and the
leftmost visible column in the window.  It is functionally equivalent to
the "CTRL-e" key (case 6.3-4).  It is provided merely as a convenience when
writing EXECUTE files (case 12.19).

12.26  JOIN

	Syntax:			JOIN
	Abbreviation:		J
	Implemented in V1:	NO

The JOIN command will take the line following the cursor's line and
'attack' it to the end of the cursor's line.  It is not legal to have a
blank line joined or be joined.  If the resulting line would exceed 512
characters in length, then the error "Maximum line length exceeded" will
appear on the message line (case 4.7).  If Aedit is in Text mode (case
8.3-1) then there will be one space separating the text of the newly joined
line regardless of the number of leading spaces on the second line.  If
Aedit is in Program mode (case 8.3-2) then the leading spaces on the second
line will be retained when the lines are joined.

The JOIN command functions identically to the CTRL-, ("<") key (case
6.3-2).  It is provided merely as a convenience when writing EXECUTE files
(case 12.19).

12.27  KEYWORDS

	Syntax:			KEYWORDS [FileName]
	Abbreviation:		K
	Implemented in V1:	YES

Aedit has the ability to change the case of certain words (keywords).  This
ability is controlled with the KEYWORDS command.  All keyword case folding
is enabled when in Text mode (case 8.3-1).  To disable all keyword case
folding, enter the plain command KEYWORD.

				-50-

				Examples:

        key File 	Will use the file "File" as the keyword list.
        k :    		Enables Assembler case folding.
	keyw		Turns off all case folding

12.27-1 Keyword Case Folding

Keyword case folding will automatically change the case of certain keywords
to match the case specified in a given keyword file. This file is provided
to Aedit by specifying the filename after the KEYWORDS command. A keyword
file consists of text (composed in any editor), one keyword (flush with
left margin) to a line. The keyword entry's case should match the case
Aedit should convert any matched keywords to. This is a (short) sample of a
keyword list...

            BEGIN
            END
            PRINT

Given the above keyword list, Aedit will automatically convert any word,
such as "begin", into the word "BEGIN". This will be reflected in text the
moment the cursor is moved off the line.  Also note that you are not
limited to having keywords in capital letters.  Mixed case is allowed.

Aedit has the ability to recognize (most) comment identifiers (eg. /**/ in
C, or (**) in Pascal). Any text that appears between comment identifiers
will not be case folded, regardless of whether or not it matches a keyword.
A comment indentifier must (if desired) be the first entry in the keyword
list. It must start with a non-alphabetic character and consist of the
'start comment' and 'end comment' characters back to back. Here is a Pascal
example:

            (**)
            BEGIN
            END
            PRINT

Since the Keyword list can be in either upper and/or lower case, C
programmers may find this useful. Here is a (short) sample keyword list for
C.

            /**/
            AbsExecBase
            ThisLongLibName

Using the above list one can enter "absexecbase" and it will automatically
jump to "AbsExecBase". Because C is so picky about case, this can prevent
many errors.

                                    -51-                                    


12.27-2 Assembler Case Folding

Assembler case holding will automatically change the case of the second
text column into uppercase characters. The second column is defined as the
first sequence of characters that is preceded by at least one blank space.
This method of case folding is enabled by entering the ":" character after
the KEYWORD command.

12.28 LEFT

     	Syntax:               	LEFT
     	Abbreviation:        	LE
      	Implemented in  V1:  	NO

The LEFT command moves the cursor to the leftward by one column in the
window. It is functionally equivalent to the left cursor key (case 6.2-7).
It is provided merely as a convenience when writing EXECUTE files (case
12.19)

12.29  LOAD

      Syntax :              	[Line]   LOAD  [FileName]
      Abbreviation:         	LOA
      Implemented in  V1:  	YES

The LOAD command is used to load a text file into the current buffer
without deleting its contents. The specified file (defaults to the current
filename) is loaded below the specified line (defaults to the cursor's
line). The current filename is not changed by this load nor are icons
recognized or acted upon (case 3.1-2).  A LOAD can be undone with the F9
Undo key (case  6.1-9),

If the current buffer is empty of text, then the LOAD command functions
exactly like the OPEN command (case 12.37). Note: the LOAD command is
identical to the GET command (case 12.24) except that it stores its effects
in the Undo list (case 4.13). This means that pressing F9 will 'take back'
any text inserted with the LOAD command.

                               Examples:

	10 loa text   Inserts the file "text" between line 10 and line 11.
        load Name     Insert the file "Name" below the cursor's line.
        loa           Insert the file with the name that is displayed in
                      the title bar.

				52

12.30  LOWER

	Syntax:		 	[Line Range]  LOWER
	Abbreviation:		LOW
	Implemented in V1:	YES

All text (lines) that falls within the specified line range will have each
alphabetic character's case changed to lowercase, If no line range is
specified then only the line the cursor is on is affected.

                                Examples:

          If the cursor was positioned on the following line...

              Case changes with CTRL-f key,

          and the command "lower" was executed, the result would be...

              case changes with ctrl-f key.

12.31  MARGINS

          Syntax:              MARGINS  [Left  Margin]  [,Right  Margin]
          Abbreviation:        MA
          Implemented in  V1:  YES

The current left and/or right margin settings (case 5.3-4) may be
adjusted with the MARGINS command. The left margin's range is from
1 to 511. The right margin's range is from 2 to 512. In any case,
the left margin may not be at or rightward of the right margin.
Any attempt to change either or both margins to an illegal value
will result in the "Parameter out of legal range" error.

                              Examples:

           mar   1,80         Sets the margins to 1 and 80.
           mar   5            Sets the left margin to 5.
           mar   ,75          Sets the right margin to 75.

12.32 MLEFT

          Syntax:              MLEFT
          Abbreviation:        ML
          Implemented in V1:   NO

				-53-

The MLEFT command moves the cursor to the leftmost visible column in the
window. It is functionally equivalent to the "CTRL-]" key (case 6.3-4). It
is provided merely as a convenience when writing EXECUTE files (case 12.19)

12.33  MOVE

	Syntax:			[Line Range]  MOVE  [Destination]
	Abbreviation:		MO
	Implemented in V1:	YES

The MOVE command will take the specified line range and transfer it to a
new location (deleting the original text).  The text will be moved to
either immediately after the cursor's line or immediately after the
destination line specified.  This command is limited to dealing with only
entire lines.  If no line range is specified, then the line the cursor is
on is moved.

The destination line (text will actually be inserted below this line) can
be specified by using the line's number (case 4.6), the "$" character (for
end of text), or the "^" character (for beginning of text).  If no
destination line is specified then the cursor's line is assumed to be the
destination of MOVEd text.

IMPORTANT:  The MOVE command uses the clipboard (case 9.0), thus deleting
its previous contents.

				Examples:

	> mo $		Move the current paragraph to then end of text.
	. mov 10	Move the current line to just below line 10
	move 10		Same as above
	10 mo .		Move line 10 to just after the cursor's line
	10 mov		Same as above.
	10,20 mo 30	Move lines 10 though 20 to just after line 30.

12.34  MRIGHT

	Syntax:			RIGHT
	Abbreviation:		R
	Implemented in V1:	NO

The MRIGHT command moves the cursor to the rightmost visible column in the
window.  It is functionally equivalent to the "CTRL-]" key (case 6.3-4). 
It is provided merely as a convenience when writing EXECUTE files (case
12.19).

				-54-

12.35 NAME

	Syntax:             	NAME  FileName 
 	Abbreviation:        	NA
 	Implemented in V1: 	YES

The NAME command is used to change the name of the current buffer (case
7.0). This command will only change the name, not the directory path. Enter
the new name after the NAME command. If no name is specified then the
"Missing parameter" error will result. The newly changed name will be
immediately reflected in the title bar (case 5.1-3) and the Buffers menu
(case 10.5).

                          Examples:

	Suppose the current buffer's name is "df0:c/test"...

	name File	Results in "df0:c/File"
	na df1:NewName	Results in "df0:c/NewName
	nam df1:	Results in "Illegal filename" error.
	name		Results in "Missing parameter" error.

12.36 NEW
                                                             
	Syntax: 		NEW FileName
	Abbreviation: 		NE
	Implemented in V1: 	YES

The NEW command is used to simultaneously delete all lines (including the
Undo list) while renaming the current buffer. The specified filename
includes not only the actual name but also (if desired) a directory path.
If no filename is specified then the "Missing parameter" error will result.

     				Examples:

 	new df0:Name       Deletes all text and renames buffer to
				"df0:Name".
        ne x               Deletes all text and renames buffer to "x".
        new                Results in "Missing parameter" error.
 
12.37 OPEN

	Syntax:			OPEN [FileName]                                  
 	Abbreviation:          	O
	Implemented in V1: 	YES

The OPEN command is used to replace the text in the current buffer.  The
specified file (defaults to the current filename) is loaded into the buffer
after the buffer's contents (including the Undo list) is deleted.  The
current filename is changed by this

                                 -55-

load and icons are recognized (case 3.1-2). An OPEN cannot be undone with
the F9 Undo key (case 6.1-9).

                                    Examples:

      	o text 	Replaces the buffer's contents with the file"text".
	ope	Same as above, but uses the buffer's current filename
		 as the source...

12.38 PASTE

      	Syntax: 		PASTE                                                                  i
      	Abbreviation: 		PA
      	Implemented in V1: 	YES

The PASTE command will take the clipboard's (case 9.0) contents and insert
it into the text (case 9.5), The contents of the Clipboard remain
unchanged. A PASTE automatically creates room for the inserted text (ie. it
does not replace or overwrite existing text).

12.39 PRINT                                                                         '

      Syntax: 			[Line Range] PRINT [FileName]                                          
      Abbreviation: 		PR
      Implemented in V1: 	YES

The PRINT command is (usually) used to send text to the printer. The
specified line range (defaults to the entire buffer's contents) is sent to
the filename specified (defaults to "PRT:"). Unlike SAVE or PUT, the PRINT
command does not send out an icon (case 3.1-2) and ends every line with a
Carriage Return (hex $0d, decimal 13) and a Line Feed (hex $0a, decimal
10). This is the accepted method of ending each text line sent to a
printer.

                                    Examples:                                        i:

       print        	Prints the buffer to"PRT:"device.                                  S
       pr par :      	Prints the buffer to the "PAR:" device.
       < pr Name     	Prints the current paragraph to the disk file
                          called " Name " .
       1, , pr       	Prints the lines 1 through the cursor's line to
                          the "PRT:" device.
       . pri ser: 	Prints the current line to the "SER:" device.

                                -56-                                                 f

12.40 PUT

          Syntax: 		[Line Range] PUT [FileName]
          Abbreviation: 	PU
          Implemented in V1: 	YES

The PUT command is used to file text to disk. The specified line range
(defaults to the entire buffer's contents) is sent to the name specified
(defaults to the buffer's current name). The PUT command sends out an icon
(case 3.1-2) and ends every line with just a Line Feed (hex $0a, decimal
10).  This is the accepted method of ending each text line sent to a disk.
The PUT command is identical to the SAVE command (case 12.44).

WARNING: Do not use the PUT command to send text to the printer. The PUT
command sends icon information and this results in garbage output.

                                        Examples:

       put              Saves the buffer to current filename.     
       pu Name          Saves the buffer to the "Name" file.
      < pu df0:Name    	Saves the current paragraph to the file "df0:Name".
     .' pu text      	Saves all lines from the cursor's line to the
                             end of text to the file named "text".
      . pu text      	Saves the current line to the "text" file.

12.41 READ

         	Syntax:              	READ [FileName]
          	Abbreviation:        	REA
          	Implemented in V1: 	NO

The READ command is provided as a means of inputting a binary (ie. non text)
file. The file specified (defaults to the current buffer's name) is
translated and inserted into the buffer, replacing its previous contents.
The name of the buffer is changed to match the specified filename and the
buffer's Undo list is deleted.

The READ command translated a file into lines of 5 long words (32 bits)
composed of hexidecimal characters followed by its text representation.

    20202020 20202020 2053756D 6D617279 206F6620 ;      Summary of
    74686520 41454449 5420436F 6D6D616E 64205345 ;the AEDIT Command SE
    54206173 206F6620 41707269 6C203330 2C203139 ;T as of April 30, 19
    38360A20 20202020 20202020 20202020 20202020 ;86

                                    -57-                                     

12.42  REMOVE

     		Syntax: 		[Line Range] REMOVE
     		Abbreviation:	 	REM
     		Implemented in V1: 	YES

The REMOVE command is used to delete entire lines from text. The lines
deleted correspond to the specified line range.  If no line range is given,
then only the line the cursor is on is deleted. And lines deleted by this
method cannot be recovered by use of the F9 Undo key (case 6.1-9). Because
of this, using REMOVE to delete large sections of text is preferred. For
recoverable line removals use the DELETE command (case 12.11).

                                   Examples:

       rem          Remove the cursor's line.
       < remo       Remove the current paragraph.
       /a/ rem      Remove the first line that contains                      "a".
       5,10 remove  Remove lines 5 through 10.

12.43   RIGHT

      	Syntax: 		RIGHT
      	Abbreviation: 		RI                                                           i
      	Implemented in V1: 	NO                                                      'i

The RIGHT command moves the cursor to the rightward by one column in the
window. It is functionally equivalent to the right cursor key (case 6.2-7).
It is provided merely as a convenience when writing EXECUTE files (case
12.19)

12.44 SAVE

      	Syntax: 		[Line Range] SAVE [FileName]                                       -
      	Abbreviation: 		SA
      	Implemented in V1: 	YES                                                     =

The SAVE command is used to file text to disk. The specified line range
(defaults to the entire buffer's contents) is sent to the filename
specified (defaults to the buffer's current name). The SAVE command sends
out an icon (case 3.1.2) and ends every line with just a Line Feed (hex
$0a, decimal 10). This is the accepted method of ending each text line sent
to a disk. The SAVE command is identical to the PUT command (case 12.40).

			-58-

WARNING: Do not use the SAVE command to send text to the printer. The SAVE
command sends icon information and this results in garbage output.

                               Examples:

          save            Saves the buffer to current filename.
          sav Name        Saves the buffer to the "Name" file.
          < sa df0:Name   Saves the current paragraph to the file
                           called "df0:Name".
          30,100 sa zzz   Saves lines 30 through 100 to the file "zzz",
          ' sa text       Saves the current line to the "text" file,

12.45 SOL

         Syntax:              	SOL
         Abbreviation:        	SOL
	 Implemented in V1:	NO

The Start Of Line (SOL) command moves the cursor to the first character in
the cursor's line. It is functionally equivalent to the "CTRL-LEFT" key
(case 6.2-7). It is provided merely as a convenience when writing EXECUTE
files (case 12.19).

12.46 SOT

         Syntax: 		SOT
         Abbreviation: 		SOT
         Implemented in V1: 	NO

The Start Of Text (SOT) command moves the cursor to the first line that
contains text. It is functionally equivalent to the "CTRL-UP" key (case
6.2-6). It is provided merely as a convenience when writing EXECUTE files
(case 12.19)

12.47 SPLIT

          Syntax:   		SPLIT
          Abbreviation: 	SP
          Implemented in V1: 	NO

The SPLIT command will divide the line line at the cursor's position. The
right half of the line is inserted as a new line below the cursor's line.
If the cursor is positioned at the left margin, then the whole line is
'split' into a new line leaving a blank line in its place (equivalent to
inserting a blank line above the cursor's line). If the cursor is
positioned past the rightmost character, then a blank line is inserted
below the cursor's line.

                                -59-                                    

In Text mode (case 8.3-1) a line will be split at the nearest space on or
left of the cursor. If no space can be found then the line will split at
the cursor's position. The text that is split off will be placed flush with
the left margin (case 5.3-4).

In Program mode (case 8.3-2) a line will be split at the cursor's position,
but the text that is split off will retain its column position.

The SPLIT command functions identically to the CTRL-. (">") key (case
6.3-1). It is provided merely as a convenience when writing EXECUTE files
(case 12.19).

12.48 SYSTEM

      	Syntax: 		SYSTEM [A]
      	Abbreviation: 		SY
      	Implemented in V1: 	YES

The SYSTEM command will cause the current buffer's contents (if any) to be
discarded, followed by the buffer's deactivation (case 7.3). The last
active buffer that is terminated by the SYSTEM command will result in Aedit
itself terminating. If the character "a" (stands for "all") follows the
SYSTEM command then all the buffers will be discarded and Aedit will be
terminated.

                              Examples:
                                       ;
       sy            Current buffer is deactivated (losing its contents).
       sy            Current buffer is deactivated (losing its contents).
                                                                                     
12.49 TABSTOPS

      	Syntax: 		TABSTOPS #                                                             
      	Abbreviation: 		T
      	Implemented in V1: 	YES

The current tabstop setting (case 5.3-6) can be changed by the TABSTOPS
command. The new tabstop setting should be entered after the TABSTOP
command (range 1 through 50). Id no tabstop number is provided or, if
provided, it is out of its legal range, then an error message will appear.
Tabstops are provided at both the left and right margin limits as well as
every column that is evenly divisible by the current tabstop setting.

                                 Examples:

	tab io          Sets tabs to 1, 10, 20, 30, etc.                   
	t3              Sets tabs to 1, 3, 6, 9, etc.
	t2              Sets tabs to 1, 2, 4, 6, etc.

				-60-

12.50 UPPER

     	Syntax: 		[Line Range] UPPER
     	Abbreviation; 		U
     	Implemented in V1: 	YES

All text (lines) that falls within the specified line range will have each
alphabetic character's case changed to uppercase. If no line range is
specified then only the line the cursor is on is affected.

                            Examples:

If the cursor was positioned on the following line...

         Case changes with CTRL-f key.

and the command "upper" were executed, the result would be...

          CASE CHANGES WITH CTRL-F KEY.

12.51  WRITE

      	Syntax: 		[Line Range] WRITE [FileName]
      	Abbreviation: 		W
      	Implemented in V1: 	NO

The WRITE command is provided as a means of outputting a binary (ie. non
text) file. The line range specified (defaults to the entire buffer's
contents) is translated to binary and output to the Each line is translated
to binary in the following manner. Starting from the left margin (ignoring
spaces) each pair of hexidecimal characters (ignoring case) is converted to
a byte (8 bits) and then output. This translation stops when it encounters
a non-hexidecimal character. Translation then proceeds at the left margin
of the following line.

                            Examples:

       write       The opposite of READ (case 12.41).
       . w Name    Translate the current line to the file "Name".
       1,3 w       Translate lines 1 though 3 and output to the current    
                    buffer's file name.
       > w         Translate the current paragraph to the current buffer's
                    file name.

The WRITE command allows one to control the printer (or any other) device. 
One could write a control sequence in hexidecimal, like this...

                                -61-                                     

1b2a040800

One then positions the cursor on this line and issues the following command
(substitute the appropriate device name).

       . write par:

12.52 XCHANGE

      	Syntax: 		[Line Range] XCHANGE [?1 [#] /old/new/
      	Abbreviation: 		X
      	Implemented in V1: 	YES

The XCHANGE command will replace occurences of the search phrase (case
15.0) with replacement text. The exchange is limited to the line range
specified (defaults to the entire text). If the "?" character immediately
follows the XCHANGE command, then a you will be asked for confirmation
before every change. If a number immediately precedes the search text, then
the Nth match on a line will be replaced.

12.52.1  Search Text

The search text is bounded by the "/" character. It conforms to the
standard search rules (case 15.0). The ending "/" character of the search
text also functions as the starting ./" of the replace text.               
                                              
12.52-2  Replace Text                                                             i

The replace text is bounded by the "/" character. The trailing "/" can be
left off if the replacing text does end in a space. In fact, the entire
replace text can be left off if the search text is to be replaced with
nothing (ie. deleted).
                                                                                    :"
The "&" character, if it appears in the replace text, is substituted (at
the time of the replace) by whatever text matched the search phrase. If the
"&" character should be treated literally then precede it with the accent
grave character "'" (the accent grave functions as an escape character).
Using the accent grave, one is also allowed to have the "/" character
treated literally.

                                      Examples:                                     
                                                                                    
          xchange /abc/def/ 	Replaces "abc" with "def".
          xchange /abc/def 	Same as above.
          x /ultra/&sonic 	Replaces "ultra" with "ultrasonic".
          x /ultra/&-&sonic 	Replaces "ultra" with "ultra-ultrasonic".               
          xch /df0:/dir'/ 	Replaces "df0:" with "dir/".
          x/and /'&/ 		Replaces "and " with " & ".
          x /accent/"/ 		Replaces "accent" with "'".                                  
          1,10 x /abc// 	Delete all occurences of "abc" that occur
				   in lines 1 through 10.
          10,1 x /abc/ 		Same as above.                                               

                                -62-                                     

          1,10 x /abc           Same as above,

12.52-3 Query on Replace

If you desire to be queried before each text replacement, enter a "?"
immediately after the XCHANGE command. Before every exchange you Will be
shown the matched text (the cursor will be positioned at the start of the
match) and the message "Exchange: (Y)es, (N)o, (G)lobal." will appear an
the message line.

YES: Replace the text then move on to the next match and query.

NO: Do not replace the text but continue as if "YES" were chosen.

GLOBAL: Replace this text and all others without bothering to query each at
each match.

12.52-4 Nth Match Replace

If a number is specified immediately before the search phrase then only the
Nth (the number entered) match in each line is recognized. This can be most
useful when working with tables or columns of data.

                                    Examples:

        xchange 2 /a/b/     Replace only the second "a" in each line
                             with "b".
        xl/ //              Delete the first three spaces in each line.

                               -63-                                       

                 13.0    Aedit V1 Subset

Aedit.V1 (the small version) is a limited version of Aedit. In most
respects, this manual applies to both versions. The following is a list of
the areas where Aedit.V1 differs from the standard version (V2).

1) Icons are not supported (case 3.1-2). Neither are they created, used,
nor recognized.

2) The right border gadgets (case 5.2) are not implemented.  This allows 80
character lines (a bonus).

3) The close window (case 5.1-1) and window sizing gadgets are not
available. Use the EXIT (case 12.20) or SYSTEM (case 12.48) commands
instead.

4) Menus (case 10.0) are not supported. Use the appropriate commands (case
12.0) instead.               

5) Mark mode (case 8.4) is unavailable. In fact, all clipboard (case 9.0)
operations that use the mouse aren't implemented.

6) Execute files (case 12.19) are not implemented.

                               -64-                                     

                        14.0  Error Messages

Error messages will appear on the message line (case 4.7). Here is a list
of possible error messages, its probable cause, and possibly methods of
recovery, Whenever the characters "&s" appears, this represents text that
will vary. Whenever the characters "&u" appears, this represents a number
that will vary.

CLI command failed.

This error occurs when the CLI command handed to the "!" (case 12.2)
command has failed for some reason or another, Examine the current CLI
window to see if a more detailed message has been displayed. To examine,
revise, or reenter the "!" command you actually issued, enter just a "?" at
the command line,

Command "%s" is not yet implemented.

An attempt was made to execute a command that is lexically recognized but
not yet implemented. The complete name of the unimplemented command appears
in this error message. There is no correction for this problem except to
receive an updated version of Aedit (see the disk file "Support").

Error #&u, &s - Lines Transferred &u

While either loading or saving text an error occurred. The DOS error
number, the name of the text, and the number of lines successfully
transferred is displayed, See the AmigaDOS users manual for an explanation
of the error numbers.

ERROR . What is "&s"?

A command line entry was not syntactically correct. The part of the entry
that was not recognized is displayed in this error message. To correct, use
the "?" command (case 12.1) to recall the previous command line entry.
Reentering just the command followed by the "?" character (case 11.2) will
display the command's parameter template.

Illegal buffer number.

An attempt was made to switch to a buffer numbered outside the range of 1
through 9. Aedit is limited to this range.

				-65-

Illegal filename.

A filename was specified that is not legal. This occurs, for example, if
the name ends in ":" or "/". Change the filename to a legal form and
reexecute the command.

Illegal search text

A search text was specified that is not composed of legal characters or
the characters used were improperly used. See case 15.0 for a complete
description of search phrases.

Keyword source file error

A file used as the source for keyword case folding (case 12.27-1) is either
non existent or contains an illegal entry. If the source file exists, then
examine its contents for legality (case 12.27).

Maximum line length exceeded

An attempt was made to create a line that either exceeds the right margin
limit (case 5,3-5) or exceeds the maximum line length allowed in Aedit (512
characters). Either adjust the right margin limit or don't attempt to
create such large lines.

Missing Parameter.

A command was entered that did nat contain the necessary parameters. Recall
the command (case 12.1) or display its parameter template (case 11.2) for
correction.

No original line by that number

An attempt was made to reference an original line number (case 11.3-2) that
does not exist. This can occur because either the line never existed or has
been deleted.

No line range allowed for the command "&s".

A line range was provide for a command that does not take one. The full
name of the command entered is displayed with this error message. Double
check the command entered (case 12.1) or its parameter template (case
11.2). Specifying a single line (as opposed to a range of lines) is
allowed.

				-66-
 
Not found                  

A search attempt was made that was unsuccessful. This occurs because either
the text searched for does not exist or the search text was specified
incorrectly (case 15.0).

Operation Aborted.

The CTRL-c key was pressed while Aedit was performing some operation.

Out of memory.

Aedit tried to allocate memory but was unsuccessful due to lack of this low,
even the slightest excuse will send the Amiga into a guru meditation. If
this message appears but the Amiga does not display a guru meditation,
immediately press the F6 key (case 6.1-6). This should free up enough
memory to allow an attempt to save Aedit's contents.  Keep an eye on
Aedit's memory size (case 5.3-8) to avoid this (almost always) fatal error
message.

If your Amiga has 512K of memory AND there is nothing else running, Aedit
can allocate about 300K before getting this error, Examine the Status Line
(case 5.3-8) to determine the amount of  memory allocated by Aedit.

Parameter out of legal range

A parameter that is outside of the legal limits was supplied to a command.
This can occur, for example, by specifying a right margin that is less than
the left margin. Double check the entered command (ease 12.1).

Text has been deleted

This is not an error message, per se, but a merely a notice that the Undo
key (F9) has resulted in the deletion of a line (or lines), Text inserted,
by any means, can be undone with the F9 Undo key (case 6.1.9).

				-67-

Text has been restored

This is not an error message, per se, but a merely a notice that the Undo
key (F9) has resulted in the reinsertion of a line (or lines). Text that
has been deleted can be reinserted with the F9 Undo key (case 6.1-9). The
exception to this is when the command "REMOVE" is used (case 12.42).

The "&s" command works only on the current line

This error is the result of specifying a line range for a command that does
not accept one. The full name of the command entered is displayed with this
error message. Double check the command entered (case 12.1) or its
parameter template (case 11.2).

Unable to open clipboard                                                          '

An attempt was made to use the clipboard (case 9.0) when Amiga DOS         
was unable to open the necessary file.  This can occur if the file
"SYS:devs/ram-device" is unavailable, or the file "RAM:AEDIT.ClipBoard" is
currently in use by another program. There are many commands and operations
in Aedit that use the clipboard. These include all the cut & paste
operations (case 9.0) as well as commands such as FORMAT, MOVE, and ECHO.
                                                                                     1
                                -68-                                     

                          15.0 Search Phrases

A 'Search Phrase' in Aedit consists of some specified search text bounded
by either the "/" or "\" characters. A search will continue until text
matching the search text is found. If the "\" character is used to delimit
the search text then Aedit will search far any line that does not contain
the search text. The CTRL-C key (case 6.3-7) will stop a search process.
The CTRL-g key (case 6.3.3) is used to continue a search.

                                 Examples:

    /abc/              Matches any occurrence of "abc".
    \abc\              Matches any line that does not contain "abc".

Unless otherwise specified, a search will scan the entire buffer's contents
(from line 1 to the end of the file). If no match is found then a "Not
found" message appears. The direction of a search can be controlled.
Precede the first "/" with "+" to scan forward from the present cursor
location. Precede the first "/" with "-" to scan backward from the present
cursor location. Scanning backward proceeds toward line 1 but still
searches each line from left to right, The direction of a not-search
(bounded by "\") is controlled in the same manner.

                                 Examples:

    +/abc/             Find the first occurrence of "abc" after the
                        cursor's location,
    -/abc/             Same as above but proceed backward.
    +\def\             Find the first line, past the current line, that
                       does not contain the text "def".

                        Alternative Search Text

More than one search text can be scanned for at a time. Separate multiple
search texts with the "I" character. There is no limit to the number of
multiple choices that can be specified.

                                  Examples:

     /abc/def/         Scans for either "abc" or "def".
     /a|b|c|d/         Scans for either "a", "b", "c", or "d".
     \alb\             Scans for a line that does not contain either
                       "a" or "b".

                               -69-                                     

                        ' WildCards "

The "?" character, when it appears in a search text, represents any
character (including a space). The "?" does not match the space that
follows the end of each line (use"~" instead).

                              Examples:

    /a?c/         Would match "abc", "acc", "a c", "azc", etc.,,
                   but not "ac" or "abbc".
    /???er/       Would match "suger", "miner", "T fer", etc...
                   but not "fer" or "errar".

The tilde "~" character (the shifted key above TAB) represents any non
alphanumeric character (including the space that follows the last character
of a line and the imaginary character left of column 1).

                                  Examples:

     /a~b/        Would match "a.b", "a b", "a/b", etc.,.
                   but not "abc" or "a2c".
     /~abc/       Would match " abc", "!abc", "labc", etc...
                   but not "zabc" or "Oabc".
     /~for~/      Would match " for ",  ".for.", etc...
                   but not " fort" or "afor."

                             Ends of Lines

The "^" character represents the beginning of a line. The "$" character
represents the space that follows the last visible character on a line.
These characters are to be used either as the first character in the search
text ("^") or the last character ("$").

                                  Examples:
     /^start/     Would match the text "start" only if it starts in
                   column 1.
     /end$/       Would match the text "end" only if it is the last
                   text on a line.
     /^$/         Would match any blank line,
     /^?$/        Would match any line that contained only one character
                   (at left margin).

                               -70-                                    

                           Repeat Characters

With the "#" character, a search is allowed to match a variable number of
characters. A match will occur for any quantity (including zero) of the
character immediately following the "#".

                                 Examples:

    /a#bc/        Would match "ac", "abc", "abbc", "abbbc", etc.
    /a#?c/        Would match "ac", "abc", "a c", "axyc", etc.

The "*" character functions similarly to the "#" character, but will match
one or more repetitions of the following character.

                                  Examples:

    /a*bc/        Would match "abc", "abbc", or "abbbc", but not "ac".
    /a*?c/        Would match "a.c", "axyc", or "a - c", but not "ac".

                          Grouped Search Text

A sequence of search text characters can be grouped for use with the "#"
and "*" characters. The grouped text should be enclosed in brackets.

                                  Examples:

    /ba#[na]/        Would match "ba", "bana", "banana", etc,
    /m*[iss]iPPi/    would match "missippi", "mississippi", etc.

                            Escape Character

Any of the above special characters can be used in its literal ASCII
character form. Precede the character to be treated literally with the
accent grave key (just above TAB).

                                  Examples:

     /`?/         Would match only the "?" character.
     /dir`//      Scans for the text "dir/".
     /`#`?/       Scans for the text "#?".
     /``/         Scans for the "`" character itself.

                               -71-                                   

                         Complex Examples

The special search characters can be combined to produce some pretty
powerful (and complex) search phrases.

                                  Examples:

    / f[a|u|rth(e|u|r/ Would match "farther", "furthur", "further"
                        and "farthur".
    /move[.[1]wlb]]/ Would match "move", " move.", " move,l",
                        "move.,w" and "move.b". Nesting bracketed
                        text is allowed.

    /^`*#?Com/         Would match a line that starts with "*" and
                        contains the text "Com".

When combined with the XCHANGE command (case 12.52) one can easily alter
the text.

                                  Examples:

     XCHANGE /~for~/then/      Changes all occurences of "for" to
                               "then", but does not change "afor",
                               "forward","deform", etc.
     XCHANGE /^# //            Deletes all leading spaces.

When combined with the "!" command (case 12.3) one can do a number of
interesting things.

                                  Examples:

     :/^/delete           Deletes all blank lines.
     :/if|and|but/. print  Prints all lines that contain either
                             "if", "and", or "but".

                               -72-                                    

============================================================================
         DOCS PROVIDED BY  -+*+-THE SOUTHERN STAR-+*+- for M.A.A.D.                                                               
============================================================================
