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.