\section{Insertion Commands}
\label{Insertion Commands}

     Table~\ref{Text Insertion Commands} lists  all  of  the  text  
	insertion  commands.   These
     commands  cause the string of characters specified in the command
     to be inserted into the text buffer at the  current  position  of
     the buffer pointer.  Following execution of an insertion command,
     the  pointer  will  be  positioned  immediately  after  the  last
     character of the insertion.

     The length of an insertion command is limited  primarily  by  the
     amount  of  memory  available for command string storage.  During
     normal editing jobs, it is most convenient to limit insertions to
     about 10 or 15 lines each.  When command string space is about to
     run out, TECO will ring the terminal's bell after each  character
     that  is  typed.   From the time you hear the first warning bell,
     you have 10 characters to type in order to clean up your  command
     line.   Attempting  to enter too many characters into the current
     command string causes unpredictible results to occur  and  should
     be  avoided.  Use the \fbox{DELETE} key to shorten the command to permit
     its termination.

     As explained above in Chapter~\ref{Command String Editing}, certain 
	characters are  filtered
     out by the operating system and/or may perform special functions,
     and some  characters  are  immediate  action  commands  and  have
     special  effect.   If you want to insert such characters into the
     text buffer, use the  {\tt nI}\escape  command  described  in  the  
	following
     table.   It  will  insert  any  ASCII  character into the buffer,
     including the special characters that  could  not  ordinarily  be
     typed at a terminal.

\begin{table}[h]
\caption{\bf{Text Insertion Commands}}
\label{Text Insertion Commands}
\end{table}
\nopagebreak

\begin{list}{}{\labelsep 20pt}

     \item [{\tt Itext}\escape ]    Where {\tt text} is a string of ASCII characters terminated
               by  a  {\tt <DELIM>}.   The  specified text string is entered
               into the buffer at the current position of the pointer,
               with  the pointer positioned immediately after the last
               character of the insertion.

     \item [{\tt nI}\escape ]       This form of the {\tt I}
	 command inserts the single character
               whose  ASCII  code  is {\tt n} into the buffer at the current
               position of the buffer pointer.  ({\tt n} is taken modulo 256
               in  TECO-11, modulo 128 in other TECOs.) {\tt nI}\escape 
		is used to
               insert characters that are not available on the  user's
               terminal or special characters such as {\tt <DELETE>} which may
               not be inserted from a terminal  with  the  standard  {\tt I}
               command.

     \item [{\tt @I/text/}]  Equivalent to the {\tt I} command 
	except that the text to  be
               inserted  may  contain ESCAPE characters.  A delimiting
               character (shown as a  slash  here)  must  precede  and
               follow the text to be inserted, as described in 
		Section~\ref{Command delimiters} above.

     \item [{\tt n@I//}]     Equivalent to the {\tt nI}\escape 
	command, but does not require the
               {\tt <DELIM>} character.

     \item [{\tt <TAB>text}\escape ] This command is equivalent to  
	the  {\tt I}  command  except
               that  the  {\tt <TAB>}  is part of the text which is inserted
               into the buffer.

\ifnotintecoeight
     \item [{\tt FRtext}\escape ]   Equivalent to {\tt -nDItext}\escape , 
	where {\tt n} is  obtained  from
               the  most  recent occurrence of the following:  (a) the
               length of the most recent string found by a  successful
               search  command, (b) the length of the most recent text
               string inserted (including insertions from the {\tt FS},
		  {\tt FN},
               or  {\tt FR}  commands),  or  (c)  the  length  of the string
               retrieved by the most recent {\tt G} command.   In  effect,
               the  last  string  inserted  or  found is replaced with
               {\tt text}, provided that the pointer has not  been  moved.
               After  execution of this command, the buffer pointer is
               positioned immediately after {\tt text}.
               {\em [Not in TECO-8]}
\fi

     \item [{\tt @FR/text/}] Equivalent to {\tt FRtext}\escape , except 
	that {\tt text} may contain
               ESCAPE characters.
               {\em [Not in TECO-8]}

\iftecoelevenonly
     \item [{\tt nFRtext}\escape ]  Equivalent  to  {\tt nDItext}\escape .   
	If  {\tt n}  is  less  than  0,
               characters preceding the buffer pointer are deleted and
               replaced  with  {\tt text}.   If  {\tt n}  is  greater  than   0,
               characters following the buffer pointer are deleted and
               replaced with  {\tt text}.   In  either  case,  the  buffer
               pointer  is  left  positioned  immediately after {\tt text}
               upon completion of this command.
               {\em [TECO-11 only]}

     \item [{\tt n@FR/text/}] Equivalent  to  {\tt nFRtext}\escape ,  
	except  that  {\tt text}  may
               contain ESCAPE characters.
               {\em [TECO-11 only]}

     \item [{\tt m,nFRtext}\escape ] Equivalent to {\tt m,nDItext}\escape .   
	The  characters  between
               buffer  positions m and {\tt n} are deleted and replaced with
               {\tt text}.   The  buffer  pointer   is   left   positioned
               immediately   after  {\tt text}  upon  completion  of  this
               command.
               {\em [TECO-11 only]}

     \item [{\tt m,n@FR/text/}] Equivalent to {\tt m,nFRtext}\escape , 
	except that  {\tt text}  may
               contain ESCAPE characters.
               {\em [TECO-11 only]}
\fi
\end{list}
