perm filename TEACH[1,GUE] blob sn#188444 filedate 1975-11-28 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00021 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	OK learn to use the editor "E" type HELP ETEACH with a carriage return
C00006 00003	General remarks
C00009 00004	PAGE MOVING commands.
C00014 00005	More NORMAL-MODE commands.
C00020 00006	LINE-EDIT commands.
C00031 00007	ATTACH and COPY.
C00040 00008	The LINE-INSERT mode.
C00044 00009	Pitfalls and Hazzards.
C00048 00010	FIND commands are string searching commands.
C00055 00011	Margin control. JUST,JFILL and CENTER.
C00065 00012	More Margin Controls, ALINE,JLEFT and INDENT. 
C00070 00013	Other EXTEND commands.
C00076 00014	System commands to evoke E.
C00080 00015	Credits:
C00082 00016	APPENDIX A.  NORMAL-MODE commands (see page 4 and 5 for details).
C00085 00017	APPENDIX B   LINE-EDIT commands (see page 6  for details).
C00089 00018	APPENDIX C   LINE-INSERT commands (see page 8 for details).
C00092 00019	APPENDIX D   ATTACH and COPY commands (see page 7 for details).
C00095 00020	APPENDIX E   EXTEND commands (see page 12 for details).
C00100 00021	APPENDIX F   FIND commands (see page 10 for details).
C00104 ENDMK
C⊗;
OK learn to use the editor "E" type HELP ETEACH with a carriage return
and follow instructions.   This will copy a file named TEACH into your
file area and allow you to read it and modify it for practice.

You are now looking at page 2 of this file (see top line with asterisks).
  Page 1, the "directory" page, is automatically prepared by E.

ABREVIATIONS used in TEACH to characterize commands.

   α     means hold the "CONTROL" key down while typing a character.
   β     means hold the "META" key down while typing a character.
   αβ    means hold both "CONTROL" and "META" keys down while typing.
   ⊗     means hold either the "CONTROL" key alone or both "CONTROL"
	   and "META" keys down while typing.

   <cr>    carriage RETURN key.			<lf>    LINE feed key.
   <tab>   TAB key.				<alt>   ALT-mode key.
   <bs>    Back-Space key.			<form>  FORM-feed key.
   <vt>    the VT key.				<clear>	the CLEAR key.
   CURRENT means the current line (normally with an → or ↔ on the left).

   Most commands are single characters typed with one or both of the two
special keys held down as specified by  α, β or ⊗ as defined above.  The
mnemonic equivalents  of the commands  will be shown in capitals  in the
the definitions that follow.  When a number is shown in a command,  this
is by way of example, and any desired decimal number may be used.

If you make a mistake or get confused, type <alt>.

   >>    indicates a line which is present for you to play with.
   !     indicates an instruction to follow for practice.

! Type αP (pronounced CONTROL P) for PAGE 3.(hold CONTROL down and type P).
General remarks

     E is  a  page  oriented editor  designed  for  use with  a  display
terminal. It brings one  page of the text into core,  as requested,  and
it displays a  portion of  this page  as if through  a window.   A  line
pointer and an  underscoring cursor mark the position in  the text where
editing  is to  occur.  Special  commands allow you  to go  from page to
page, to move  the window up or  down on the page  and to move the  line
pointer and cursor as desired.

    E does not make a separate disk copy of the file being edited unless
requested to do so by the use of a special command (described later), so
take care or you may damage a file that belongs to someone else.

    E achieves its speed (1) by using the system line editor and by only
changing the core copy of the text on the completion of a line edit, and
(2) by updating the disk  copy of the page  only on the completion of  a
page edit (automatically  effected by moving to another page).   You can
undo  an entire page of incorrectly  made modifications by cancelling an
update, but unfortunately, you can  also lose an entire page  of desired
modifications or  additions if the  system should go  down unexpectedly.
Always remember  that the text shown on the display may not, and usually
does not, mirror the true state of the actual text on the disk.

    E is best understood by recognizing that it operates in a variety of
different modes and  that many commands  are appropiate only  to certain
modes. In fact some commands have quite different effects depending upon
the mode  that E  is in  at  the time  that the  command is  given.  The
dominant mode is the NORMAL mode.  This allows for page, window and line
marker movement commands and commands which enter the other modes.

! Type αP or αβP for the next page. This is a NORMAL mode command.
PAGE MOVING commands.

   PAGE-MOVING commands are single characters typed with the CONTROL key
held down or with both the CONTROL and the META keys held down. They may
take modifiers as shown below.

   ⊗P       Go to the next PAGE. (You have just done this).
   ⊗-⊗P     Back up to the previous page. ! Try this and then return.

   ⊗+⊗7⊗P   Go foreward 7 pages if possible, otherwise to the last page.
   ⊗-⊗3⊗P   Go backward 3 pages if possible otherwise to the first page.

   ⊗7⊗P     Go to page 7 if possible otherwise to the last page.

!  If you are sure that you know these commands, skip around a bit. Note
that the directory on page 1 lists the first line of each page.

You are now looking at a longer page than before. Note two things:

1 The top line contains asterisks, the  page number, the line number,
and the file name.

2 A bottom line  contains dots, where formerly there  were asterisks,
along with the  number of the bottom line, the page number again, and
the line number of the position of the arrow (→ or ↔).

   The asterisks mean  that  you are seeing the  page  through  a window
starting at the top of the page, while the dashes mean that there is yet
more on the page than that shown. On moving the window down, (we will do
this soon) dashes will replace the top asterisks. If you can then see to
the end of the page asterisks will appear at the bottom.
   Note also that there are some lines at the very bottom that echo your
command or acknowledge its execution. Watch these lines to detect errors.

   Several commands allow you to move the window up and down on the page
and to move the CURRENT line marker (the arrow on the left) around.

! Now type αW to advance the WINDOW to see the rest of this page.

   Good for you. ! Now before you forget type  ⊗L to see the LAST window
again and then type ⊗W.

   Note that the window moved down on the page only far enough to get to
the end of the page. Had  the page been longer, an entirely new  window-
ful might have appeared (except for the former last line which now would
become the first line).

   The  →  which had previously been attached to the first line of text,
moved to  the last line  and stayed with  it as  the window moved.  This
arrow points  to a line called  CURRENT. This line would  be affected if
you were to do some line editing. More on this later.

   It is good practice to  limit the page size to less than  150  lines.
This eases the load on  the editor and makes the directory  of more use,
if you adopt the practice of starting each page with a suitable comment.
E  keeps certain vital statistics  packed into  9-bit bytes  and it gets
into trouble if there are more than 511 lines on any one page.

   You will next want to be able to move the CURRENT line pointer up and
down. You will find this information on the next page.

! So ⊗P.
More NORMAL-MODE commands.

   ⊗W     Advance the WINDOW,  that is, move the last line to the top.  If
	  there is less than a windowful left, move the window only enough
	  enough to see to the end. (You know this).

   ⊗L	  Is the reverse of ⊗W.

 <form>   Do a ⊗W if there is more material on this page,  otherwise a ⊗P.
	  Note that no control keys are used.
	  Caution: be sure E is in the NORMAL mode before using.

 ⊗-<form> Do a ⊗L if not at the top of the page otherwise go to the last
	  full window on the next earlier page.

   <cr>   Move the "Current line" pointer down a line. ! Try this.
	  Note, no control keys used.

   ⊗>     Move the pointer down 4 lines. This takes the <top> key.
   ⊗≥     Move the pointer down 1/2 screen. This also takes the <top> key.

!  Use the above instructions to get CURRENT to this line.   If you should
go too far, read the instructions that follow to get back.

   <vt>   Move the "Current line"pointer up a line.   !(Try this now).
   ⊗<     Move the pointer up 4 lines. (Be sure to depress the <top> key).
   ⊗≤     move the pointer up 1/2 screen.

   ⊗T     Move the pointer up to the TOP line, adjusting the window to
	  show a few lines above this if possible. !(Try this now).
   ⊗B     Move the pointer to the BOTTOM line, adjusting the window to
	  show a few more lines if possible. !(Try it).

   ⊗J     Move (JUMP) the window so that the CURRENT line is at the top.

   αβD    DELETE the entire CURRENT line.
	  This takes both α and β since αD has a different meaning.
	  Use with caution, the only way to undo a line deletion is
	  to cancel all corrections to the current page that have
	  been made since the last disk update.

   ⊗4αβD  Delete 4 lines starting with CURRENT.

!  Try these commands several times ending with ⊗B commands until a row
of asterisks appears at the bottom.

   Two other commands that you will need later are:

   ⊗.	  Write the current page (as corrected) into the disk file.
	  Note, this is done automatically with a change page command.
   ⊗E     Do a ⊗. and then EXIT to the system monitor.
   
   E also provides the facility of marking up to 10 line locations with a
rapid way to return to these locations by using the following commands.

   αβM	  Mark the CURRENT location,  recording  page number
	  and line number.

  αβ-αβM  Erace the MARK at CURRENT

   αM     Go to the next MARK (cyclicly)

   α2αM   Go the the second Mark from here


   Most of the  NORMAL-MODE commands require the use of the  CONTROL key
and  perhaps the META key.  <cr>, <vt> and <form>  are exceptions. These
are rather special.

   The reason for moving the pointer  around is, of course, so that  you
can edit a line of text, add more text, or even delete some on occasion.

   E uses  the line-editing commands  that are  a part of  the operating
system.  You may already know  these, but for  completeness they will be
summarized on the next page. The typing of normal text or of most of the
line-editing commands will cause E to enter the LINE-EDIT mode.

!  When you are ready use the <form> command to go to the next page.
LINE-EDIT commands.

   Typing a character without a CONTROL or META key will normally invoke
the  line editor  and the character  is typed  into the CURRENT  line. A
cursor will appear  under the first  character in the  line and in  that
position where  the next typed character  will go. A character  so typed
overwrites  the character that was at the  cursor's position.  E will be
in the LINE-EDIT mode.

   A word of caution- it is usually safe to  continue typing on entering
the LINE-EDIT mode without waiting  for the system to catch up. This can
fail, so look before giving a  carriage return and if anything is  amiss
type <alt> and start  over again. Strange things can happen.  Do not try
to save  a partially correct line for later  re-editing. You may have to
type <alt> more than once.

   When the  arrow  appears to  point at  the  bottom row  of  asterisks
(which, of course,  is not in the  text) E will accept  anything that is
typed  as an  added line of  text. The  asterisks temporarily dissappear
only to reappear below the  new line on the completion of  the addition,
and E reverts to the NORMAL mode.

   When in  the LINE-EDIT mode a  <cr> will terminate the  mode and move
CURRENT to the  next line.  A α<cr>  will terminate  the LINE-EDIT  mode
without moving CURRENT. Remember that the line corrections do not appear
in  the core image until  you issue one  of these commands  and that the
version on the disk  still does not show  your corrections until a  disk
update has been initiated. When in  this intermediate state the letter W
will  appear at the end of the title  line (with asterisks or dashes) at
the top of the window,  meaning that something is yet to be  written.

   If your change will  require the directory to be  changed,  this will
be shown by the letter D in this top line.  The letter X can also appear
if the change requires a in extension in the space  on the disk assigned
to the current page.
! If this line is at the bottom of the screen do a αW, a αβW, or a <form>.

   By the way,   window moving commands do not  automatically update the
 disk, whereas page changing commands always do an update.

   Most  of the line editing  commands listed below will  also enter the
LINE-EDITE mode from the NORMAL mode.

!  Try typing  something into  the next  line.
Happy Thanksgiving, machine. Xg&&~⊗***≡0 ↓↑↓↑↔, ∞\∞/∞\, Gordon!!

   If you make a mistake and  perhaps lose some valuable information hit
<alt> rather than <cr> and your data will reappear as if by magic. ! Try
it.

!  Move the arrow down to the top of the following list and give a ⊗J in
order to get more of the list on the screen at one viewing.

   Some useful line editing commands are:

   α<space>   Move the cursor  to the right 1 space.
   α4α<space> Move the cursor 4 spaces  to the  right.
   α<bs>      Move the cursor to  the left  1 space.
.  α5α<bs>    Move the cursor 5 spaces to the left.
   α<tab>     Move the cursor to the end  of the line.
   α<form>    Move the cursor to the start of the line.

   αS then <char>    Move the cursor to the next occurance of <char>.
   α3αS then <char>  Move the cursor to the 3rd next occurance of <char>.

   αD       DELETE a character and move the rest of the line to the
	    left.  If at the end of the line,  this will append the
	    next line to the current.
	    Caution: don't try to join two long lines,  as there is
	    a limit,  imposed by the system editor on the number of
	    characters in a line, which can cause text to be lost.
	    (This is going to be fixed  soon).
  β<bs>     Delete the character to the left of the cursor position.
  <bs>      BACK SPACE, deletes like β<bs> if at the end of the line,
	    otherwise just moves the cursor to the left like α<bs>.
  αK<char>  KILL the line starting with the cursor position up to but
	    not including the character typed. Do nothing if the no
	    such character is found.
  α4αK<char>  KILL the line up to the 4th occurrance of the character.
  β<char>   Make  room and  insert  <char>  ahead  of the  cursor
	    position.
  β<cr>     Insert a carriage  return and stay in LINE-EDIT  mode.
  β<vt>     DON'T, at least not until you know better, or until a bug
	    in E gets fixed.
  αI	    Enter INSERT  mode (like holding META down continuously).
	    Everything that  you type  (including carriage returns)
	    will be inserted until you type another line command.
	    Any LINE-EDIT command will cause one to leave the INSERT
	    mode, for example, the α<space> command.

  <cr>      Leave LINE-EDIT mode, accept the line and  move CURRENT down.
  α<cr>     Leave LINE-EDIT mode, accept the line, do not advance CURRENT.
  α<vt>     Leave LINE-EDIT mode, accept the line and move CURRENT up.

  <alt>     Restore the line to it original condition and leave the
	    LINE-EDIT mode.

  ⊗↑        Accept he line, then move to the end of the previous line.
  ⊗↓        Accept the line, then move to the end of the next line.

    These commands work in both NORMAL and LINE-EDIT modes.

    The following command works only in the NORMAL mode but since it
enters the LINE-EDIT mode it is best explained here.

  ⊗Q       Insert a copy of the line just above CURRENT and open it
	   for editing (i.e. enter LINE-EDIT mode).

!   Get into  a line, and type ⊗J, or  ⊗W, or ⊗≥.  Also try  ⊗P, ⊗D.
Before leaving this page  try messing it up rather badly by all sorts of
corrections and then  type ⊗XCANCEL<cr>. Be sure  that this command  has
worked  before leaving  the page  or your  corrections will  be cast  in
concrete.  If it  did not work  the first  time try  giving several <cr>
commands and then try again.

   If you are  editing a line  and type something  that the line  editor
does  not understand it  will usually  ignore the error  (after thinking
about it for a moment) but don't bank on this too heavily because it can
fail.

   If you type a legal ⊗ command (some are forbidden) when in  LINE-EDIT
mode the line will be accepted as edited and the command will be carried
out.
  (Typing ⊗. in LINE-EDIT mode returns to LINE-EDIT mode automatically
after writing out the page.)

   The α<cr> command, that works to recall a line from the system buffer
in the system's monitor mode, is replaced by the αQ command as described
above.

!  Go to the next page.
ATTACH and COPY.

   The ATTACH and COPY commands permit blocks of lines or copies of them
to be moved up and down on the page or from page to page, as desired.

   The ATTACH command removes one or more  contiguous lines of text from
the core  image of the page and places them  in a special attach buffer.
The lines are still displayed on the screen in their original position.

    Note that if more than 8  lines are attached, then only the first  4
lines and  the last 3 lines  are shown so that  one can see a  few lines
both  before and following the attached lines  to be certain as to their
relationship to the rest of  the page. The attached lines are  marked by
vertical bars (thus |) at the left.

    The apparent  position of the attached lines can  be made to move up
or down on the page or from  page to page with the usual  CURRENT-moving
commands to prepare for a final command  which will deposit the attached
lined  back into the core  image of the text  at the indicated position.
Perhaps this  can be made  clearer by  remarking that  the CURRENT  line
designation is  actually attached to  the line following the  section of
text that has been removed (although the → does not appear). What one is
actually doing when  one appears to be  moving the attached lines  is to
move CURRENT around and E  cleverly always displays the attach buffer on
the screen just above CURRENT, where it will in fact be put if one gives
the deposit-line command.

Basic commands.

  ⊗A     ATTACH the CURRENT line and mark it with a "|".
  ⊗3⊗A   ATTACH 3 lines starting with CURRENT and mark these with "|'s".
	 If a number greater than 8 is used, (for the 3 in the example),
	 only the first 4 and the last 3 lines are shown.  A row of dots
	 is used to indicate that some attached lines are not shown.

  ⊗E     Deposit the attached lines where displayed and Exit ATTACH mode.
	 Note:   this command has a different meaning when one is NOT in
	 the ATTACH mode (it then means EXIT from E). Don't stutter when
	 typing it. Give the system time to react.
  αβR    REPLACE the attached lines in their original location and leave
	 the ATTACH mode.
  αβK    KILL the attached lines (they go away beyond recall) and exit
	 from the ATTACH mode. Note that αK does not work (for safety).

	 If you make a practice of using the CONTROL key only, when in
	 the ATTACH mode, (when it works) you will avoid the danger of
	 accidentally killing an attachment, if you mean to hit a J or
	 an L and hit a K instead.

  ⊗C     Make a COPY of the CURRENT line and ATTACH this copy.
  ⊗5⊗C   Make a COPY of 5 lines starting with CURRENT and ATTACH these.


Relative arguments.

  Relative-argument commands add or remove lines from the end of the
  attach buffer thus:

  ⊗+⊗A    Attach 1 more line beyond those already attached.
  ⊗+⊗3⊗A  Attach 3 more lines beyond those already attached.
  ⊗-⊗A    Detach 1 line from the end of those already attached.
  ⊗-⊗2⊗A  Detach 2 lines from the end of those already attached.

  ⊗+⊗C    Copy 1 more line beyond those already attached.
  ⊗+⊗4⊗C  Copy 4 more lines beyond those already attached.
  ⊗-⊗C    Delete (kill) 1 line from the end of the attached set.
  ⊗-⊗2⊗C  Delete (kill) 2 lines from the end of the attached set.

   If the apparent position of the attached lines have been moved before
these relative-argument  commands are given then additions and deletions
are made in terms of the apparent new location. This gets a bit hairy in
the case of  deletions but it is  a very useful device  for assembling a
set of copied lines from several different places.

   Funny  but perhaps  useful  things  happen  if one  uses  a  negative
argument that is larger than the number that have been attached.! Try it.

   Note that a single attach command is only effective to the end of the
current page, and an attachment is deposited all on the same page.

   A word of  warning,  a hazard  is involved in using ⊗A  to move lines
from page  to page.  The attached lines can be lost if the system should
crash during the interval between the removal of the attached lines from
one page  and the final  updating of the  page to which  they are moved.
This hazard can be  avoided by copying  the lines rather than  attaching
them  and  then  going  back and  deleting  the  original  copy.    This
precaution is  hardly necessary for a  line or two but it  is a wise one
when you are moving large blocks of text.

   Moving lines from page to page takes time, so don't get impatient.

   This is a good place to comment on the RIPPLING report, that  you may
have noticed in the scratch-pad lines  at the bottom of the screen. This
notice  appears when a  major rearrangement of the  text between records
becomes necessary. This also takes time.

!  Try attaching the  practice lines below and move them around.  If you
get too far from home give a αβR command and you will be back.

<< This is practice line number 1.
<< This is practice line number 2.
<< This is practice line number 3.
<< This is practice line number 4.
<< This is practice line number 5.
<< This is practice line number 6.
<< This is practice line number 7.
<< This is practice line number 8.
<< This is practice line number 9.
<< This is practice line number 10.
The LINE-INSERT mode.

   While one can add text  at the bottom of a page by  simply moving the
CURRENT  marker  so  that it  appears  to  point at  the  bottom  row of
asterisks (not to dashes!),  a special mode is  used to insert lines  of
text at other points. As a matter  of fact it is usually better to enter
this special  LINE-INSERT mode if one is to type several lines even when
at the end of a page.

   When in the LINE-INSERT  mode, typing a carriage return,  inserts the
carriage return into  the text, writes the line into  the core image and
enters the LINE-EDIT mode for  the next line to  be typed. Care must  be
taken to leave the LINE-INSERT mode properly or else undesirable letters
may appear in your text.

   The fact that the editor is in the LINE-INSERT mode is signalled by a
double arrow CURRENT line marker ↔ in place of the right arrow →.




   To enter the LINE-INSERT mode:

  αβ<cr>  Enter LINE-INSERT mode, insert a blank line ahead of the text
	  at CURRENT and mark the new line with the double arrow ↔.  If
	  you are in the middle of a line, this will break the line into
	  two separate lines, with the  ↔  at the start of a blank line
	  between the two portions.
 	  This does something else, if you are already in LINE-INSERT
	    mode (see below).

   While in LINE-INSERT mode:

  <cr>    Accept the line and move the ↔ to a newly inserted blank line.

  α<cr>   Leave the LINE-INSERT mode and accept the line in question.

  αβ<cr>  Insert a blank line (if not in the middle of a line).   If you
DEL  HYPOTHETICAL
	  are in the middle of a line, this will break the line into two
	  separate lines, and  position the cursor to be ready to accept
	  text at the end of the second portion.   At the present time a
	  present time a bug in E prevents the second portion from show-
	  ing until the next <cr> has been typed, but it's there.

  α<vt>   Leave the LINE-INSERT mode but move the →  back to the line a-
	  head of the accepted line.

  <alt>   Accept the line up to the cursor but delete the rest and leave
	  the LINE-INSERT mode with the arrow pointing to the remaining
	  text or to the next line.

! Try these somewhere.

>> perhaps between here
>>    and here

! ⊗P to continue.






Pitfalls and Hazzards.

    The great power  of E lies in its  many modes.  At the  same time, E
can also  be moody if one  tries to give it certain  commands when it is
not in the appropiate mode.  It can even get into a state where  it will
not listen to reason.  In fact,  you may easily lose much of your recent
editing.   So it may be well to review some of the pitfalls and hazzards
associated with its use.  These are of two types.

    Errors of understanding.

    <cr> and <vt> are not inverse operations.

   Since  <cr> and <vt>  move CURRENT in the opposite direction  when in
NORMAL mode  one is tempted  to thing of  them as being,  in some sense,
inverse. They are not, for a number of reasons,  some having to do  with
system editor design.  These could be gotten  around by making <vt> into
an Activation character.  Many people object to this because it would do
violence to time-hallowed usages. The novice is advised to be very care-
in using all <vt> commands.

   Errors of execution.

   The J,K and L keys can be mis-struck.

   Since the kill command is potentially dangerous, particularly the αβK
command,   one should take especial care in developing sane habits.  One
precaution is to adopt the practice of never using both CONTROL and META
keys for  the J and L  commands which work  the same whether or  not the
META key is used.
   There  is,  however,  a rather  good  reason for  not  adopting  this
practice  generally  particularly  when  in  the  LINE-EDIT  mode  since
commands with  the CONTROL key  only do not  always activate immediately
and there is therefore a distinct possibility  that initial part  of the
command will  be  gobbled by  the line  editor  if it  arrives when  the
program is  swapped out. This never seems  to happen with commands using
both the CONTROL and the META key.

   D and < are on the same key.

   The delete  command is also potentially dangerous,particularly in the
αβD form and even more so when an argument is used. If one  types αβ7αβD
when  one means  α7α< the  results can  be very  unpleasent, to  say the
least.  Here again if one never forms the  habit of using αβ< but always
uses  α< then a mistake in not using the <top> key will not be nearly so
painful.
FIND commands are string searching commands.

   The search can be specified in several different ways:

   1) The search can be for an alphameric  string that is separated from
the rest  of the text by non-alphameric characters or  it may be for any
string regardless of its surroundings. Note that no distinction  is made
between upper and lower case.

   For single-page searches the commands are:

   αβFSmith<cr>   Find just plain Smith or smith but not this string in
		  in $smith, in blacksmith or in Smithsonian. Note that
		  % and _ are accepted as alphamerics.
   αFSmith<cr>    Find smith as an isolated word or as a part of a long-
		  er string (in blacksmith for example).  The string is 
		  no longer limited to alphamerics but use care because
		  there are still some bugs in E.

   Note that no space is used between the F and the start of the string.

   For multi-page search commands are:

   αβXF Smith<cr> Find a delimited string.
   αXF Smith<cr>  Find the string regardless of surroundings.

   Note that CONTROL  and META keys are not  used with the F and  that a
space is required  between the F and the string.  Commands starting with
the letter  X  are  EXTEND commands  which  permit more  than  a  single
character to be used for the command name,  hence the need for the space
to mark its end.

   2) The action  that is to be  taken on the successful  termination of
the search  is specified by the delimiter  used to terminate the string.
The <cr>, used above,   moves the → to the  found line. A repeat of  the
Find command,  if given, will start  with this same line,  but after the
found string,, so that multiple occurances of a string within a line can
be found.

   Accepted action-defining delimiters are:

   <cr>     Move CURRENT to the found line or report failure.

   α<cr>    Terminate, as with <cr>, but  move the cursor until it is
	    under the first character of the string.   Note that this
	    leaves E in the LINE-EDIT mode. A second FIND command can
	    however be given and the next occurance will be found. If
	    a FIND command is terminated with <cr>, a α<cr> will still
	    move the cursor to the string.

   ⊗J       JUMP the line with the found string to the top of the
	    window.

   αβ<cr>   Enter the LINE-INSERT mode with the ↔ at a newly inserted
	    blank line ahead of the found line.

   αP       Make the search over the directory page  and then display
	    the referenced page with the line pointer at the top line.

   αβP      Make the search over the directory page  and then display
	    the  referenced page  with the line pointer at the second
	    occurance of the referenced string  (the first will be in
	    the first line of the page).

   ⊗A       ATTACH all lines starting with CURRENT up to and including
	    the line with the specified string.
	    If used with an EXTEND command and if the string is not on
	    the windowed page, the attachment will begin at the top of
	    the top of the page on which the string is found.
	    Attachments do not cross page boundries.

   ⊗C       COPY all lines starting with CURRENT up to and including 
	    the line with the specified string.
	    See ⊗A above for restriction with an EXTEND command.

   αβD	    DELETE all lines beginning with CURRENT up to but not
	    including the line with the specified string.
	    See ⊗A above for EXTEND command restriction.
	    This is a very dangerous command so use it with caution.

   3) The search can be for the first  occurance of the specified string
or for the n'th occurance.

   ⊗3⊗Fsmith<cr>  FIND the 3rd occurance of SMITH.

   ⊗Fsmith⊗3<cr>  FIND the 3rd occurance of SMITH (alternate form).

   A string,  once specified, is sticky, that is  one need not retype the
string for a repeat of the command. The search string for a within-a-page
search is remembered independently from that for an EXTEND search.

   <alt>    Cancel both string specifications.
Margin control. JUST,JFILL and CENTER.
	(See the next page for ALINE,INDENT and JLEFT).

   The JUST  AND JFILL commands are useful for  doing left-margin,and/or
right  margin justification.  The  first line of each  new paragraph may
also be  indented with  respect to  the body  of the  paragraph.   These
commands  apply to the  ATTACH buffer when  they are given  while in the
ATTACH mode. They may be limited to a specified  number of lines or they
can apply (by default) to the entire ATTACH buffer or to the entire page.

    These commands take  two different types  of arguments,  an  initial
argument which  specifies the  number of  lines to be  handled,   and  a
following string  of numbers separated by commas to define the paragraph
indentation, the left margin, and the right margin.  Any or all of these
arguments may be omitted, if commas are used to denote omitted values in
the margin specifying string.

    The default option as to the number of lines is the full page or the
full ATTACH  buffer for the JUST  AND JFILL commands and  it is one line
for  the  CENTER  command.    The  default  options  as  to  the  margin
specifications are  originally set to  1,1,69 for paragraph  first line,
normal left  margin and right margin.  The margin default values for the
margins may be changed by "sticky" commands, as noted below. 

    JUST and JFILL recognize the first line of a paragraph either by the
fact that  the line is preceded by  a blank line or by  the fact that it
begins with a TAB (but not both).  If a TAB is used this takes precedent
over the  specified indentation, which is  used after a blank  line.  At
present  E gets confused  when it encounters  a beginning TAB  in a line
following a blank line and does  the wrong thing in that the TAB  is not
properly allowed for and the first line may not be of the proper length. 
If this happens a repeat  of the JUST or  JFILL command will delete  the
TAB and restore the line to the desired length. 

    The first line of the total text is never treated as a first line of
a paragraph. This  restriction is actually rather arbitrary and could be
changed.  It was adopted because it seems unwise to indent page headings
and one  frequently wants  to fix  up the  end of  a paragraph  with out
having  to rejustify  the entire  paragraph. One  can always  indent the
first  line of  a  new  paragraph when  a  limited  number of  lines  is
specified  by  starting the  justification  with  the  blank line  which
precedes the block. 

   The CENTER command differs  from the JUST and JFILL  commands in that
no filling  is done and in that the default  argument is one line rather
than the  entire page except  when in  the ATTACH  mode when  it is  the
entire ATTACH buffer.  It is similar  to these other commands in its use
of  the same left  and right margin  values and in its  following of the
same conventions  for the specifications  of these  margins.  Should  an
attempt be  made to  center a line  that is too  long to fit  within the
specified margins, the line is simply pushed as far left as possible.

   Margin specifications:
   
   Margin specifications may be made applicable to only a single command
with the default value unchanged, by using the  CONTROL key only, before
the X, or they may be made to alter the default values as well, by using
both the CONTROL and META keys.

   The  complete  specification  is   in  the  form  <first  line>,<left
margin>,<right margin>  However, any combination af these numbers may be
omitted  as long  as  the  necessary  commas to  prevent  ambiguity  are
included.

   To change  the paragraph indentation  alone, it is  only necessary to
type a single decimal number (of not  more than 3 digits) to specify  an
absolute position. If the number is preceded by a  plus or minus sign it
then specifies  a relative first line indentation  from the current left
margin value. A  subsequent modification to the  left margin will  alter
the paragraph indent  value so as to maintain the  same indentation from
the body of paragraph.

   To change the left  margin specification alone, it is  only necessary
to type a comma followed by the desired decimal value.  In this case the
paragraph indentation remains fixed, rather than its absolute value.  Of
course if  the paragraph margin value  is specified in the  same command
string  then this value will not  be altered, the absolute specification
in this case will over-ride the usual rule.

   To change  the right  margin alone, it  is necessary  to precede  the
decimal number by two commas.

   Typical command strings.

   ⊗XJUST<cr>	Justify the current page  (or the ATTACH buffer if in
		ATTACH mode) using the default values for the initial
		line left, regular left and right margins.
		Margins are initially set to 1,1,69.

   αXJUST +3,4,66<cr>   Justify the current page or the ATTACH buffer
		using temporary margins as specified (in this example
		to 7, 4 and to 66 respectively).

   αβXJUST ,4,66<cr>    Justify the current page or the ATTACH buffer
		using new sticky margins as specified.      These new
		values now become the default values.   The paragraph
		indentation will be left at the previously  specified
		value.

   ⊗13⊗XJUST<cr>	Justify 13 lines starting with CURRENT.   May
		be combined with margin specifications,  which may be
		may be made sticky or temporary as desired.

   ⊗XJFILL<cr>	Redistribute text between lines as if to justify, but
		but do not pad lines out with blanks. (see ⊗XJUST<cr>
		above for conditions).

   ⊗XCENTER<cr> Center the CURRENT line or first line,if in the ATTACH
		mode,  between the default values for the regular left
		and right margins.

   ⊗4A⊗XCENTER<cr>	Attach 4 lines and Center the first line only.
   ⊗4A⊗3⊗XCENTER<cr>	Attach 4 lines and Center the first three lines.

More Margin Controls, ALINE,JLEFT and INDENT. 
	(See the previous page for JUST, JFILL and CENTER). 

      These commands  preserve  the identity  of  the text  lines  while
preforming certain operations on their left margins. 

     ALINE  deletes all leading spaces and  TABs and moves the specified
lines (with the entire page or  ATTACH buffer as the default option)  so
that all  lines start at the  specified location.  Accordingly  it takes
only a  single margin specification which may be designated as sticky or
as temporary.  ALINE replaces  all interior TABs with spaces  before the
lines are  moved.  This has  the effect of preserving  the original TAB-
specified spacing thus permitting tables to be shifted right or left  by
any desired  amount without  losing alignments.   As  a safety  feature,
lines  which would extend  beyond column 120  (the capacity  of the line
editor) are only  moved as  far as  can be done  without exceeding  this
limit. The default allignment position is column 1.

     JLEFT  is not implemented at present.  The next paragraph describes
the intended implementation.
     JLEFT does  not replace interior  TABs so that  portions of a  line
beyond a  TAB will still be  at TAB boundries (although  not necessarily
the same one). This allows code to be moved to the right or left a small
amount without changing the position of the associated comment. 

   INDENT simply moves the specified number of lines (default value of 1
except when  in the ATTACH mode when it is  the entire ATTACH BUFFER) to
the right or left by the specified amount independent of  their original
starting positions.   This permits blocks  of code to be  moved right or
left while preserving their original relative indentations. INDENT takes
one differential margin specification, (to the right  or minus if to the
left) subject  to the restriction that lines  are never moved far enough
to move  off of the  allowed page  (beyond position  1 to  the left  and
position  120 to  the  right).   The  indentation  specification may  be
designated  as sticky or as temporary.   The initial default indentation
value is 4. 

Typical commands.

   ⊗XALINE<cr>	ALINE the entire page (or entire ATTACH buffer if in
		ATTACH mode)  with all lines moved to start with the
		default ALINE margin (originally set to 1).

    α4αXALINE 5<cr>      ALINE 4 lines starting with CURRENT (or with
    the start of the ATTACH buffer if in ATTACH mode)
    to a left margin starting in column 5.

       αXINDENT<cr> INDENT the CURRENT line (or the entire ATTACH buffer
		if in the ATTACH mode) by the default value  (set to
		4 initially), but do not led any line move far enough
		to be moved off the page.

         α6αXINDENT 3<cr>     INDENT 6 lines starting with CURRENT by 3,
         with this as a temporary specification only.

         αβ8⊗XINDENT 3<cr>    INDENT 8 lines starting with CURRENT by 3,
         with the new default value being set to 3.




Other EXTEND commands.
   
   Certain commands are potentially too dangerous to be safely evoked by
a single  character. There are also more  commands than can  be obtained
with single characters.  These contingencies are  handled by the  EXTEND
command specified as follows:

   ⊗X     Accept the string which follows as a command. This
	  string may be abbreviated  as long as no ambiguity
	  results.  The string must be terminated by a space
	  if parameters are required,  or  by a <cr> or some
	  other delimiter.

   The EXTEND form  of the FIND  command has already been  discribed. In
this case only a single letter needs be used,  but any partial string up
to the  complete  word FIND  is acceptable.    The ⊗XJUST  and  ⊗XJJFILL
commands described on page 11 are perhaps more typical.

   EXTEND commands.

   ⊗XFIND	see page 10 for details on FIND.

   ⊗XJUST<cr>	Justify the current page  (or the ATTACH buffer
		if in ATTACH mode) using the default values for
		the paragraph, left and right margins.  Margins
		are initially set to 1,1,69.    Elaborations on 
		this basic command are discussed on page 11.

   ⊗XDRAW<cr>	Redraw the complete screen.  Used when unwanted
		marks show on the screen from whatever cause.
		(This does the same thing as ⊗V).

   ⊗XMARK<cr>   Insert a page mark between the CURRENT line and
		the line above it and display the new page.

   ⊗XDELETE<cr> Delete the page mark between this page and the next.
		Note that using this command just after a ⊗XMARK
		command does not undo the newly inserted mark
		but it does delete the next mark.

   ⊗XCANCEL<cr> Do not write out the current page but instead 
		reread it in from the disk.

   ⊗XREADONLY<cr> If in read-write write out the current page and
		  then inhibit any further writing.

   ⊗XREADWRITE<cr> Disable the write-inhibit.

   ⊗XGO<cr>	Exit from E and repeat the last RPG command.


   ⊗XDDT<cr>	Branch to RAID if it is present. RαG returns.

   ⊗XAPPEND<cr>	Read in an additional page after the current
		one so that the two may be edited togather.
		Effect is undone by ⊗XCANCEL<cr>.
		Caution: this increases core size.

   XLINCNT<cr>	Type the number of lines in the current page.
		(Useful formatting information).

   ⊗XCLOSE<cr>	Close the file.  This allows others to read it
		if you had modified it.

   ⊗XDIRED<cr>	Same as ⊗XRSYS DIRED

   ⊗XDPYALWAYS<cr>	Always re-display text after each command.

   ⊗XDPYSKIP<cr>	Don't re-display text if there are typed-ahead
			commands to be executed.  (normal mode)

   ⊗XINSERT<cr>		Same as β<form>; insert a page mark line.

   ⊗XPPSET<cr>		Reset screen position of page printer (the three
			lines at the bottom of the screen which echo commands).

   ⊗XQUIT<cr>		Same as ⊗XCANCEL followed by ⊗E

   ⊗XRSYS PRGM<cr>	Exits and runs SYS:PRGM

   ⊗XRUN PRGM<cr>	Exits and runs DSK:PRGM

   ⊗XSNKON<cr>		Sets a mode (the normal mode) wherein whenever the
			CURRENT line is empty, E reads the next command
			character using the SNEAKW UUO rather than INCHRW;
			this speeds up the process of entering intra-line
			mode on such lines and avoids some possible
			timing errors.  Don't worry about it, you want this.

   ⊗XSNKOFF<cr>		Makes E use INCHRW always.  This switches one set of
			possible errors for another, e.g., typing β<cr>
			in the middle of a line which was initially empty
			doesn't work unless you do this.  This is due to
			bad design in the monitor.

   ⊗XTV<cr>		Starts TV editing the same file E was, in the same place.
   ⊗XTV<cr>		Starts TV editing the same file E was, in the same place.

   ⊗<n>⊗XTYPE<cr>	Types n lines starting at CURRENT and moves CURRENT
			past those lines.  Primarily useful from
			non-display terminals.
System commands to evoke E.

   Basic commands

	CETV <string><cr>
		Create a new file with the name and extension as
 		  specified by string.
		  The file will contain a directory page and one
		  blank page. E will be in the ADD-LINE mode.
	ETV <existing file name><cr>
		Enter E with the specified file. If the file has
		  but one text page, display this, otherwise
		  display the directory page.
	ETV	Reenter E with the most recently edited file and
		  display the most recently opened page (subject
		  to certain restrictions as described in the
		  Monitor Manual).	
	ETV <string1>←<string2><cr>
		Copy file named string2 into a new file named
		  string1, start E and display the text as above.
		  If the string2 file has a valid directory this
		  is executed relatively rapidly, if not a new
		  directory will have to be created. (See the note
		  below with respect to the /N switch).

	R E;<string1>←<string2><cr>
		Similar to ETV  <string1>←<string2> except for the
		  way it handles the TMPCOR files. (See the Monitor
		  Manual for this and other RPG features).

   Switches, when used, are strings beginning with a slash which are
placed immediately after the name string that they are to modify.

	/R	Open the file in the read only mode. This is useful
 		  if one wants to examine a file without any danger
		  of inadvertently modifying it.
		    example: ET TEACH.TXT[UP,DOC]/R<cr>
	/2P	Open the file displaying page 2.
	/5L	Open the file with the arrow at line 5.
		  This is not very useful by itself but see below.
	/N	No Directory. At the present time E gets into trouble
		  frequently when editing files without Directories.
		  The inexperienced user is advised to avoid this mode.
		  Hopefully this will be fixed soon.

   When two or more switches are to be used they may be put together
inside parenthesis.

		example: ET MYFILE(R4P5L)<cr>

Credits:

   Dan Swinehart wrote TV,  the original  version of the display editor,
and created  the original version of TEACH.   Fred Wright wrote the FAIL
version of  TV  (called E).   Brian  Harvey  modified TEACH  to  reflect
differences  between E  AND  TV.   Arthur Samuel  and  Brian Harvey  are
responsible  for this  version.  Address all  comments and  questions to
Samuel, who is currently trying to fix a few  of the many remaining bugs
in E.

   Disclaimer.

   An attempt has been made to present a coordinated view of E.  To this
end some simplications have  been made. The experienced user may develop
techniques that are not  described in this  manual. Any outright  errors
should, however, be called to our attention. 
   An earlier and  more complete(but perhaps less  accurate) description
of E  features is available in the TV  manual,  TVED.DCS[S,DOC], and the
file TV2E.FW[UP,DOC] which describes how E differs from TV.[YAH?]
APPENDIX A.  NORMAL-MODE commands (see page 4 and 5 for details).

   ⊗P	  Go to the next PAGE.
   ⊗-⊗P   Back up to the previous page. ! Try this and then return with ⊗P.

   ⊗+⊗7⊗P  Go foreward 7 pages if possible otherwise to the last page.
   ⊗-⊗3⊗P  Go backward 3 pages if possible otherwise to the first page.

   ⊗7⊗P   Go to page 7.

   ⊗W     Advance the WINDOW, that is, move the last line to the top.
           If there is less than a windowful left, only move the window
           enough to see to the end. (You know this).
   ⊗L     Move the window up so that the first line becomes the LAST. This
           is the reverse of ⊗W.

   <cr>   Move the "Current line" pointer down a line.

   ⊗>     Move the pointer down 1/4 screen.
   ⊗≥     Move the pointer down 1/2 screen.

   <vt>   Move the "Current line"pointer up a line.
   ⊗<     Move the pointer up 1/4 screen. (Be sure to depress the <top> key).
   ⊗≤     move the pointer up 1/2 screen.

   ⊗T     Move the pointer up to the TOP line, adjusting the window to show
           a few lines above this if possible.
   ⊗B     Move the pointer to the BOTTOM line, adjusting the window to show
           a few more lines if possible.

   ⊗J     Move (JUMP) the window so that the CURRENT line is at the top.

   αβD     DELETE the entire CURRENT line.

   ⊗Q	  Insert a copy of the line just above CURRENT and open it
	    for editing (i.e. enter LINE-EDIT mode).

 <form>   Do a ⊗W if there is more material on this page, otherwise a ⊗P.

   ⊗.	  Write the windowed page (as corrected) into the disk file.
   ⊗E	  DO a ⊗. and then EXIT to the system monitor.

APPENDIX B   LINE-EDIT commands (see page 6  for details).

  α<space>   Move the cursor to the right 1 space.
  α4α<space> Move the cursor 4 spaces to the right.
  α<bs>      Move the cursor to the left 1 space.
  α5α<bs>    Move the cursor 5 spaces to the left.
  α<form>    Move the cursor to the start of the line.
  α<tab>     Move the cursor to the end of the line.

  αS then <char>    move the cursor to the first occurance of <char>.
  α3αS then <char>  move the cursor to the 3rd occurance of <char>

  αD         DELETE a character and move the rest of the line to the left.
               If at the end of the line, this will delete the <cr>.
		Caution: don't try to join two long lines.
  <bs>       BACK SPACE (at the end of the line or when a wrong character
               has just been typed).
  β<bs>      Delete the character to the left of the cursor position.
		
  β<char>    Make room and insert <char> ahead of the cursor position.
  β<cr>      Insert a carriage return and stay in LINE-EDIT mode.
  β<vt>      DON'T, at least not until you know better.

  αI         Enter INSERT mode (like holding META down continuously).
                Everything that you type including carriage returns but
                excepting α,β or ⊗ commands will appear as text.

             Any LINE-EDIT command will cause one to leave the INSERT
                mode. The safest command under these conditions is α<space>.

  <cr>       Leave LINE-EDIT mode, accept the line and move CURRENT down.
  α<cr>      Leave LINE-EDIT mode, accept the line, do not advance CURRENT.
  α<vt>      Leave LINE-EDIT mode, accept the line and move current up.

  <alt>      Restore the line to it original condition and leave LINE-EDIT.

  ⊗<vt>      Accept the line and back CURRENT up a line.
  ⊗↑         Accept the line, then back to the end of the previous line.
  ⊗↓         Accept the line, then goes to the end of the next line.
APPENDIX C   LINE-INSERT commands (see page 8 for details).

To enter the LINE-INSERT mode:

  αβ<cr>   Enter LINE-INSERT mode, insert a blank line ahead of the text
	    at CURRENT and mark the new line with the double arrow ↔.
	  If you are in the middle of a line, this will break the line
	    into two separate lines and position the cursor to be ready
	    to accept text at the end of the second portion. At the
	    present time a bug in E prevents the second portion from
	    showing until the next <cr> has been typed, but it's there.
 	  This does something else, if you are in LINE-INSERT mode.

While in LINE-INSERT mode:

  <cr>    Accept the line and move the ↔ to newly inserted blank line.

  α<cr>   Leave the LINE-INSERT mode and accept the line in question.

  αβ<cr>   Insert a blank line (if not in the middle of a line).
	    If you are in the middle of a line, this will break the line
	    into two separate lines and position the cursor to be ready
	    to accept text at the end of the second portion. At the
	    present time a bug in E prevents the second portion from
	    showing until the next <cr> has been typed, but it's there.

  <vt>    Don't. This writes an integral sign on the screen but puts a
	    vertical tab symbol in the text which can do funny things.

  α<vt>   Leave the LINE-INSERT mode and accept the line but move the →
	    back to the line ahead of the accepted line.

  αβ<vt>   Don't.
	    If you are in the middle of a line, this will split the line
	    into two portions and cause the second portion to overwrite
	    the text in the line ahead of the one being edited.

  <alt>   Accept the line up to the cursor but delete the rest and leave
	    the LINE-INSERT mode with the arrow pointing to the remaining
	    text or to the next line.
APPENDIX D   ATTACH and COPY commands (see page 7 for details).

  ⊗A     ATTACH the CURRENT line and change the "→" to a "|".
  ⊗3⊗A   ATTACH 3 lines starting with CURRENT aand mark these with  "|'s".
	   If a number greater than 8 is used (for the 3 as in the example)
           only the first 4 and the last 3 lines are shown. A row of dots
           is used to indicate that some attached lines are not shown.

  ⊗E     Deposit the attached lines as positioned and EXIT from the mode.
           Note that this command has a different meaning when one is NOT
           in the ATTACH mode (it then means EXIT editing). Don't stutter
           when typing it. Give the system time to react.
  ⊗R     REPLACE the attached lines in their original location and leave
           the ATTACH mode.
  ⊗K     KILL the attached lines (they go away beyond recall) and exit
           from the ATTACH mode.

  ⊗C     Make a COPY of the CURRENT line and ATTACH this copy.
  ⊗5⊗C   Make a COPY of 5 lines starting with CURRENT and ATTACH these.

Relative arguments.

  ⊗+⊗A    Attach 1 more line beyond those already attached.
  ⊗+⊗3⊗A  Attach 3 more lines beyond those already attached.
  ⊗-⊗A    Detach 1 line from the end of those already attached.
  ⊗-⊗2⊗A  Detach 2 lines from the end of those already attached.

  ⊗+⊗C    Copy 1 more line beyond those already copied.
  ⊗+⊗4⊗C  Copy 4 more lines beyond those already copied.
  ⊗-⊗C    Remove 1 line from the end of the copied set.
  ⊗-⊗2⊗C  Remove 2 lines from the end of the copied set.
APPENDIX E   EXTEND commands (see page 12 for details).

	αβXFIND	  see APPENDIX F.
	αXFIND	  see APPENDIX F.

	⊗XDRAW<cr>   Redraw the complete screen. Used when glitches
		       show on the screen from whatever cause.

	⊗XMARK<cr>   Insert a page mark between the CURRENT line and
		       the line above it and display the new page.

	⊗XDELETE<cr>   Delete the page mark between this page and the next.
		         Note that using this command just after a ⊗XMARK
		         command does not undo the newly inserted mark
		         but it does delete the next mark.

	⊗XCANCEL<cr>   Do not write out the current page but instead 
		         reread it in from the disk.

	⊗XREADONLY<cr> If in read-write write out the current page and
		         then inhibit any further writing.

	⊗XREADWRITE<cr> Disable the write-inhibit.

	⊗XJFILL<cr>	Redistribute text between lines as if to
			  justify but do not pad lines with blanks.
			  (see ⊗XJUST<cr> below for conditions).

	⊗XJUST<cr>	Justify the current page (to 69 characters).
			If in ATTACH mode justify the attached lines.

	⊗XJUST⊗13<cr>	Justify 13 lines starting with CURRENT.

	XLINCNT<cr>	Type the number of lines in the current page.
			  (Useful formatting information).

	⊗XAPPEND<cr>	Read in an additional page after the current
			  one so that the two may be edited togather.
			  Effect is undone by ⊗XCANCEL<cr>.
			  Caution: this increases core size.

	⊗XCLOSE<cr>	Close the file.  This allows others to read it
			  if you had modified it.

	⊗XDIRED<cr>	Same as ⊗XRSYS DIRED

	⊗XDPYALWAYS<cr>	Always re-display text after each command.

	⊗XDPYSKIP<cr>	Don't re-display text if there are typed-ahead
			  commands to be executed.  (normal mode)

	⊗XINSERT<cr>	Same as β<form>; insert a page mark line.

	⊗XPPSET<cr>	Reset screen position of page printer (the three
			  lines at the bottom of the screen which echo commands).

	⊗XQUIT<cr>	Same as ⊗XCANCEL followed by ⊗E

	⊗XRSYS PRGM<cr>	Exits and runs SYS:PRGM

	⊗XRUN PRGM<cr>	Exits and runs DSK:PRGM

	⊗XSNKON<cr>	Sets a mode (the normal mode) wherein whenever the
			  CURRENT line is empty, E reads the next command
			  character using the SNEAKW UUO rather than INCHRW;
			  this speeds up the process of entering intra-line
			  mode on such lines and avoids some possible
			  timing errors.  Don't worry about it, you want this.

	⊗XSNKOFF<cr>	Makes E use INCHRW always.  This switches one set of
			  possible errors for another, e.g., typing β<cr>
			  in the middle of a line which was initially empty
			  doesn't work unless you do this.  This is due to
			  bad design in the monitor.

	⊗XTV<cr>	Starts TV editing the same file E was, in the same place.

	⊗<n>⊗XTYPE<cr>	Types n lines starting at CURRENT and moves CURRENT
			  past those lines.  Primarily useful from
			  non-display terminals.
APPENDIX F   FIND commands (see page 10 for details).

  single page finds

	αβFSmith<cr>   Find Smith or smith but not this string in
	  blacksmith or in Smithsonian.
	αFSmith<cr>   Find smith as an isolated word or as a
	  part of a longer string (in blacksmith for example).
	  The string is no longer limited to alphamerics but
	  use care because there are still some bugs in E.

	⊗3⊗Fsmith<cr>	FIND the 3rd occurance of SMITH.
			  (or with α as above)
	⊗Fsmith⊗3<cr>	FIND the 3rd occurance of SMITH (alternate form).
			  (or with α as above)

  Multi-page finds

	αβXF Smith<cr>   for a delimited string, and

	αXF Smith<cr>   for the string regardless of surroundings.

  Accepted action-defining delimiters are:

	<cr>	  Move CURRENT to the found line or report failure.

	α<cr>	  Terminate as with <cr> but move the cursor until it
		    is under the first character of the string.
		  Note that this leaves E in the LINE-EDIT mode. A
		    second FIND command can however be given and the
		    next occurance will be found.
		  If a FIND command is terminated with <cr>, an α<cr>
		    will still move the cursor to the string.

	⊗J	  JUMP the line with the found string to the top of the
		    window.

	αβ<cr>	  Enter the LINE-INSERT mode with the ↔ at an inserted
		    blank line ahead of the found line.

	⊗P	  Make the search over the directory PAGE and then display
		    the referenced page.

	⊗A	  Attach all lines starting with CURRENT up to and including
		    the line with the specified string.
		  If used with an EXTEND command and if the string is not
		    on the windowed page, the attachment will begin at
		    the top of the page on which the string is found.
		  Attachments do not cross page bountries.

	⊗C	  COPY all lines starting with CURRENT up to and including
		    the line with the specified string.
		  See ⊗A above for restriction with an EXTEND command.

	αβD	  DELETE all lines beginning with CURRENT up to but not
		    including the line with the specified string.
		  See ⊗A above for EXTEND command restriction.
		  This is a very dangerous command so use it with caution.