\documentstyle[11pt,twoside,texindex]{article}
\def\iotabar{\mathord{\hbox{\lower .37ex\hbox{\rm\char'40}\hbox to
        0em{\hss$\iota$\hss}\lower .03ex\hbox{\rm\char'40}}}}
\setcounter{secnumdepth}{1}
\renewcommand{\labelitemi}{\bf --}
\renewcommand{\labelitemii}{$\triangleright$}
\newcommand{\ext}{\ddag}
\makeindex
\begin{document}
\pagestyle{empty}
\begin{titlepage}
 \vskip 1em              % Vertical space before date.
 \begin{flushright}
  September 1, 1987
 \end{flushright}
 \vskip 2em                 % Vertical space above title.
\begin{center}
{\LARGE\bf Reference Manual for the VAX Text} \\[2ex]
{\LARGE\bf Editor EVEX}
\end{center}
\vspace{2ex}
EVEX (EVE--Extended) is an extension of the VAX text editor EVE.
This document describes the editing commands of EVEX.
Commands which are extensions of EVE are marked with a ``\ddag''.
Unmarked command descriptions are from the EVE HELP Library as supplied by DEC.
The commands SEARCH, LIST [ALL] BUFFERS, SORT BUFFERS, and DISPLAY CHARACTER
are taken from EVEPLUS, an informal DEC extension to EVE.
Information on setup, use, and features of EVEX is available through the
VMS HELP facility on the Fusion Energy Division (FED) VAX cluster
or in the file \verb|evex_help.hlp| which is part of the external distribution.
The extensions in EVEX were written by Herb Howe of FED and
comments and suggestions may be sent to him by VMS MAIL or at HOWE@ORN
on the MFE network.
\end{titlepage}

\newpage
\mbox{ }
\newpage
\pagestyle{headings}
\pagenumbering{roman}
\tableofcontents

\cleardoublepage
\section{Cursor--Positioning Commands}\index{Commands;cursor--positioning}
\pagenumbering{arabic}
\subsection{Bottom}\index{Bottom}
Moves the cursor to the end of the current buffer.

\subsection{End Of Line}\index{End Of Line}
Moves the cursor to the end of the current line.  A message is
displayed if you are already at the end of the line.

\subsection{End Of Word \ext}\index{End Of Word}
Move cursor to next end of word in forward direction.

\subsection{Find}\index{Find}
 Searches for an occurrence of a string.  Press the FIND key and
 then enter the string from the main keyboard.  End the string by
 pressing the RETURN key.  To search for the previously specified
 string, press the FIND key twice.  You can also press the FIND
 key, and then press the UP ARROW key to edit the specified search
 string.

 FIND is case--insensitive if the string contains only lowercase
 letters; it is case--sensitive if the string contains any uppercase
 letters.

 The direction of the search (Forward or Reverse) is determined by
 the current direction of the buffer, as shown in the status line
 at the bottom of the buffer.  If the string can be found only by
 searching in the opposite direction, EVE asks you if you want to
 move the cursor in that direction.

\subsection{Go To}\index{Go To}
 Moves the cursor to the previously marked text (see MARK).  For
 example, 
\begin{verbatim}
  go to glossary 
\end{verbatim}
 moves the cursor to the position that was named {\tt glossary} by an
 earlier MARK command.  Mark names may be abbreviated.

 If the new position is not in the current buffer, the cursor still
 moves to the new position.  A new buffer is mapped to the current
 window if necessary.

 The SHOW command displays the names of all the marks in each
 buffer.  Mark names are case--insensitive.

\subsection{Half Left \ext}\index{Half Left}
Shifts or moves the window horizontally to the left by half a screen
width (40 columns).  Invoked with GOLD--LEFT ARROW, this command allows
you to view characters located to the left of the current screen
width.  You can use GOLD--LEFT ARROW to reverse the results of
GOLD--RIGHT ARROW. You can use the SHOW command to see the number of
columns that the current window is shifted. 

\subsection{Half Right \ext}\index{Half Right}
Shifts or moves the window horizontally to the right by half a screen
width (40 columns).  Invoked with GOLD--RIGHT ARROW, this command
allows you to see beyond the width of the screen.  For example,
suppose that you are editing a file with lines 120 characters long.
You can use GOLD--RIGHT ARROW
to see the characters in columns 41 through 120.  You can use the SHOW
command to see the number of columns that the current window is
shifted. 

\subsection{Line}\index{Line}
 Moves the cursor to the start of a particular line in the current
 buffer.  For example, 
\begin{verbatim}
  line 42
\end{verbatim}
 will move the cursor to the beginning of line 42.

\subsection{Mark}\index{Mark}
 Adds bookmarks to your current editing session.  MARK adds a
 bookmark at the current cursor position.  The mark is a character
 or word which names the position.  You can come back to a marked
 position by using the GO TO command.  This command is useful if
 you are editing a large file and want to go back to a particular
 section; it avoids searching throughout the file.
 For example, 
\begin{verbatim}
  mark glossary
\end{verbatim}
 adds a mark called {\tt glossary} at the current cursor position.  You
 can return to this position later by using typing
\begin{verbatim}
  go to glossary
\end{verbatim}

\subsection{Move By Line}\index{Move By Line}
 Moves the cursor to the start or end of the current line,
 depending on the current direction displayed in the status line.

 If the current direction is Forward, MOVE BY LINE moves the cursor
 to the end of the current line.  If the cursor is already at the
 end of a line, MOVE BY LINE moves to the end of the next line.

 If the current direction is Reverse, MOVE BY LINE moves the cursor
 to the start of the current line.  If the cursor is already at the
 start of a line, MOVE BY LINE moves to the start of the previous
 line.

\subsection{Move By Word}\index{Move By Word}
 If the current direction is Forward, moves to the start of the
 next word.  If the current direction is Reverse, moves to the
 start of the current word.  If already at the start of a word,
 moves to the start of the previous word.

\subsection{Move Down}\index{Move Down}
 Moves the cursor down one line on the screen.  If the cursor is on
 the last line of a window, scrolls the window forward one line.
 The DOWN ARROW key invokes this command.

\subsection{Move Left}\index{Move Left}
 Moves the cursor left one column on the screen.  If the cursor is
 on the first column on the screen, it remains at that column; it
 does not wrap to the previous line or shift the window.
 The LEFT ARROW key invokes this command.

\subsection{Move Right}\index{Move Right}
 Moves the cursor right one column on the screen.  If the cursor is
 on the last column on the screen, it remains at that column; it
 does not wrap to the previous line or shift the window.
 The RIGHT ARROW key invokes this command.

\subsection{Move Up}\index{Move Up}
 Moves the cursor up one line on the screen.  If the cursor is on
 the first line of a window, scrolls the window backward one line.
 The UP ARROW key invokes this command.

\subsection{Next Screen}\index{Next Screen}
 Moves the cursor vertically through the file, a screenful of text
 at a time.  The cursor moves forward, filling your screen with the
 following lines of information.  You can continue using NEXT
 SCREEN until you reach the end of the file.

\subsection{Pdelete Mark \ext}\index{Pdelete Mark}
Deletes the position mark without returning to it if mark is set.
Sets {\tt P=N} in status line.  No action if mark is not set.

\subsection{Pset Mark \ext}\index{Pset Mark}
Toggle between setting and returning to a position marker.  The character
marked is highlighted in reverse video as long as the mark is set.

First PSET MARK sets mark at current cursor position.  {\tt P=Y} appears in the
status line as long as the mark is set.

Second PSET MARK returns the cursor to the mark from any other position
in any buffer and deletes the mark.  Sets {\tt P=N} in status line.

\subsection{Previous Screen}\index{Previous Screen}
 Moves the cursor vertically through the file, a screenful of text
 at a time.  The cursor moves backward, filling your screen with
 the previously entered lines of information.  You can continue
 using PREVIOUS SCREEN until the first line of the file is
 displayed on the screen.

\subsection{Search \ext}\index{Search}
SEARCH is the FIND command with the following wildcards:
\begin{center}
\begin{tabular}{ccl}
ASCII & SYMBOL & MEANING \\
171 & $\langle\!\langle$ & beginning of line \\
187 & $\rangle\!\rangle$ & end of line \\
    & \% & single--character wildcard \\
    & * & multi--character wildcard \\
163 & \pounds & next character is literal
\end{tabular}
\end{center}

A constrained search is also allowed if one of the following 
special characters is the
first character on the line before the search string:
\begin{center}
\begin{tabular}{ccl}
ASCII & SYMBOL & MEANING \\
168 & x & string is a Fortran variable \\
167 & \S & string is a word \\
182 & \P & string is a VAXTPU pattern
\end{tabular}
\end{center}

The ASCII number refers to the decimal representation of the wildcard 
character;  the character under SYMBOL is the DEC representation and
may be different for non-DEC terminals.  On DEC terminals, the special
characters are entered with the COMPOSE key.

\subsection{Scroll Windows \ext}\index{Scroll Windows}
When two windows are displayed, scrolls each window once in the direction
set for the window containing the cursor.  The position of the cursor
remains unchanged.

When one window is displayed, scrolls the window once in the direction
set for the window.

\subsection{Shift Left}\index{Shift Left}
 Shifts or moves the window horizontally to the left by the number
 of columns you specify.  SHIFT LEFT allows you to view characters
 located to the left of the current screen width.  You can use
 SHIFT LEFT to reverse the results of a SHIFT RIGHT command.  For
 example, if the current window is shifted right by 15 characters,
\begin{verbatim}
  shift left 15
\end{verbatim}
 will restore the window to its unshifted state.  You can use the
 SHOW command to see the number of columns that the current window
 is shifted.

\subsection{Shift Right}\index{Shift Right}
 SHIFT RIGHT shifts or moves the window horizontally to the right
 by the number of columns you specify.  You can use SHIFT RIGHT to
 see beyond the width of the screen.  For example, suppose that you
 are editing a file with lines 160 characters long, and you have
 SET WIDTH to 132.  You can use
\begin{verbatim}
  shift right 28
\end{verbatim}
 to see the characters in columns 29 through 160.  You can use the
 SHOW command to see the number of columns that the current window
 is shifted.

\subsection{Shift Window \ext}\index{Shift Window}
Shift window horizontally by given number of columns (positive to shift
right, negative to shift left).

\subsection{Start Of Line}\index{Start Of Line}
 Moves the cursor to the start of the current line.  A message is
 displayed if you are already at the start of the line.

\subsection{Top}\index{Top}
 Moves the cursor to the beginning of the current buffer.

\subsection{Window Top \ext}\index{Window Top}
Move cursor vertically to the top line of the current window.
The horizontal position of the cursor is unchanged.

\subsection{Window Bottom \ext}\index{Window Bottom}
Move cursor vertically to the bottom line of the current window.
The horizontal position of the cursor is unchanged.

\section{Text--Manipulation Commands}\index{Commands;text--manipulation}

\subsection{Ascii Character \ext}\index{Ascii Character}
Insert an Ascii character, given the decimal Ascii equivalent.  The decimal
Ascii equivalent may be entered on the command line;  otherwise, a prompt
is issued.  For example, \verb|DO ascii 116| puts the letter ``{\tt  t}''
into the buffer.

\subsection{Block \ext}\index{Block}
Cut and paste a block of text defined by the corners of the block.
Press CTRL/B and then the appropriate option keys:
\begin{tabbing}
Options: \\
(1) \= mark \= current cursor position as upper--left corner of text block \\
(2) \> mark current cursor position as lower--right corner of text block \\
(c)ut \= the marked text block to a storage buffer and \\
     \> (c)opy the text and also leave it in the editing buffer \\
     \> (r)emove the text from the editing buffer \\
     \> (b)lank out the text block with spaces \\
(p)aste the block from the storage buffer into the editing buffer with \\
\>\>   left--upper corner of the block at the current cursor position in \\
     \> (i)nsert mode \\
     \> (o)verstrike mode \\
(u)ndo the previous overstrike--paste \\
(m)ove a marked block with a cut--blank followed by a paste--overstrike 
\end{tabbing}

BLOCK will not work on files containing tabs.  Convert tabs
with the command TABS TO SPACES before doing block transfers.

For example, the following commands would be used to cut a block of text
without removing it from the editing buffer and then paste the block into
another part of the buffer while moving existing text to the right of the
inserted block of text:
\begin{enumerate}
  \item Position the cursor at the upper--left corner of the text block
and mark this corner by typing
\begin{verbatim}
  CTRL/B 1
\end{verbatim}
  \item Position the cursor at the lower--right corner of the text block
and mark this corner by typing
\begin{verbatim}
  CTRL/B 2
\end{verbatim}
  \item Copy the marked block of text to a storage buffer by typing
\begin{verbatim}
  CTRL/B c c
\end{verbatim}
  \item Position the cursor at the place where the upper--left corner of
the text block is to be inserted into the buffer and type
\begin{verbatim}
  CTRL/B p i
\end{verbatim}
\end{enumerate}
Notice that all commands are invoked immediately;  
a RETURN should not be entered after the command.
BLOCK may also be invoked from the command line with the arguements separated
by spaces.

\subsection{Capitalize Word}\index{Capitalize Word}
 Capitalizes the current word by making the first letter uppercase
 and the remaining letters lowercase.  The cursor moves to the end
 of the current word.

 If the current cursor position is between words, CAPITALIZE WORD
 capitalizes the word to the right of the cursor.

\subsection{Center Line}\index{Center Line}
 Centers the current line between the left and right margins.  You
 may place the cursor anywhere on the line to be centered before
 using CENTER LINE.

\subsection{Change Case \ext}\index{Change Case}
 Change the case of the text in the select range.  Prompts for all upper,
 all lower, or invert (change all lower to upper and vice versa).

 If no select range is active, inverts the case of the character
 under the cursor.

\subsection{Copy \ext}\index{Copy}
 Copy the select range to the paste buffer without deleting it
 from the editing buffer.

\subsection{Delete}\index{Delete}
 Deletes the character preceding the cursor.  In Insert mode, the
 rest of the the line moves left one space to close up the space.
 In Overstrike mode, the character preceding the cursor is replaced
 by a space; the rest of the line remains in the same place on the
 screen.

 When the cursor is at the start of a line, the Return at the end
 of the previous line is deleted.  The text on the current line is
 moved to the right of the text in the line above.

\subsection{Duplicate \ext}\index{Duplicate}
 Duplicate the line containing the cursor above the line containing
 the cursor.

\subsection{Erase Character}\index{Erase Character}
 Erases the character at the current cursor position.  In Insert
 mode, the rest of the the line moves left one space to close up
 the space.  In Overstrike mode, the character at the cursor
 position is replaced by a space; the rest of the line remains in
 the same place on the screen.

 When the cursor is at the end of a line, the Return at the end of
 that line is deleted.  The text on the next line is moved to the
 right of the text in the current line.

\subsection{Erase End of Line \ext}\index{Erase End of Line}
 Erases all characters on the current line from the cursor to the
 end of the line, including the character under the cursor.  You can 
 reinsert the erased portion of the line into a buffer with 
 the RESTORE command.

\subsection{Erase Line}\index{Erase Line}
 Erases from the current cursor position to the end of the current
 line, appending the next line to the current line.  You can
 reinsert the erased line into a buffer with the RESTORE command.

\subsection{Erase Previous Word}\index{Erase Previous Word}
 Erases the word the cursor is on, and moves the cursor to the
 start of the next word.  If the cursor is at the beginning of a
 word or is between words, then the previous word is erased and the
 cursor remains in the same position.  If the cursor is at the
 start of a line, the current line will be appended to the previous
 line.  You can reinsert the erased word into a buffer with the
 RESTORE command.

\subsection{Erase Start Of Line}\index{Erase Start Of Line}
 Erases all characters on the current line which precede the
 current cursor position.  You can reinsert the erased portion of
 the line into a buffer with the RESTORE command.

\subsection{Erase Word}\index{Erase Word}
 Erases the current word and moves the cursor to the start of the
 next word.  If the cursor is between words, then the next word is
 erased.  If the cursor is at the end of a line, the next line will
 be appended to the current line.  The erased word can be inserted
 back into a buffer by using the RESTORE command.

\subsection{Fill Paragraph}\index{Fill Paragraph}
 Reformats the current paragraph so the text fits between the left
 and right margins.  The cursor moves to the end of the current
 paragraph.

 EVE recognizes both blank lines and RUNOFF (Digital's standard
 text formatting program) command lines as paragraph boundaries.
 You can place the cursor anywhere in the current paragraph before
 using the FILL PARAGRAPH command.

\subsection{Insert Here}\index{Insert Here}
 Use INSERT HERE to move and copy text.  To copy text, press the
 INSERT HERE key immediately after hitting the REMOVE key.  This
 will put the text back in its original position.  Then move the
 cursor to the place where you want the text inserted, and press
 INSERT HERE again to make another copy of the text.

 To move text from one place to another, press the INSERT HERE key
 only after you have moved the cursor to the new position.

 When you use INSERT HERE, the text is inserted regardless of
 whether the buffer is in Insert or Overstrike mode.

\subsection{Linefeed}\index{Linefeed}
Simulates the action of the LINEFEED key in DCL command--line editing.
Erases from the current cursor position back to a blank or to any of a 
set of selected punctuation characters.  The character under the cursor
is not erased.  The erase action is confined to the current line.  The 
erased text may be inserted back into the buffer by using the RESTORE 
command.

If the character to the left of the cursor is one of \verb|[{<@#)/*| then
LINEFEED erases the character.  Otherwise, LINEFEED erases the
preceeding character and then erases back to any text character which is
preceeded by either a space, a tab or 
one of the punctuation characters \verb~[]<>(){}.,;:'`"\|/?!@#$&*-=+~  where 
the space, tab or punctuation character
is not erased.  Note that underscore (\verb|_|) is not treated as a punctuation
character.

Unlike DCL--linefeed, asterisk (\verb|*|)
is treated as a punctuation character by LINEFEED.  This facilitates use
of LINEFEED for erasing parts of a line in a Fortran file. 

\subsection{Lowercase Word}\index{Lowercase Word}
 Makes the letters of the current word all lower case.  The cursor
 moves to the end of the current word.  If the current cursor
 position is between words, LOWERCASE WORD changes the word to the
 right of the cursor.

\subsection{Modify \ext}\index{Modify}
                        \index{Fortran--Specific;Modify}
Perform one of several modifications to all lines within a select range.
Choices (on command line or in response to prompt) are:
\begin{itemize}
\item (c)omment:  Add the letter ``\verb|c|'' to the first column of each 
     line (Fortran).
\item (!):  Add the symbol ``\verb|!|'' to the first column of each line (DCL).
\item (\%):  Add the symbol ``\verb|%|'' to the first column of each line (TeX).
\item (u)ncomment:  Remove the character ``\verb|c|'', ``\verb|C|'', 
   ``\verb|!|'', or ``\verb|%|'' from first column
\item (s)hift:  Shift the statement field horizontally by a given number of
  columns in a Fortran file.  Routine will prompt for number of columns to shift.
 \begin{itemize}
 \item No shift is performed on a select range containing ASCII tabs.
 \item Shift is accomplished by adding or deleting blanks starting from
  column 7;  all lines are shifted by the same number of columns.
 \item Comment lines are not shifted.
 \item For negative shifts (to the left), no lines are allowed to shift into
  the label--continuation field (columns 1--6) thus the actual shift may
  be less than specified by the user.
 \item For positive shifts (to the right), a message indicates how many lines
  have been shifted beyond column 72.
 \end{itemize}
\item (f)ill:  Fill the select range.
\end{itemize}

\subsection{Open Line \ext}\index{Open Line}
Split the current line after the cursor and put the remainder of the line
on the next, new line.  The cursor position remains unchanged.  If the
cursor is at the beginning of the line, this opens a new line above the
line containing the cursor and positions the cursor at the beginning of
the new line.

\subsection{Quote}\index{Quote}
 Allows you to add a character, such as a form feed and other
 control characters to the buffer.  It also allows you to add
 graphic characters, such as letters and punctuation marks, that
 are bound or programmed to other keys.  You can also use the QUOTE
 command to include special characters within commands.

 EVE will prompt you for the key to be inserted.  Pressing CTRL/L,
 for example, enters a form feed at the current cursor position.

\subsection{Remove}\index{Remove}
 Removes the text in the select range, which is the highlighted
 area of text on the screen.  See the help entry on the SELECT
 command for more information about select ranges.  If you have
 started a select range and want to stop without making any
 changes, press the SELECT key again to cancel the select range.

 You can move and copy a select range after using REMOVE by using
 the INSERT HERE key.  See the help entry on the INSERT HERE
 command for more information.

 Pressing the SELECT key and then immediately pressing the REMOVE
 key removes the character that the cursor is positioned on.  Each
 time REMOVE is used, the previously selected text is discarded.

\subsection{Replace}\index{Replace}
 Lets you repeatedly substitute one word or phrase for another
 throughout a buffer.  For example,
\begin{verbatim}
  replace good excellent
\end{verbatim}
 instructs EVE to replace {\tt good} with {\tt excellent} in the current
 buffer.

 Each occurrence of {\tt good} within the current buffer will be
 highlighted in reverse video, and you will be prompted for an
 action.  Typing {\tt Yes} or just pressing RETURN replaces this
 occurrence.  {\tt No} skips this occurrence.  {\tt All} replaces this
 occurrence and all future occurrences without any further
 prompting.  {\tt Last} replaces this occurrence and stops the REPLACE
 command.  {\tt Quit} stops the REPLACE command without replacing this
 occurrence.

 In order to replace multi-word phrases, put the phrases in
 quotation marks.  For example,
\begin{verbatim}
  replace "the first one" "the second one"
\end{verbatim}

\subsection{Restore}\index{Restore}
 Inserts the text last erased by the ERASE WORD, ERASE LINE, ERASE
 PREVIOUS WORD, ERASE START OF LINE, and ERASE END OF LINE commands.  
 The text is
 inserted regardless of whether the current mode is Insert or
 Overstrike.

\subsection{Return}\index{Return}
 Inserts a new line before the current cursor position, moving the
 cursor to the start of the new line.

\subsection{Select}\index{Select}
 Marks one end of a select range.  A select range is a block of
 text on which various operations (such as REMOVE) can be
 performed.  To create a select range:
\begin{enumerate}
\item  Move the cursor to either the beginning or end of the text you
     want to select.
\item  Press the SELECT key.
\item  Move the cursor to the opposite end of the text.
\end{enumerate}
 You can then press the REMOVE key to remove the select range.

 If you start a select range and want to stop without making any
 changes, press SELECT again to cancel the select range.

\subsection{Sort Buffer \ext}\index{Sort Buffer}
Sort (alphabetize) the named buffer.  Prompt for buffer name if not
specified. This is the shell sort, described by Knuth and also
referred to as the Diminishing Increment Sort.

\subsection{Space}\index{Space}
 Inserts or overstrikes a space character at the current cursor
 position, depending on the current mode.  SPACE also moves the
 cursor to the start of the next line, if the cursor is less than 8
 spaces away from the right margin.  If the current word extends
 beyond the right margin, that word is also moved to the next line.

 You can change the current margin settings by using the SET LEFT
 MARGIN and SET RIGHT MARGIN commands.

\subsection{Tab}\index{Tab}
 Inserts a Tab character at the current cursor position.  The Tab
 character is inserted regardless of whether the buffer is in
 Insert or Overstrike mode.

\subsection{Uppercase Word}\index{Uppercase Word}
 Makes the letters of the current word all upper case.  The cursor
 moves to the end of the current word.  If the current cursor
 position is between words, UPPERCASE WORD changes the word to the
 right of the cursor.  If the current word is in both uppercase and
 lowercase letters, it makes the letters all upper case.

\section{Editor--Control Commands}\index{Commands;editor--control}

\subsection{Branch \ext}\index{Branch}
For use in defining learn--remember sequences.  If  
\begin{verbatim}
       DO-branch x
\end{verbatim}
is entered when defining a learn sequence, the learn sequence 
will abort at the branch during replay for the following conditions,
depending on the value of {\tt x}:
\begin{tabbing}
xx {\tt f}xx\= stuff \kill
{\tt f} \> when entered directly after a FIND or SEARCH command, the learn \\
        \> sequence will abort during replay if the FIND fails. \\
{\tt e} \> learn sequence will abort if cursor is at end--of--buffer when \\
        \> branch is reached during replay.
\end{tabbing}
If no value is given for {\tt x} (if only {\tt DO-br} is entered), 
\verb|x=f| is assumed.

If the learn sequence is being played multiple times with the REPEAT
command, the REPEAT command is also aborted and control passes
back to the top level of EVEX.

\subsection{Change Direction}\index{Change Direction}
 Changes the current direction of the buffer.  The current
 direction is displayed on the status line at the bottom of the
 window and may be either Forward or Reverse.

 The current direction affects the way that the FIND, MOVE BY LINE,
 and MOVE BY WORD commands work.  When the direction is Forward,
 FIND searches forward in the buffer, MOVE BY LINE moves to the end
 of the current line, and MOVE BY WORD moves to the start of the
 next word.  When the direction is Reverse, FIND searches backward
 in the buffer, MOVE BY LINE moves to the start of the current
 line, and MOVE BY WORD moves to the start of the previous word.
 See the help entries for FIND, MOVE BY LINE, and MOVE BY WORD for
 more information.

\subsection{Change Mode}\index{Change Mode}
 Changes the current mode of the buffer.  The current mode is
 displayed on the status line at the bottom of the window and may
 be either Insert or Overstrike.

 In Insert mode, typed characters are inserted to the left of the
 current cursor position.  In Overstrike mode, typing a character
 replaces the character at the current cursor position.  The DELETE
 key in Overstrike mode replaces the character before the current
 cursor position with a space.

\subsection{Column Number \ext}\index{Column Number}
 Display the current column and line numbers of the cursor.  If the
 cursor is beyond the end of the line (EOL) when command is issued,
 cursor is moved to EOL.  Total line and buffer lengths are also given.

\subsection{Define Key}\index{Define Key}
 Tells EVE that you want to be able to issue a command by pressing
 a single key.  EVE will prompt you for the key that you want to
 use to invoke the command.  For example, after typing
\begin{verbatim}
  define key erase previous word
\end{verbatim}
 EVE asks for the {\tt Key to be defined}.  Assume you then pressed the
 4 key on the numeric keypad.  For the rest of that EVE session,
 pressing the 4 key on the numeric keypad executes the ERASE
 PREVIOUS WORD command.

 It is not possible to cancel a key definition, although you can
 redefine a key by assigning it to a different command within the
 same EVE session.  

\subsection{Describe Key \ext}\index{Describe Key}
This procedure will prompt for a key stroke or shift sequence and look
up the comment that was attributed to the keystroke when  it was defined.
If there was no comment given, the message {\tt Key Has No Function\ldots} is
displayed in the message area at the bottom of the screen.  Otherwise,
the key's function is displayed.

\subsection{Display Character \ext}\index{Display Character}
This procedure writes a one line message describing the current character
in terms of Octal, Decimal, Hexadecimal and (sometimes ) ``\verb|^|'' notation.

\subsection{Do}\index{Do}
 Allows you to enter an EVE command.  Press the DO key and then
 type the command using the keys on the main keyboard.  End the
 command by pressing the RETURN key.

 To get help on EVE commands, use the HELP command.  After leaving
 help, you can use the HELP command by pressing the DO key and
 typing HELP.

 Command names may be abbreviated.  Press the DO key twice to
 repeat the last command.  You can also press the DO key, and then
 press the UP ARROW key to edit the specified command.

 While typing a command, you may edit what you have typed by using
 the keypad.  You may press DO or RETURN anywhere on the line to
 issue the command.  When you edit commands, the default mode is
 Overstrike and the default direction is Reverse.

\subsection{Exit}\index{Exit}
 Causes you to leave the EVE editor, saving your current buffer.
 EXIT will ask you if you want to save each of your other modified
 buffers.

 You can use the QUIT command to leave the EVE editor without
 creating any new files.  You can also use the WRITE FILE command
 to write the current buffer to a new file name.

\subsection{Extend TPU}\index{Extend TPU}
 Extends the power of EVE by compiling your own procedures, written
 in the VAXTPU language.  Typing \verb|extend tpu *|
 compiles the entire current buffer.  Typing \verb|extend tpu eve_add|
 compiles the procedure called \verb|eve_add| in the current buffer.
 Procedure names may be abbreviated.

 If syntax errors are reported, the error messages are displayed
 very quickly in the message window.  The BUFFER command allows you
 to switch to the ``Messages'' buffer to examine the messages.

\subsection{Forward}\index{Forward}
 Sets the current direction of the buffer to forward.  The
 direction is displayed in the buffer's status line.  The direction
 affects the operation of the FIND, MOVE BY LINE, and MOVE BY WORD
 functions.

\subsection{Help}\index{Help}
 Provides help on keypad commands.  After pressing HELP, press the
 key that you want HELP on.  Press RETURN to leave help.

 To get help on more advanced EVE commands, use the HELP command.
 Press the DO key, type {\tt help}, and press RETURN.  The HELP command
 will then provide you with a list of all the EVE commands.  Type
 the name of the command that you want help on, or type ?  to see
 the list of commands again.  Press RETURN without typing anything
 in order to leave the HELP command.  If you are using the HELP
 key, press RETURN before using the HELP command.

 You can ask for help on a particular command in one step.  For
 example, {\tt help top} will provide help on the TOP command.

\subsection{Insert Mode}\index{Insert Mode}
 Changes the mode of the current buffer to Insert.  In Insert mode,
 typing characters are inserted before the current cursor position.

\subsection{Learn}\index{Learn}
 Tells EVE to ``learn'' or record a sequence of keystrokes.  This
 learning process begins when the LEARN command is entered and
 continues until stopped by a CTRL/R.  The sequence of learned
 keystrokes is then remembered, and assigned to a key for the
 current EVE session.  See REMEMBER for more information.

 You can use the LEARN command in combination with the REPEAT
 command when you need to use an editing function throughout a
 file.  

\subsection{Overstrike Mode}\index{Overstrike Mode}
 Changes the mode of the current buffer to Overstrike.  In
 Overstrike mode, typing a character replaces the character at the
 current cursor position.  The DELETE key in Overstrike mode
 replaces the character before the current cursor position with a
 space.

\subsection{Quit}\index{Quit}
 Allows you to leave EVE without creating any new files.  You can
 use QUIT if you are simply reading a file without modifying it, or
 if you do not want to save your edits.  You can use the EXIT
 command if you want to save your edits.

 If you made any modifications which were not saved with the WRITE
 FILE command, EVE asks you if you really want to continue
 quitting.  Answering {\tt yes} causes you to leave the editor; answering
 {\tt no} keeps you in the editor.  This allows you to review the current
 EVE session before discarding any changes.  You can use the SHOW
 command to see which buffers were modified.

\subsection{Recall}\index{Recall}
 Recalls the previously entered command that was issued using the
 DO or RECALL command.

 If you make a mistake entering a command, you do not need to enter
 the entire command again.  The RECALL command places the most
 recently entered command on the command line.  The cursor moves to
 the end of the command line, so you can edit the command.  By
 repeatedly invoking the RECALL command, you can recall all the
 previously entered commands, one at a time.

\subsection{Refresh}\index{Refresh}
 Redisplays every character on the screen, eliminating any
 extraneous characters that may have appeared on the screen and any
 messages displayed in the message window.  The cursor remains in
 the same location.

\subsection{Remember}\index{Remember}
 Finishes a sequence of keystrokes that you plan to use repeatedly
 during an editing session.  The LEARN command is used to start the
 sequence of keystrokes.

 You will be prompted for the key that you want to use to repeat
 this sequence of keystrokes.  You cannot use the DO key, the
 RETURN key, or the typing keys for this purpose.  EVEX reserves the
 ENTER key on the keypad for assignment of learn sequences.

 These key definitions will stay in effect for the rest of your EVE
 session.  
 The CTRL/R key invokes this command.  REMEMBER cannot be used from
 the command line.

\subsection{Repeat}\index{Repeat}
 Lets you repeat a command or a typing character for a
 predetermined number of times.  For example, say you press the DO
 key and type {\tt repeat 30} 
 and then type the letter {\tt x}.  The letter {\tt x} will be typed thirty
 times at the current cursor position.  If instead of typing, you
 press the DO key and type {\tt capitalize word}
 then the next 30 words will be capitalized.

 REPEAT is especially useful in combination with LEARN and REMEMBER
 for doing repetitive editing.  Use LEARN and REMEMBER to define
 the editing operation, and then use the REPEAT command to repeat
 the operation as often as necessary.

\subsection{Reverse}\index{Reverse}
 Sets the current direction of the buffer to reverse.  The
 direction is displayed in the buffer's status line.  The direction
 affects the operation of the FIND, MOVE BY LINE, and MOVE BY WORD
 functions.

\subsection{Save Extended TPU}\index{Save Extended TPU}
 Saves all currently defined key definitions, learn sequences, and
 command definitions in a section file that you specify.  The
 section file name should include a complete VMS file
 specification, including device and directory names.  These may be
 specified using a VMS logical name.

 To use the section file in future editing sessions, define the
 logical name, TPUSECINI, with the same file specification that you
 used for the SAVE EXTENDED TPU command.  For example,
\begin{verbatim}
  save extended tpu d1:[user]myeve.tpu$section
\end{verbatim}
 saves the current editing environment, and issuing
\begin{verbatim}
  $ define tpusecini d1:[user]myeve.tpu$section
\end{verbatim}
 at the DCL level lets you use this editing environment in future
 editing sessions.

\subsection{Set Left Margin}\index{Set Left Margin}
 Changes the left margin for the current buffer.  The right margin
 is not changed.  For example,
\begin{verbatim}
  set left margin 10
\end{verbatim}
 sets the left margin to 10.  New text will start in column 10.
 Nine spaces will be inserted before each new line.

 The left margin is set to 1 by default.  You can use the SHOW
 command to examine the current margin settings for each buffer.

\subsection{Set Right Margin}\index{Set Right Margin}
 Changes the right margin for the current buffer.  The left margin
 is not changed.  For example,
\begin{verbatim}
  set right margin 70
\end{verbatim}
 sets the right margin to 70.  New text will not go beyond column
 70.

 An eight-character ``hot zone'' is used to perform automatic word
 wrapping.  In this example, new words will not begin beyond column
 62 but will instead be started on the next line.  The FILL
 PARAGRAPH command reformats the paragraph between the left and
 right margins.

 The right margin is set to 79 by default.  You can use the SHOW
 command to examine the current margin settings for each buffer.

\subsection{Set Shift Key}\index{Set Shift Key}
 Defines a key to act as a shift key.  The defined shift key (not
 to be confused with the key marked SHIFT) assists in sending
 instructions to EVE, but does not perform an editing function.
 The shift key acts much like the gold key on EDT or a calculator.
 EVE will prompt you for the key to use as the shift key.

 The shift key allows you to assign two commands to one key:  one
 is used when the key is pressed by itself, and the other is used
 when the key is pressed after the defined shift key.  These key
 definitions will stay in effect for the rest of your EVE session.
 Use the SAVE EXTENDED TPU command to create permanent key
 definitions.

 If you want to change the definition of the shift key, you must
 first use the TPU UNDEFINE\_KEY command.  For example, if your old
 shift key was the 4 key on the numeric keypad, enter
\begin{verbatim}
  tpu undefine_key (kp4)
\end{verbatim}
 before using the SET SHIFT KEY command to change the shift key.

\subsection{Set Tabs At}\index{Set Tabs At}
 Sets tab stops at specified positions.  The specified positions
 are a sequence of numbers separated by spaces.  For example,
\begin{verbatim}
  set tabs at 8 14 22 56
\end{verbatim}
 sets tab stops at positions 8, 14, 22, and 56.  The default tab
 stops are set to every eight characters.  To set tabs at equal
 intervals, use the SET TABS EVERY command.

 On any terminals or printers which have different tab settings
 from those specified, the file will not appear the same as it does
 when viewed using EVE.  This command does not affect the hardware
 tab settings of your terminal.

\subsection{Set Tabs Every}\index{Set Tabs Every}
 Sets tab stops at equal intervals.  For example,
\begin{verbatim}
  set tabs every 10
\end{verbatim}
 sets tab stops at positions 10, 20, 30, etc.  The default tab
 stops are set to every eight characters.  To set tab stops at
 specific positions, use the SET TABS AT command.

 On any terminals or printers which have different tab settings
 from those specified, the file will not appear the same as it does
 when viewed using EVE.  This command does not affect the hardware
 tab settings of your terminal.

\subsection{Set [No] Visible Tabs \ext}\index{Set [No] Visible Tabs}
Set TAB characters for the current window to be visible or invisible.

\subsection{Set Width}\index{Set Width}
 This command allows you to set the width of lines.  EVE displays
 lines no longer than the width specified using this command.
 Lines longer than the width are indicated by a diamond at the end
 of the line.  You can see the rest of these lines by using the
 SHIFT RIGHT and SHIFT LEFT commands.

 The width is set to 80 characters by default.  If you set the
 width greater than 80, the terminal is placed in 132-character
 mode.  Otherwise, the terminal is placed in 80-character mode.
 For example,
\begin{verbatim}
  set width 120
\end{verbatim}
 tells EVE to display lines no longer than 120 characters long, and
 the terminal is placed in 132-character mode.  You can use the
 SHOW command to examine the current width.

\subsection{Show}\index{Show}
 Shows information about the current buffer, including the name of
 the input file, the name of the output file, margin settings, tab
 settings, and the names of the marks associated with this buffer.

 If you have more than one buffer in your editing session, SHOW
 will ask you if you want more information.  Press the DO key to
 see information about the other buffers, displayed one buffer at a
 time.  Press the RETURN key to resume editing.

 SHOW does not display information about internal system buffers,
 such as the MESSAGES buffer, unless it is the current buffer.

\subsection{TPU}\index{TPU}
 Lets you execute a VAXTPU command.  For example,
\begin{verbatim}
  tpu message ('Hello')
\end{verbatim}
 compiles and executes the VAXTPU command, {\tt "message ('hello')"}.
 The word {\tt Hello} appears in the message window.

 The VAX Text Processing Utility Reference Manual contains complete
 information about the VAXTPU language.

\subsection{Version \ext}\index{Version}
Display the EVEX version number in the message window.

\section{File and Window Commands}\index{Commands;file and window}
\subsection{Buffer}\index{Buffer}
 Puts a new buffer in the current window.  The cursor moves to the
 position it was in the last time you used this buffer.  For
 example,
\begin{verbatim}
  buffer test.txt
\end{verbatim}
 will return you to the buffer named TEST.TXT.  Buffer names are
 displayed in the status line at the bottom of the window.  You can
 use the SHOW command to find out which buffers you have used.
 Buffer names may be abbreviated.

 Some EVE commands, such as TPU and EXTEND TPU, can display many
 error messages too rapidly to read.  You can use the BUFFER
 command to see these messages by typing
\begin{verbatim}
  buffer messages
\end{verbatim}

\subsection{Fetch \ext}\index{Fetch}
FETCH an element from the default CMS library directly into a buffer.
A single element name must be fully specified;  wildcards are not allowed
and a group or class cannot be fetched.  The element is copied into a
nowrite buffer.  The WRITE command may be used to write the buffer to
a file with the element name in the default directory.

\subsection{Get File}\index{Get File}
 Use the GET FILE command when you want to start editing another
 file.  GET FILE reads a file from the file system, puts the file
 in a new buffer, and displays the new buffer in the current
 window.  The cursor is moved to the beginning of the file.  The
 file still exists in its original form in the file system.

 For example,
\begin{verbatim}
  get file test.txt
\end{verbatim}
 will move the cursor to the beginning of the file {\tt test.txt} in the
 new buffer TEST.TXT.

 If a modified buffer with the same name as the new file already
 exists, GET FILE will ask you for a buffer name.  In some cases
 you will want a new buffer; in other cases you will probably want
 to use the BUFFER command to move to a file that is already being
 edited.

\subsection{Gfile \ext}\index{Gfile}
GET the file specified by the string under the current cursor position.
If the file is already in an active buffer, move to that buffer.

\subsection{Include File}\index{Include File}
 Makes it possible to combine files.  The file that you specify is
 read from the file system and placed before the current cursor
 position.  The cursor moves to the beginning of the inserted file.
 The file still exists in its original form in the file system
 after you include it.

 For example,
\begin{verbatim}
  include file test.txt
\end{verbatim}
 will insert the file {\tt test.txt} before the current cursor position
 and move the cursor to the beginning of {\tt test.txt}.

 You may include a wild--card character ($\ast$) in the file name.  This
 can be helpful in abbreviating long file names.

\subsection{List Buffers \ext}\index{List Buffers}
Lists current user buffers and temporarily redefines the SELECT and
REMOVE keys.  Move the cursor to a buffer name and press SELECT to go to
that buffer.  Press REMOVE to remove that buffer.

\subsection{List All Buffers \ext}\index{List All Buffers}
Lists all current buffers (user and system) and temporarily redefines
the SELECT and REMOVE keys.  Move the cursor to a buffer name and press
SELECT to go to that buffer.  Press REMOVE to remove that buffer.  Use
caution removing system buffers.

\subsection{List Files \ext}\index{List Files}
List the files in the specified directory in the DCL window for 
selection by the GFILE
command.  Move the cursor to the desired file name and invoke GFILE to
GET that file into the current EVE session.

\subsection{One Window}\index{One Window}
 Returns the screen to one view of the current buffer.  The window
 the cursor is in becomes the current window.  If you have been
 viewing two different documents in the two windows, EVE removes
 the other window from the screen.  The contents of the other
 buffer are not affected; you can return to editing this buffer by
 using the BUFFER command.

\subsection{Other Window}\index{Other Window}
 Moves the cursor from one EVE window to the other.  Many editing
 functions are performed at the current location of the cursor, so
 you may frequently want to move it from one window to the other.
 If you want scrolling in a window, for example, you must have the
 cursor in that window.

\subsection{Path \ext}\index{Path}
Extension of the BUFFER command.  The arguments and actions are:
\begin{tabbing}
``name'' \=goes to buffer ``name'' (same as BUFFER command) \\
``\verb|\|''  \> goes to previous buffer \\
``\verb|\\|'' \> goes to previous-previous buffer \\
``\verb|^|'', ``.'', or ``-'' goes to original buffer 
\end{tabbing}

The previous-buffer choices are displayed at the bottom of the screen.
The PATH command will keep track of previous buffers for single buffer
changes made outside of PATH (with GET FILE or BUFFER, for example).  Buffer
changes made with TWO GET are always reflected in the PATH buffer list.

\subsection{Release Buffers \ext}\index{Release Buffers}
Flush all modified buffers to their associated output files and delete
the buffers.  System buffers, and modified buffers that are either ``no
write'' or have no associated files, are not written out.

\begin{tabular}{ll}
BUFFER TYPE                    & ACTION \\
System                         & Ignored (Retained) \\
Unmodified                     & Erased and Deleted \\
Modified but No-Write          & Retained \\
Modified w/ Associated File    & Written out - Erased and Deleted \\
Modified w/ No Associated File & Retained
\end{tabular}

\subsection{Toggle Window \ext}\index{Toggle Window}
If one window is on the screen, creates two windows.
If two windows are on the screen, returns to one window.

\subsection{Two Get \ext}\index{Two Get}
If one window is on the screen, creates two windows and prompts for file
to read (with GET FILE) into the upper window.

If two windows are already on the screen, prompts for file to
read into the current window.
This is the same as invoking GET FILE.

\subsection{Two Windows}\index{Two Windows}
 Creates two sections on the screen, making it possible to view
 different parts of one file, or two different documents.  When you
 view one file in two windows, whatever you do to one, is done to
 the other.  (This is not true when viewing two different files in
 two windows.)

 If there is one window on the screen, TWO WINDOWS takes the
 current window and divides it into two smaller windows.  The
 current buffer is displayed in both windows, and the cursor is
 moved to the bottom window.  To view two different files at the
 same time, use the BUFFER command or the GET FILE command, after
 using TWO WINDOWS, to put a new buffer or file in the current
 window.

\subsection{Write File}\index{Write File}
 The WRITE FILE command places the contents of the current buffer
 in the file you specify.  Use WRITE FILE
 to create a new version of an existing file.  You can also write
 the buffer to a new file name.  For example,
\begin{verbatim}
  write file new.txt
\end{verbatim}
 writes the current buffer to the file {\tt new.txt}, even if the file
 already existed with a different name.  The editing session does
 not end until you use either the EXIT or QUIT commands.

 The WRITE FILE command does not change the buffer name, but it
 does change the output file name.  A future WRITE FILE command
 will write the buffer to the new file name (as will the EXIT
 command, if the buffer has been modified).  You can examine the
 current output file name with the SHOW command.

\section{System--Interaction Commands}\index{Commands;system--interaction}
\subsection{Attach}\index{Attach}
 Use this command to run EVE in a subprocess.  ATTACH suspends the
 current EVE editing session and reconnects the terminal to the
 parent process.  Usually this is your top-level DCL process.

 By using the DCL-level SPAWN and ATTACH commands in addition to
 the EVE ATTACH command, you can keep one editing session active
 for your entire VMS session.  This makes it faster to resume
 editing, but takes up more system resources.

\subsection{DCL}\index{DCL}
 Executes a DCL (Digital Command Language) command from EVE's
 command line.  For example,
\begin{verbatim}
  dcl directory
\end{verbatim}
 will display the contents of your default directory.

 The DCL command and the resulting output go into a special DCL
 buffer.  Once the command is executed, two windows appear on the
 screen.  The second window is associated with the DCL buffer.  The
 cursor remains in the window it was in before you issued the DCL
 command.  (A VAX/VMS limitation prevents DCL prompts from
 appearing in the DCL buffer.)

 The DCL buffer is treated just like any other buffer.  You can
 move output from a DCL command into a text file.

\subsection{Spawn}\index{Spawn}
 Suspends the current EVE editing session and connects the terminal
 to a new DCL subprocess.  Logging out of the DCL subprocess
 resumes the EVE editing session.

 The SPAWN command can be used to run screen-oriented programs and
 DCL utilities without losing your current editing session.

\section{Language--Specific Commands}\index{Commands;language--specific}

\subsection{Alternate Key \ext}\index{Alternate Key}
                               \index{LaTeX--Specific;Alternate Key}
Defines an alternate keyboard for entering math symbols, sectioning
commands, environments, and Bibtex records into a TeX, LaTeX or BibTeX
file.  The keyboard map, shown in section \ref{keydia}, is similar to 
the TEDI alternate-font map.

If ALTERNATE KEY is bound to the key KEY, pressing KEY and then a
keyboard key inserts a TeX or LaTeX string into the buffer.  For
example, KEY--{\tt a} inserts \verb|\alpha| and KEY--\verb|/| 
inserts \verb|{ /over }| and then
positions the cursor just after the \verb|{|.  A complete table for the %}
alternate keyboard may be obtained by running LaTeX on the file
\verb|sys_fedtpu:alternate.tex| and sending the DVI file to a laser printer.

If KEY is pressed twice, a prompt is issued for the name of a LaTeX
environment.  If no select range is active, the environment is inserted
above the cursor.  If a select range is active, the {\tt begin} and {\tt end}
statements for the environment are inserted above and below the range,
respectively. If the current buffer name has the extension ``.BIB'' (a
BibTeX file), pressing KEY twice inserts a blank BibTeX record.

\subsection{Continue Tab \ext}\index{Continue Tab}
                              \index{Fortran--Specific;Continue Tab}
Invoked with the GOLD TAB key in Fortran mode, CONTINUE TAB is used to start
a continuation line in a space-formatted Fortran file.
If the cursor is in column 1, CONTINUE TAB spaces to column 6, 
inserts a ($\ast$) to initiate a
continuation line and then spaces to the indent column.
Any text existing on the line is displaced to the right.
CONTINUE TAB does nothing if the cursor is not in column 1.

The INDENT COLUMN command is used to set the indent column.

\subsection{Convert Tabs \ext}\index{Convert Tabs}
                              \index{Fortran--Specific;Convert Tabs}
CONVERT TABS converts a Fortran file from tab-formatting to space-formatting
using the algorithm described for the FORTRAN TAB command:
\begin{itemize}
\item If a tab character
is in a column to the left of the indent column, the tab character 
is replaced with spaces to the indent column.
\item If a tab character is in a column to the right of the indent column, 
the tab character is replaced with spaces to the next odd-numbered column.
\item If a tab character in column 1 is followed by a non-zero digit 
(indicating a continuation line), the tab character is replaced with 5 spaces.
\item Since this conversion is not reversible, the
user is prompted for conformation before the conversion is performed.
\end{itemize}

\subsection{Fortran Tab \ext}\index{Fortran Tab}
                             \index{Fortran--Specific;Fortran Tab}
Invoked with the TAB key in Fortran mode, FORTRAN TAB inserts spaces using
this algorithm:                     
\begin{itemize}
\item If the cursor is in a 
column to the left of the indent column, spaces to the indent column.
Statement numbers may be entered before FORTRAN TAB is invoked.
\item If the cursor is in a
column to the right of the indent column, spaces to the next 
odd--numbered column.
\item Does nothing if the cursor is beyond the end of the line.
\item Any text existing on the line is displaced to the right.
\end{itemize}

The INDENT COLUMN command is used to set the indent column.

The CONVERT TABS command converts a fortran file from tab to space formatting
by replacing all ASCII tabs with spaces using the above algorithm.

\subsection{Indent Column \ext}\index{Indent Column}
                               \index{Fortran--Specific;Indent Column}
Used to set the indent column in Fortran mode.
INDENT COLUMN sets or resets the indent column at the current cursor position.
If the cursor is in column 1--6, sets the indent column to column 7. The
commands TAB and CONTINUE TAB space to this column, allowing editing of
indented sections of a Fortran file. The current indent column is indicated
after {\tt I=} in the status line. 

The MODIFY command may be used to change the indentation of selected 
sections of a Fortran source file.

\subsection{Inline \ext}\index{Inline}
                         \index{LaTeX--Specific;Inline}
Places a limited--scope declaration around the current word or a select
range in a TeX or LaTeX file.  The declaration may be either an
alternate font (such as \verb|{\it ...\/}|) or an inline 
math--mode (\verb|$...$|).

If a select range is active, the declaration delimiters are placed at
the beginning and end of the range. If a select range is not active,
the declaration delimiters are placed around the current word or the
previous word if the cursor is between words. In either case, blanks,
``.'', or ``,'' at the end of the select range or word are excluded from
the declaration automatically.

A prompt is given for which declaration to add; the response should be
a one-character key press. If the key to which INLINE is bound is
pressed twice, the inline math--mode declaration (\verb|$...$|) is inserted by
default (enter \verb|GOLD "-" "-"| on a VT100 or MAC).

\subsection{Look \ext}\index{Look}
                         \index{LaTeX--Specific;Look}
LOOK is for previewing a LaTeX file or a selected range of a LaTeX file
on the screen or on a printer.  See the description of the RUN command
for selecting a range (a single equation or table, for example).  LOOK
first invokes RUN and then, if the run is successful, invokes the screen
previewer DVItoVDU or prints the formatted range, depending on the user
response to a prompt.  There is a DVItoVDU manual available for VAXs
which have this routine installed.

\subsection{Match Delimiter \ext}\index{Match Delimiter}
                                 \index{LaTeX--Specific;Match Delimiter}
Highlights the delimiter under the cursor and the matching delimiter
in reverse video.  
\begin{itemize}
\item Matches \verb|()|, \verb|{}|, \verb|[]|, and \verb|<>|.
\item Gives the line
number containing the matching delimiter;  use the LINE command to
move the cursor to this line.
\item Turns off highlighting of previously-matched delimiters
if the cursor is not on a delimiter.
\end{itemize}

\subsection{Mismatch \ext}\index{Mismatch}
                          \index{LaTeX--Specific;Mismatch}
Find mismatched braces in a TeX or LaTeX file and
unpaired \verb|\begin| -- \verb|\end| statements in a LaTeX file.

Search a TeX or LaTeX file for an unmatched brace (\verb|{| or \verb|}|).  If
there is more than one unmatched brace in the file, MISMATCH finds the
one nearest the top of the file.  If a mismatch is found, the cursor
is positioned on the extra brace.

MISMATCH ignores \verb|\{| and \verb|\}|.  Braces inside {\tt verbatim} 
environments in a LaTeX file are counted and may cause false mismatches.

For each \verb|\begin| statement in a LaTeX file, missing or incorrectly--nested
\verb|\end| statements are flagged.  Extra \verb|\end| statements are only 
flagged if they are incorrectly nested within another environment. 

\subsection{Next Mark \ext}\index{Next Mark}
                           \index{LaTeX--Specific;Next Mark}
When text is inserted into a Fortran, TeX or LaTeX file with the PUT
command, a visible mark is
sometimes set at the next logical typing position.  Use NEXT MARK
(invoked with the CTRL/N key) to go to this mark.

\subsection{Put \ext}\index{Put}
                     \index{Fortran--Specific;Put}
Places frequently used Fortran text in the file. PUT prompts for the type of
text to enter if the type is not entered on the command line. 

Fortran text is inserted at the horizontal position of the indent column.
For some text, a message starting with \verb|%Enter| will appear indicating
that the user should enter statement number which will be automatically
duplicated into the statement field of the associated statement.
Terminate entry with a \verb|\|.

For some text blocks, a marker will appear at the next logical typing
position.  Enter CTRL/N (the NEXT MARK command) to go to this 
marker at any time.

\subsection{Run \ext}\index{Run}
                     \index{LaTeX--Specific;Run}
                     \index{Fortran--Specific;Run}
Writes the current buffer to a temporary file and runs the appropriate
program for the file to check for syntax errors while the
user remains in EVE.  If the extension of the current buffer name is .FOR,
the FORTRAN compiler is run.  If the extension is .TEX, TeX or LaTeX is
run                                                      
depending on the argument of the RUN command ({\tt t} or {\tt l}) or the user
response to a prompt if no argument is given. 

For a .FOR buffer or .TEX buffer (LaTeX only), a section of the buffer 
may be selected with the SELECT command prior to
invoking the RUN command; only the lines within the select range will be
copied and run.  For a LaTeX file, the select range
should include lines that would comprise a complete document. 
The selected range becomes a permanently--highlighted range until either
1) LaTeX runs successfully or 2) another range is selected and run.

If an error occurs during the run, RUN automatically windows the screen and puts
error messages in the additional window.  
For TeX or LaTeX, RUN       
positions the cursor in the user window on the line containing the error.

\subsection{Set [No] Fortran Mode \ext}\index{Set [No] Fortran Mode}
                              \index{Fortran--Specific;Set [No] Fortran Mode}
Changes EVE to Fortran mode for editing space-formatted Fortran source code.
  In Fortran mode:
\begin{itemize}
\item The TAB key is redefined to insert spaces instead of a tab character.
  See the description of the FORTRAN TAB command for a description of the
  algorithm used for space insertion.
\item  GOLD-TAB inserts spaces and a continuation mark at the beginning of 
  line.  See the description of the CONTINUE TAB command.
\item  ASCII tabs are shown explicitly on the screen.
\item  The label {\tt I=} in the status line indicates the indent column.
\end{itemize}

EVE automatically starts up in Fortran mode if the file type is .FOR
  and the file contains no ASCII tabs.  If the file is empty,
  the user is prompted for the mode desired (Fortran or Normal).

\section{Miscellaneous Commands}\index{Commands;miscellaneous}
\subsection{Play \ext}\index{Play}
Plays a predefined learn--remember sequence back on all files specified
by the user.  PLAY is used to make the same change to multiple files.

The list of files to be modified is specified in the file {\tt filelist.evex}
in the user's default directory.  When PLAY is invoked, the user is
prompted as to whether 1) the file list should be read into the RUN
buffer from {\tt filelist.evex} or 2) the list in the RUN buffer should be
used.  The list in the RUN buffer may be used if {\tt filelist.evex} has been
read into the RUN buffer previously or if the list has been typed
directly into the RUN buffer.  As files are modified, the corresonding
entry in the RUN buffer is marked so that the file will not be modified
on subsequent PLAYbacks.  Entries in the RUN buffer may be edited so
that the corresponding file is not modified on subsequent PLAYbacks by
either deleting the entry or by placing a ``{\tt !}'' in the first column. 

To modify a series of files, first define the learn--remember sequence
(using one of the files to be modified as a template -- see the description
of the TEMPLATE command) and bind the
sequence to the ENTER key on the keypad.  Use of the BRANCH command
when defining the sequence is recommended to prevent undesired
modifications to the files during replay. Next, invoke PLAY and answer
the prompt about which file list to use.  PLAY will then prompt for the
action for each file.  Enter 
\begin{tabbing}
xx {\tt b}xx\= find \kill
{\tt a} \> to playback on all files without further prompting \\
{\tt m} \> to modify the current file and then go on to the next file \\
{\tt s} \> to skip the current file and then go on to the next file \\
{\tt q} \> to quit playback 
\end{tabbing}

\subsection{Tabs to Spaces \ext}\index{Tabs to Spaces}
Convert all tabs to the equivalent number of spaces in the current
buffer using the current tab settings. The SHOW command may be used
to examine the current tab settings for the buffer.

\subsection{Template \ext}\index{Template}
Reads the first file listed in {\tt filelist.evex} into the DATA buffer
to be used as a template for defining the learn--remember sequence
used by the PLAY procedure.  See the description of the PLAY command for
further information.

\subsection{Translate Buffer \ext}\index{Translate Buffer}
Place a copy of the current buffer in the second window with control
characters (ascii(0) to ascii(31) and ascii(127) and above) translated 
to readable strings.

\subsection{Trim Buffer \ext}\index{Trim Buffer}
Remove all trailing spaces from the current buffer.

\cleardoublepage
\section{Keypad Diagrams}
\label{keydia}
\subsection{VT100}\index{Keypad Diagrams;VT100}
\bigskip
\begin{minipage}{6in}
\begin{verbatim}
CTRL-               GOLD-                 _________________________________
A  Insert/Over      UP   Window Top       | ----  |Search | Find  |ErasLin|
B  Block            DOWN Window Bottom    | Gold  | Help  | Learn |Restore|
E  End Of Line      <--  Half Left        |_______|_______|_______|_______|
F  End Of Word      -->  Half Right       |  Do   |NxtScrn| Copy  |ErasWrd|
H  Start of Line    CTRL/H  Duplicate     | Path  |PrvScrn|Replace|TogWind|
J  Linefeed                               |_______|_______|_______|_______|
N  Next Mark                              |Forward|Reverse|Remove |ErasChr|
P  Pset Mark        CTRL/P  Pdelete Mark  |Bottom | Top   |Insert |Repeat |
R  Remember           -  Inline           |_______|_______|_______|_______|
U  Erase Start Line   =  Match            | Word  |MoveLin|ScrWnds|Learn- |
V  Quote              \  Indent           |ChngCas|ErasEOL| Shift |Assign |
W  Refresh                                |_______|_______|_______|  ___  |
Z  Exit             CTRL/Z Quit           | Other Window  |Select |  Two  |
                                          | Open Line     |ListBuf|  Get  |
BACKSPACE KEY = CTRL/H                    |_______________|_______|_______|
LINEFEED KEY  = CTRL/J
\end{verbatim}
\end{minipage}
\newpage
\subsection{VT200}\index{Keypad Diagrams;VT200}
\bigskip\hspace*{-0.9in}
\begin{minipage}{6in}
\begin{verbatim}
  _________________________________   ___________________________________
  |Inline | Match |AltKey | Exit  |   |For/Rev|MoveLin|ErasWrd |Ins/Over|
  |       |       |       | Quit  |   |       |       |Restore |        |
  |_______|_______|_______|_______|   |_______|_______|________|________|
     f7      f8      f9      f10         f11     f12     f13      f14
                                             _________________________
  f17 Indent                                 | Find  |Insert |Remove |
  f20 Gfile                                  |Replace|Duplcat| Copy  |
  GOLD-f20 List Files                        |_______|_______|_______|
                                             |Select |PrvScrn|NxtScrn|
  CTRL/H (BACKSPACE) Start of line           |ListBuf|       |       |
  GOLD-CTRL/H        Duplicate               |_______|_______|_______|
  CTRL/J (LINEFEED)  Linefeed                        |   /\  |
                                                     |WindTop|
                                             ________|_______|________
                                             |  <--  |   \/  |  -->  |
                                             |HlfLeft|WindBot|HlfRght|
                                             |_______|_______|_______|
\end{verbatim}
\end{minipage}
\newpage
\subsection{Alternate Keyboard}
\begin{tabular}{ccc}
\begin{tabular}[t]{lll}
\verb!a! & $\alpha$ & \verb!\alpha! \\
\verb!b! & $\beta$ & \verb!\beta! \\
\verb!c! & $\psi$ & \verb!\psi! \\
\verb!d! & $\delta$ & \verb!\delta! \\
\verb!e! & $\epsilon$ & \verb!\epsilon! \\
\verb!f! & $\phi$ & \verb!\phi! \\
\verb!g! & $\gamma$ & \verb!\gamma! \\
\verb!h! & $\theta$ & \verb!\theta! \\
\verb!i! & $\iota$ & \verb!\iota! \\
\verb!j! & $\ell$ & \verb!\ell! \\
\verb!k! & $\kappa$ & \verb!\kappa! \\
\verb!l! & $\lambda$ & \verb!\lambda! \\
\verb!m! & $\mu$ & \verb!\mu! \\
\verb!n! & $\nu$ & \verb!\nu! \\
\verb!p! & $\pi$ & \verb!\pi! \\
\verb!q! & $\chi$ & \verb!\chi! \\
\verb!r! & $\rho$ & \verb!\rho! \\
\verb!s! & $\sigma$ & \verb!\sigma! \\
\verb!t! & $\tau$ & \verb!\tau! \\
\verb!u! & $\upsilon$ & \verb!\upsilon! \\
\verb!w! & $\omega$ & \verb!\omega! \\
\verb!x! & $\xi$ & \verb!\xi! \\
\verb!y! & $\eta$ & \verb!\eta! \\
\verb!z! & $\zeta$ & \verb!\zeta! \\
\verb!(! & ( & \verb!\left(! \\
\verb!)! & ) & \verb!\right)! \\
\verb![! & [ & \verb!\left[! \\
\verb!]! & ] & \verb!\right]! \\
\verb!{! & \{ & \verb!\left\{! \\
\verb!}! & \} & \verb!\right\}! \\
\verb!<! & $\langle$ & \verb!\left\langle! \\
\verb!>! & $\rangle$ & \verb!\right\rangle! \\
\verb!|! & $|$ & \verb!\bigg|! \\
\end{tabular}
&
\begin{tabular}[t]{lll}
\verb!C! & $\Psi$ & \verb!\Psi! \\
\verb!D! & $\Delta$ & \verb!\Delta! \\
\verb!E! & $\equiv$ & \verb!\equiv! \\
\verb!F! & $\Phi$ & \verb!\Phi! \\
\verb!G! & $\Gamma$ & \verb!\Gamma! \\
\verb!H! & $\Theta$ & \verb!\Theta! \\
\verb!I! & $\iotabar$ & \verb!\iotabar! \\
\verb!J! & $\partial$ & \verb!\partial! \\
\verb!L! & $\Lambda$ & \verb!\Lambda! \\
\verb!N! & $\nabla$ & \verb!\nabla! \\
\verb!P! & $\Pi$ & \verb!\Pi! \\
\verb!R! & $\sqrt{\mathstrut\ }$ & \verb!\sqrt{}! \\
\verb!S! & $\Sigma$ & \verb!\Sigma! \\
\verb!U! & $\Upsilon$ & \verb!\Upsilon! \\
\verb!W! & $\Omega$ & \verb!\Omega! \\
\verb!X! & $\Xi$ & \verb!\Xi! \\
\verb|!| & $\perp$ & \verb!\perp! \\
\verb!"! & $\parallel$ & \verb!\parallel! \\
\verb!%! & $\infty$ & \verb!\infty! \\
\verb!*! & $\times$ & \verb!\times! \\
\verb!=! & $\simeq$ & \verb!\simeq! \\
\verb!~! & $\sim$ & \verb!\sim! \\
\verb!&! & $\propto$ & \verb!\propto! \\
\verb!?! & $\approx$ & \verb!\approx! \\
\verb!^! & & \verb!^{}! \\
\verb!6! & & \verb!^{\rm }! \\
\verb!_! & & \verb!_{}! \\
\verb!-! & & \verb!_{\rm }! \\
\verb!/! & & \verb!{ /over }! \\
\verb!\! & & \verb*!\item !
\end{tabular}
&
\begin{tabular}[t]{ll}
\verb!1! & \verb!\section{}! \\
\verb!2! & \verb!\subsection{}! \\
\verb!3! & \verb!\subsubsection{}! \\
\verb!4! & \verb!\paragraph{}! \\
\verb!5! & \verb!\subparagraph{}! \\
\verb!7! & \verb!\cite{}! \\
\verb!8! & \verb!\ref{}!
\end{tabular}
\end{tabular}

\cleardoublepage
\addcontentsline{toc}{section}{Index}
\insertindex

\end{document}
