[net.micro.amiga] ED editor manual

cjp@vax135.UUCP (Charles Poirier) (02/12/86)

I received the following information on how to use the ED editor.
This comes from Robert A. Peck at Commodore-Amiga, who says he is
writing this for inclusion in a book, hence please treat it as
Copyrighted material.  I'm sure some of you can use this.

	Charles Poirier

From: amiga!robp (Robert A. Peck)


APPENDIX A - THE ED EDITOR    

The  ED  program is a simple program text editor that you can use to create 
source files for your C compiler or for other purposes. 
If you start ED without specifying a file name or specifying a
new file name, as ED starts,  it presents you with a blank screen on 
which  you  can type lines of text.   After  you  have  completed 
typing those lines,  you can save this text to a file for further 
use.   If you start ED specifying a file name that already exists,
you can use ED to edit that file.  

ED  is  basically  a  line  editor  rather  than  a  word 
processor.   That is, as  you use ED,  keep in mind that although ED 
presents you with a full screen of text to work with,  ED  treats 
each line as an individual entity.  For example, a block of text consists
of one or more lines.  A text block mark cannot begin or end in the
middle of a line.  Likewise, when you move a block or copy a block
of text, ED inserts the block in between the line in which the cursor
currently resides and the line immediately above it.

If  you  are  unfamiliar  with using a text editor  to  create  a 
program,  this  section will guide you through creating  a  short 
program.   If  you are already using a text editor of some  kind, 
you can ignore this appendix entirely. 



STARTING ED

To  start ED,  make sure your Workbench or CLI diskette is in the 
internal drive.   This disk must be write-enabled to allow the ED 
program to create a workfile in the SYS:T directory.   From a CLI 
window, type 

     ED hello.c <RETURN>

A new window opens up and ED says:

     Creating a new file

Your  cursor  is at the top of the window waiting for you  to  do 
something.    As you gain experience with ED, you may tend to use 
more  of  its  commands.   However,  a beginning user  need  only 
remember  a few basic rules and commands in order to  effectively 
use ED.      

 1.  Remember that you are always in insert mode...
     Wherever the cursor is located, if you type a legal
     (non-command) character, it will insert that character
     at the cursor position and push everything else to the
     right if necessary.  A RETURN key typed in the middle
     of a line splits the line.

     2.  The cursor keys work as expected.  You can move   
     through the file exclusively with the cursor keys if
     you wish.  

     3.  The backspace key deletes the character to the
     immediate left of the cursor.

     4.  The ESC key is used for extended commands.  If you
     press the ESC key, the cursor temporarily moves down
     to the status line at the bottom of the screen and
     waits for you to complete the extended command.  The 
     commands most often needed are:

          ESC sa <RETURN> - save your file and continue
                            the ED session
          ESC q <RETURN> -  exit the program without

                            saving any further changes
          ESC x <RETURN> -  exit the program after saving
                            the current file in memory.
                            Equivalent to save, then quit.


It  seems to be traditional that any textbook that shows either C 
or Pascal programming must begin,  somehow,  with the programming 
example that prints "Hello,  world" to the console.   Rather than 
break tradition,  here is the complete sequence you would need to 
perform to create this program.   

Start  ED  as  described above.   You are creating a  file  named 
hello.c.  Type the following lines exactly as shown, pressing the 
RETURN key as you reach the end of each line:

main()
{
     printf("\nHello, world\n");
}

Then type:

     ESC x <RETURN>

Now  your  program is saved so that it can be used later  by  the 
compiler.



Other  commands  that ED can perform are summarized  in  the 
table A-1. 



     Table A-1:  ED Command Quick Reference 

In  the  table,  the notation "^" indicates a "control"  command.  
This  means that you must hold down the CTRL key then  press  the 
specified command letter to execute a particular command.
Cursor Movement:

     Arrow keys - move cursor in expected direction
     ^I - (TAB key) - move cursor forward to next tab stop
     ^R - move to end of previous word
     ^T - move to start of next word
     ^D - scroll text down
     ^U - scroll text up
     ^E - cursor to top or bottom of screen
     ^] - cursor to start or end of line
     ^M - same effect as RETURN key.  That is, move cursor
          down one line and to left margin.

     ESC B - move to bottom of file
     ESC T - move to start of file
     ESC N - move to start of next line
     ESC P - move to start of previous line 
     
     ESC CE - move to end of current line
     ESC CB - move to start of current line

     ESC M <line-number> - move cursor to a specific line
          number within the file.


Insert and Delete Functions:

     ^A - Insert a line AFTER the current line
     ^B - Delete the line in which the cursor is located
     ^H - (BACKSPACE) Delete the character to the left
          of the cursor.  Move everything back one space.
     DEL - Delete character on which the cursor is sitting.
     ^O - If sitting on a space character, delete all spaces
          up to the next word on the line.  If sitting on a
          non-space character, delete this and all characters
          to its right until the next space character is
          encountered.
     ^Y - Delete to the end of the line, including the 
          character on which the cursor is resting.

     ESC A /<string>/ - insert this string of characters as a
          line preceding the current line.
     ESC I /<string>/ - insert this string of characters as a 
          line following the current line.
     ESC D - delete the current line
     ESC DC - delete the character at the cursor 
     ESC IF !<pathname>! Insert file by this name at the
          current cursor position.

     ESC J - Combine this line and the next line as a 
          single line (Join with the next line).
     ESC S - Split the current line at the cursor.  Take
          the character at the cursor position and force
          it to become the first character on the following
          line.

Editor Control Commands

     ESC LC - treat upper and lower case characters as 
          different when performing searches.
     ESC SL <number> - set the lefthand margin at column 
          number specified.  Default is 1.
     ESC SR <number> - set the righthand margin at column 
          numbers specified.  Default is 80.  Maximum is
          255, since this is the maximum line length the
          ED program (and AmigaDOS) allows.
     ESC ST <number> - set the tab distance to this number.
          How far apart should the standard tab stops be
          positioned.
     ESC SH - show the status of the editor.
     ESC V -  redraw the screen.
     ESC EX - extend right margin (same as margin-release
          if you are using a typewriter).  


String Find and Replace

     ESC F /<string>/ - search forward for the next occurence
          of the specified string of characters.
     ESC BF /<string>/ - backward search for an occurence of
          the specified string of characters.
     ESC E/<oldstring>/<newstring>/ - locate next occurence
          (forware search) of the specified old string and
          replace it with the new string.  Do not verify,
          just replace without asking.  
     ESC EQ/<oldstring>/<newstring>/ - locate next occurence
          (forware search) of the specified old string and
          ask for verification.... is it ok to replace this
          particular occurence or not?


Block Operations

     ESC BS - mark this line as the beginning of a block
     ESC BE - mark this line as the end of a block
     ESC DB - delete this entire block
     ESC IB - copy the marked block to the current cursor
              location.
     ESC SB - show the top line of the marked block as the
              top line of the screen.   (Lets you quickly
              move to a marked position within the file).
     ESC WB !<pathname>! - write the marked block out to 
              a specified file.  If the pathname is not
              simply to the current directory, you can
              specify the complete path name, including
              slashes, if exclamation points are used to
              delimit the pathname.


Save and Read Operations

     ESC SA - save the file to the current file name and
              continue editing.
     ESC Q  - quit without saving any changes made since
              most recent save if any.  ED asks you to 
              verify that it is ok to quit.
     ESC X  - exit program, saving the changes to the
              current file name.

     Both ESC SA and ESC X accept an optional file name that
     is used in place of the filename used to open the file.
     This takes the form:  ESC X !<pathname>! or      
     ESC SA !<pathname>! so that you could, if you wish, save
     intermediate forms of the editing you are performing.


Multiple Commands On A Line

     Once you have pressed ESC, the command line can contain
     multiple commands, separated by a semicolon.  Example:

          F /a certain phrase/ ; E/oldword/newword/

     searches for the string "a certain phrase", then following
     that phrase, searches for the next occurence of "oldword"   
     and substitutes "newword" for it.  

Repeating Commands

     You specify how many times a command (or a command line)
     should be repeated by placing a number ahead of the 
     command segment to be repeated.  In place of the number
     of repeats, you can specify "RP", that says keep doing
     the same thing until you find an error of some kind.