
EVEX COMMANDS

Alternate Key      Erase End Line   Modify          Search                    
Ascii Character    Fetch            Open Line       Set [No]Fortran Mode      
Block              Gfile            Path            Set [No]Visible Tabs      
Branch             Indent Column    Pdelete Mark    Shift Window              
Change Case        Inline           Play            Sort Buffer               
Column Number      List All Buffers Pset Mark       Tabs to Spaces            
Convert Tabs       List Buffers     Put             Template                
Copy               List Files       Release Buffers Translate Buffer        
Describe Key       Look             Run             Trim Buffer             
Display Character  Match Delimiter  Scroll Windows  Version                 
Duplicate          Mismatch          

2 ALTERNATE_KEY
 ALTERNATE KEY
Defines an alternate keyboard for entering math symbols, sectioning
commands, environments, and Bibtex records into a TeX, LaTeX or BibTeX
file.

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-a inserts "\alpha" and KEY-/ inserts "{ /over }" and then
positions the cursor just after the "{".  A complete table for the
alternate keyboard is given in the EVEX manual.

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 \begin and \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.

Press the NEXT SCREEN key for the ALTERNATE KEY keyboard mapping:

 a  \alpha       m  \mu         C  \Psi          (  \left(
 b  \beta        n  \nu         D  \Delta        )  \right)
 c  \psi         p  \pi         E  \equiv        [  \left[
 d  \delta       q  \chi        F  \Phi          ]  \right]
 e  \epsilon     r  \rho        G  \Gamma        {  \left\{
 f  \phi         s  \sigma      H  \Theta        }  \right\}
 g  \gamma       t  \tau        I  \iotabar      <  \left\langle
 h  \theta       u  \upsilon    J  \partial      >  \right\rangle
 i  \iota        w  \omega      L  \Lambda       |  \bigg|
 j  \ell         x  \xi         N  \nabla
 k  \kappa       y  \eta        P  \Pi       !  \perp       ^  ^{}
 l  \lambda      z  \zeta       R  \sqrt{}   "  \parallel   6  ^{\rm }
                                S  \Sigma    %  \infty      _  _{}
 1  \section{}       7 \cite{}  U  \Upsilon  *  \times      -  _{\rm }
 2  \subsection{}    8 \ref{}   W  \Omega    =  \simeq      /  { /over }
 3  \subsubsection{} \ \item    X  \Xi       ~  \sim
 4  \paragraph{}                             &  \propto
 5  \subparagraph{}                          ?  \approx


2 BRANCH
 BRANCH

For use in defining learn-remember sequences.  If
       DO-branch x
is entered when defining a learn sequence, then the learn sequence
will abort at the branch during replay for the following conditions
depending of the value of x:

  f  when entered directly after a FIND or SEARCH command, the learn
     sequence will abort during replay if the FIND fails.
  e  learn sequence will abort if cursor is at end-of-buffer when branch
     is reached during replay.

If no value is given for x (if only DO-br is entered), 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.

2 COLUMN_NUMBER
 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.

2 COPY
 COPY

 COPY the select range to the paste buffer without deleting it
 from the editing buffer.

2 DUPLICATE
 DUPLICATE

 Duplicate the line containing the cursor.

2 CHANGE_CASE
 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.
2 GOLD_CANCEL
GOLD CANCEL

Press this key after pressing the gold key to cancel the gold command.

2 TOGGLE_WINDOW
TOGGLE WINDOW

If one window is on the screen, creates two windows.
If two windows are on the screen, returns to one window.

2 SHIFT_WINDOW
SHIFT WINDOW

Shift window horizontally by given number of columns (positive to shift
right, negative to shift left)

2 ERASE_END_OF_LINE
 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.

2 OPEN_LINE
 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.

2 SCROLL_WINDOWS
 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.

2 TWO_GET
TWO GET

If one window is on the screen, creates two windows and prompts for file
to read (get) into the upper window.

If two windows are already on the screen, prompts for file to
read (get) into current window (same as normal get_file).

2 MATCH_DELIMITER
MATCH DELIMITER

Highlights the delimiter under the cursor and the matching delimiter
in reverse video.  Matches (), {}, [], and <>.  Gives the eve line
number containing the matching delimiter - use the "line" command to
move the cursor to this line.

Turns off reverse video if cursor is not on a delimiter.

2 MISMATCH
MISMATCH

Find mismatched braces in a TeX or LaTeX file and/or
unpaired \begin - \end statements in a LaTeX file.

Search a TeX or LaTeX file for an unmatched brace ("{" or "}").  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 "\{" and "\}".  Braces inside verbatim environments
in a LaTeX file are counted and may cause false mismatches.

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

2 SET_VISIBLE_TABS
SET VISIBLE TABS

Set horizontal tabs visible for the current window.
   
2 SET_NOVISIBLE_TABS
SET NOVISIBLE TABS

Set horizontal tabs invisible for the current window.
   
2 TABS_TO_SPACES
TABS TO SPACES

Convert all tabs to the equivalent number of spaces in the current
buffer.

Use the CONVERT TABS command to convert a tab-formatted Fortran file
to a space-formatted Fortran file.

2 TRANSLATE_BUFFER
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.

2 TRIM_BUFFER
TRIM BUFFER

Remove all trailing spaces from the current buffer.

2 END_OF_WORD
END OF WORD

Move cursor to next end of word.

2 SET_NOFORTRAN_MODE
SET NOFORTRAN MODE

The normal mode of evex is used for most editing.  The alternate mode
is called fortran mode which is obtained with do-set fortran.

In fortran mode, the label "I=" followed by the indent-column number
appears in the status line.  This label is absent in normal mode.

2 SET_FORTRAN_MODE
SET FORTRAN MODE

The following features are unique to fortran-mode:
 TAB       Inserts spaces or indents
 Gold-TAB  Inserts spaces and a continuation mark at beginning of line
 ASCII TABs are shown explicitly on the screen.
 The label "I=" in the status line indicates in indent column.

Several additional commands are available in either mode:
 modify   Modifies a select range (comment, uncomment, shift)
 put      Puts frequently used fortran text into file
 indent   Set the indent column
 convert  Converts ASCII-TAB-formatted file to space-formatted file.

Fortran-Eve automatically removes trailing spaces from all lines.

Evex automatically starts up in fortran-mode if the file type is .FOR
  and if the file also contains no ASCII TABs.  If the file is empty,
  user is prompted for desired mode (fortran or normal).

2 FORTRAN_TAB
 FORTRAN TAB

This replaces the usual ASCII TAB key.

If column < indent column, spaces to the indent column.
Statement numbers may be entered before tab.
If column >= indent column, spaces to next odd-numbered column.
Does nothing if cursor is beyond the end of the line.
Any text existing on the line is displaced to the right.

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

2 CONTINUE_TAB
 CONTINUE TAB

If column = 1, spaces to column 6, inserts a * to initiate a
continuation line and then spaces to the indent column.
Does nothing if column > 1.
Any text existing on the line is displaced to the right.

2 CONVERT_TABS
 CONVERT TABS

Converts all ASCII TABs to spaces in a Fortran file using the
algorithm described for the FORTRAN_TAB:
If tab is in column < indent column, adds spaces to indent column.
If tab is in column >= indent column, adds spaces to next odd-numbered
  column.
Tab-formatted continuation lines are handled correctly.
User is prompted to be sure he really wants to do this.

Always removes trailing spaces from all lines in the file.

2 TEMPLATE
TEMPLATE
Reads the first file listed in 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 help screen for the PLAY procedure
for further info.

2 PLAY
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 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 filelist.evex or 2) the list in the RUN buffer should be
used.  The list in the RUN buffer may be used if 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 "!" 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 help
screen for the TEMPLATE procedure) 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 "a" to playback on all files without further prompting.
Enter "m" ("s") to modify (skip) the current file and then go on to
the next file.  Enter "q" to quit playback.                     

2 PUT
 PUT

Places frequently used fortran text in the file. Prompts for type of
text to enter if 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 %Enter will appear indicating
that user should enter statement number which will be automatically
duplicated into the statement field of associated statement.
Terminate entry with a \.

For some text blocks, a marker will appear at the next logical typing
position.  Enter ctrl/n (next) to go to this marker at any time.

2 NEXT_MARK
 NEXT MARK

When fortran, tex or latex text is inserted, a visible mark is
sometimes set at the next logical typing position.  Use next_mark
(CTRL/N) to go to this mark.

2 MODIFY
 MODIFY

Perform one of several modifications to all lines within a select range.
Choices (in response to prompt) are:
(c)omment:  Add the letter "c" to the first column of each line (fortran).
(!):  Add the symbol "!" to the first column of each line (dcl).
(%):  Add the symbol "%" to the first column of each line (tex).
(u)ncomment:  Remove the character "c", "C", "!", or "%" from first column
(s)hift:  Shift the statement field horizontally by a given number of
 columns.  Routine will prompt for number of columns to shift.
-No shift is performed on a select range containing ASCII TABs.
-Shift is accomplished by adding or deleting blanks starting from
 column 7;  all lines are shifted by the same number of columns.
-Comment lines are not shifted.
-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.
-For positive shifts (to the right), a message indicates how many lines
 have been shifted beyond column 72.
(f)ill:  Fill the select range.

2 INLINE
 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 {\it ...\/}) or an inline math-mode ($...$).

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 reponse should be
a one-character key press. If the key to which INLINE is bound is
pressed twice, the inline math-mode declaration ($...$) is inserted by
default (enter GOLD "-" "-" on a VT100 or MAC).

2 PSET_MARK
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 sets mark at current cursor position.  "P=Y" appears in the
status line as long as the mark is set.

Second pset returns the cursor to the mark from any other position
 in any buffer and deletes the mark.  Sets "P=N" in status line.

Pdelete deletes the mark without first returning to it if the mark is set.

2 PDELETE_MARK
PDELETE MARK

Deletes the position mark without returning to it if mark is set.
  Sets "P=N" in status line.  No action if mark is not set.

Pset sets and returns to the position mark.

2 PATH
PATH

Extension of the BUFFER command.  The syntax is similar to the
DCL Path command.  The arguments and actions are:

"name" goes to buffer "name" (same as BUFFER command)

"\"  goes to previous buffer
"\\" goes to previous-previous buffer
"^", ".", or "-" goes to original buffer

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 or BUFFER, for example).

2 INDENT_COLUMN
 INDENT COLUMN

Set or reset the indent column.  The TAB and CONTINUE_TAB space to this
column.  The indent column is indicated after "I=" in the status line.

Sets the indent column at the current cursor position. If the cursor is
 in column 1-6, sets indent to column 7.

2 RUN
RUN

Copies the current buffer to a temporary file and runs the file while the
user remains in EVE.  If the extension of the current buffer name is .FOR,
runs the FORTRAN compiler. If the extension is .TEX, runs TeX or LaTeX
depending on the argument of the RUN command ("t" or "l") or the user
response to a prompt if no argument is given.  Otherwise, prompts for
which to run.

For a .FOR or .TEX buffer (LaTeX only), a section of the buffer may be
selected 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 error occurs during the run, automatically windows the screen and puts
error messages in the additional window.  For TeX or LaTeX, automatically
positions the cursor in the user window on the line containing the error.

2 WINDOW_TOP
 WINDOW TOP

Move cursor vertically to the top line of the current window.
The horizontal position of the cursor is unchanged.

2 WINDOW_BOTTOM
 WINDOW BOTTOM

Move cursor vertically to the bottom line of the current window.
The horizontal position of the cursor is unchanged.

2 HALF_LEFT
 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.

2 HALF_RIGHT
 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.

2 BLOCK
BLOCK

Cut/paste a block of text defined by the corners of the block.
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
Note:
-BLOCK will not work on files containing tabs.  Convert tabs
 with the command "tabs to spaces" before doing block transfers.
            
2 LINEFEED
LINEFEED

Simulates the action of the LINEFEED key in DCL command-line editing.
Erases from the current cursor position back to a space 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  [{<@#)/*  then
LINEFEED erases the character.  Otherwise, LINEFEED erases the
preceeding character and then erases back to either a space, a tab or to
one of  []<>(){}.,;:'`"\|/?!@#$&*-=+  where the space, tab or character
is not erased.  Note that underscore "_" is not treated as a punctuation
character.

A difference between LINEFEED and the DCL-linefeed is that asterisk "*"
is treated as a punctuation character by LINEFEED.  This facilitates use
of LINEFEED for erasing parts of a line in a Fortran file.

2 LOOK
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 if your VAX
has this routine installed.

2 LIST_BUFFERS
LIST BUFFERS

Lists current user buffers and temporarily redefines the SELECT and
REMOVE keys.  Move cursor to a buffer name and press SELECT to go to
that buffer.  Press REMOVE to remove that buffer.

2 LIST_ALL_BUFFERS
LIST ALL BUFFERS

Lists all current buffers (user and system) and temporarily redefines
the SELECT and REMOVE keys.  Move cursor to a buffer name and press
SELECT to go to that buffer.  Press REMOVE to remove that buffer.  Use
caution if removing system buffers.

2 DISPLAY_CHARACTER
DISPLAY CHARACTER

This procedure writes a one line message describing the current character
in terms of Octal, Decimal, Hexadecimal and (sometimes ) '^' notation.

2 DESCRIBE_KEY
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 "Key Has No Function..." is
displayed in the message area at the bottom of the screen.  Otherwise,
the key's function is displayed.

2 SORT_BUFFER
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.

2 RELEASE_BUFFERS
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. 

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

2 SEARCH
SEARCH

Same as FIND but with the following wildcards:
ascii comp  
          % - single-character wildcard
          * - multi-character wildcard
 171  <<  « - beginning of line
 187  >>  » - end of line
 163  l=  £ - next character is literal

Constrained search is also allowed if special character is the
first character on the line before the search string:
 168  xo  ¨ - string is a Fortran variable
 167  so  § - string is a word
 182  p!  ¶ - string is a VAXTPU pattern

The symbols in the "comp" column are typed after pressing the
COMPOSE key on a VT2xx terminal to insert the wildcard character
into the search string.

2 ASCII_CHARACTER
ASCII_CHARACTER

Insert an Ascii character, given the decimal equivalent.

2 LIST_FILES
LIST FILES

List specified file specs 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.

2 GFILE
GFILE

GET the file specified by the string under the current cursor position.

2 FETCH
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.

2 VERSION
VERSION

Display the EVEX version number in the message window.
