The CHANGE command puts EDT in change mode. Use change mode to edit at the character level rather than the line level. Format: CHANGE [range] [;nokeypad command(s)] The optional range specifies the cursor position when you enter change mode. If you omit range, the current position is used. There are three submodes of change mode. Which submode you use depends on the type of terminal you are using and whether or not you wish to use the auxiliary (numeric) keypad for editing commands. These modes are: 1. Hardcopy mode 2. Keypad mode 3. Nokeypad mode If the CHANGE command contains a semicolon (;) it may be followed by nokeypad commands. If the last nokeypad command is EX, EDT returns to line mode for the next command line. This is the only form of the CHANGE command that may be used in a startup command file or macro.
1 – ENTITIES
Entities are used in nokeypad mode commands to specify the text on which a command will operate. Each entity represents a portion of text, which may be anything from a single character to an entire text buffer. Most entities can be preceded by a count, which indicates the number of entities to be affected.
1.1 – CHARACTER
The character entity is specified by the letter C. It selects a single character of text.
1.2 – WORD
A word consists of a string of characters terminated by a set of delimiter characters. The default delimiter characters are spaces, tabs, carriage returns, line terminators, line feeds, formfeeds, and vertical tabs. Spaces are handled in a special way: all spaces following a word up to the first non-space character are considered part of a word. Other delimiters are not considered part of the word they terminate. Rather, they are considered to be words by themselves, unless SET WORD NODELIMITER in in effect. If SET WORD NODELIMTER is in effect, delimiters are not considered words by themselves but are considered part of the word they terminate. The three word entities are: W Specifies the entire word in which the cursor is positioned. BW Specifies all characters preceding the cursor up to the beginning of the word. EW Specifies all characters from the cursor through the end of the word. You can change the word delimiters with the SET ENTITY command.
1.3 – LINE
The line entities are: L Specifies the entire line in which the cursor is positioned. BL Specifies all characters preceding the cursor up to the beginning of a line. (When the cursor is positioned at the beginning of a line, the BL entity selects the entire previous line.) EL Specifies all characters from the cursor to the end of a line, including the character on which the cursor is positioned. (If the cursor is on a line terminator, the entire next line is selected.) NL Specifies all characters from the cursor to the beginning of the next line, including the character on which the cursor is positioned.
1.4 – RANGE
The range entities specify all text in the buffer either before or after the cursor. The two range entities are: BR Specifies the text from the cursor position to the beginning of the buffer. ER Specifies the text from the cursor position to the end of the buffer.
1.5 – SENTENCE
A sentence consists of a string of characters terminated by one of a set of single character delimiters. The default sentence delimiters are: period (.), question mark (?), and exclamation point (!). A sentence delimiter is considered to be a delimiter only if it is at the end of a line or if it is followed by a space. The line terminator or trailing spaces are considered a part of the sentence. There are three sentence entities: SEN Specifies the entire sentence in which the cursor is positioned, including the delimiter and trailing spaces or line terminator. BSEN Specifies all characters preceding the cursor in the current sentence. ESEN Specifies all characters in the current sentence from the cursor to (but not including) the delimiter character. The sentence delimiters can be changed by the SET ENTITY command.
1.6 – PAGE
A page consists of all the text between two page delimiters, including the trailing page delimiter. The default page delimiter is the formfeed character. The three page entities are: PAGE Specifies all of the current page. BPAGE Specifies all characters in the current page from the character preceding the cursor to the beginning of the page. EPAGE Specifies all characters in the current page from the cursor to (but not including) the page delimiter. You can change the page delimiter with the SET ENTITY command.
1.7 – PARAGRAPH
A paragraph consists of all the text between two paragraph delimiters, including the trailing paragraph delimiter, and if SET PARAGRAPH WPS is in effect, any adjacent delimiters. The default paragraph delimiter is two consecutive line terminators. The three paragraph entities are: PAR Specifies all of the current paragraph. BPAR Specifies all characters in the current paragraph from the character preceding the cursor to the beginning of the paragraph. EPAR Specifies all characters in the current paragraph from the cursor to (but not including) the paragraph delimiter. You can change the paragraph delimiter with the SET ENTITY command.
1.8 – SELECT
The select entity consists of all characters between the cursor and the select mark. The select mark must have been specified previously by a SEL command. The select range entity is specified by SR. Some commands use the search string when the SR entity is specified but no select range has been created.
1.9 – VERTICAL
The vertical entity is the same as the line entity, except that with the V entity, the cursor stays in the same column. You specify the vertical entity with V.
1.10 – STRING
The string entity consists of all the characters between the cursor and the next occurrence of a specified search string. Specify the string entity by enclosing the desired search string in single or double quotation marks. If the string is null (specified by '' or ""), the previous search string is used again. For key definitions, you may use the null character (character code 0) in place of the quotation marks to avoid conflicts with the search string.
2 – HARDCOPY
On a hardcopy terminal, change mode operates this way: When you enter change mode, EDT displays the current line on the terminal. The cursor position is marked by bracketing the character on which the cursor is positioned. EDT will then prompt with the characters: C* In response, you type a series of nokeypad mode commands terminated by pressing return. EDT will execute the commands and type the current line.
3 – KEYPAD
You enter the keypad mode of change mode when your terminal is a VT100-type or VT52 and the keypad option is set. (This option is set by default for these terminals.) In this mode the terminal screen is used to view the text buffer. Characters typed using the main keyboard are inserted into the buffer at the cursor position. You enter editing commands by using keys on the auxiliary keypad, function keys, or control keys on the main keyboard. For more help on keypad mode, type CHANGE to enter that mode. Use the keypad HELP facility as follows: 1. If your terminal is a VT100-type, press the keypad key marked PF2. 2. If your terminal is a VT52, press the red keypad key. 3. If your terminal has function keys, press the function key marked HELP.
4 – NOKEYPAD
You enter the nokeypad mode of change mode if your terminal is a VT100-type or VT52 and the SET NOKEYPAD command has been used to turn off the keypad option. The screen is used as a window into the text buffer. You type nokeypad mode commands at the keyboard; they echo on the bottom line of the screen. EDT executes the commands and updates the text on the screen whenever you press return.
5 – SUBCOMMANDS
When EDT is in change mode and SET NOKEYPAD is in effect or your terminal is set to HARDCOPY, EDT accepts a distinct set of commands called the nokeypad mode commands. You may concatenate a string of these commands with or without spaces separating them. Nokeypad commands take one of the following forms, depending on the particular command: 1. command 2. [+|-][count]command 3. [+|-][count][command][+|-][count][+|-]entity[=buffer] Whenever a sign can appear in more than one place, the last sign specified determines the direction.
5.1 – ADV
The ADV (advance) command sets the cursor direction to advance. Many nokeypad commands use the current direction to determine whether entities to the left or to the right of the cursor are to be affected. When the direction is forward, nokeypad commands affect the cursor character and characters to the right. Format: ADV
5.2 – APPEND
The APPEND command works in the same way as the CUT command (see CUT) except that it adds the new text to the end of the alternate buffer instead of replacing its contents. Format: [+|-][count]APPEND[+|-][count][+|-]entity[=buffer]
5.3 – ASC
The ASC nokeypad command inserts a specified character into the buffer at the cursor position. Use the count field to indicate the decimal code of the character you want to insert. Characters are coded using the DEC Multinational Character Set; codes 0 to 127 are the same as ASCII. Format: [count]ASC The ASC command is the only way to insert a carriage return into the middle of a line of text; otherwise, insert commands always treat the carriage return as a line terminator. The following command would insert a carriage return: 13ASC (13 is the code for carriage return)
5.4 – BACK
The BACK command sets the cursor direction to backward. Many nokeypad commands use the current direction to determine whether entities to the left or to the right of the cursor are to be affected. When the direction is backward, nokeypad commands affect characters to the left of the cursor. Format: BACK
5.5 – BELL
The BELL command rings the bell on the terminal. There is no effect on the text buffer. Format: BELL
5.6 – CHGC
The CHGC command changes the case of every letter in the specified number of entities: lowercase letters become uppercase and uppercase become lowercase. Format: [+|-][count]CHGC[+|-][count][+|-]entity CHGCSR (change case of select region) works differently: If there is no select range and the cursor is in the search string, CHGCSR changes the case of every letter in the search string. If there is no select range and the cursor is not in the search string, CHGCSR changes the case of the character under the cursor, if it is letter. If the [count] field is two or more, CHGCSR ignores the search string condition.
5.7 – CHGL
The CHGL command forces every letter in the specified range to lowercase. Format: [+|-][count]CHGL[+|-][count][+|-]entity CHGLSR has the same special contingencies as CHGCSR.
5.8 – CHGU
The CHGU command forces every letter in the specified range to uppercase. Format: [+|-][count]CHGU[+|-][count][+|-]entity CHGUSR has the same special contingencies as CHGCSR.
5.9 – CLSS
The CLSS command clears the search string buffer. Format: CLSS
5.10 – CUT
The CUT command deletes a specified number of entities and saves all the deleted text in an alternate text buffer. The command works exactly like the DELETE command except that the text is saved. Format: [+|-][count]CUT[+|-][count][+|-]entity[=buffer] If you do not specify a buffer, the buffer named PASTE is used. Ex: CUTSR Cut the selected range CUTPAGE Cut the current page of text
5.11 – D
The D nokeypad command deletes a specified number of entities. Format: [+|-][count]D[+|-][count][+|-]entity If the entity is C, W, BW, EW, L, BL, EL, or NL, the last entity deleted by the command is saved in the delete buffer associated with the entity and can be restored with the UNDC, UNDW, or UNDL nokeypad command. Ex: D15C Deletes 15 characters in the current direction. DSR Deletes the select range. DBR Deletes to the beginning of the buffer.
5.12 – DATE
The DATE command inserts the current date and time string into the buffer at the current cursor position. The form of the string is: dd-MMM-yyyy hh:mm:ss . Note the trailing space. Before the tenth of the month the dd is a space followed by a single digit. If you prefer the month abbreviation to be in lower case, you can change it by backing up to the month and using CHGL. This command always uses the English abbreviations for month names. Format: DATE
5.13 – DEFK
The DEFK command can be used to reassign the define key function to another redefinable keypad mode function key. Format: DEFK
5.14 – DESEL
The DESEL command cancels the current select range if one is active. If no select range is active the command has no effect. Format: DESEL
5.15 – DLWC
The DLWC (default lowercase) command sets the motion state to lowercase. With this as the motion state moving the cursor over a lower case letter changes it to upper case. See DUPC and DMOV. Format: DLWC
5.16 – DMOV
The DMOV command returns the default motion state to unchanged. With this as the motion state moving the cursor over a letter does not change its case. See DLWC and DUPC. Format: DMOV
5.17 – DUPC
The DUPC (default uppercase) command sets the motion state to uppercase. With this as the motion state moving the cursor over a lower case letter changes it to upper case. See DMOV and DLWC. Format: DUPC
5.18 – EX
The EX (exit) command exits from change mode to line mode. Format: EX
5.19 – EXT
The EXT (extend) command executes a line mode command while you are in change mode. EDT interprets the remainder of the command line as a line mode command, executes the command, and reenters change mode automatically. The EXT command may not be used inside parentheses. Format: EXT line mode command
5.20 – FILL
The FILL command reformats a block of text so that as many complete words as possible are placed on each line without exceeding the right margin. It sets the right margin to the terminal width minus 1 character by default. The margin can be changed by the SET WRAP command. Format: [+|-][count]FILL[+|-][count][+|-]entity
5.21 – HELP
The HELP command can be used to reassign the help function to another redefinable keypad mode function key.
5.22 – I
The I command inserts new text into the buffer at the current cursor position. Format: Itext to be inserted^Z or: I text to be inserted ^Z If you plan to insert only a few characters, use the first form of the I command. If you plan to insert several lines use the second form. With the second form you can insert lines until you type control Z. On VT100-type terminals the I command remains at the bottom of the screen to remind you that you are inserting text. Only the first form of the I command can be used in a key definition or after C; in a macro or startup command file.
5.23 – KS
The KS command modifies the cursor position after a PASTE command. After a PASTE command, the cursor is on the character to the right of the pasted text. If PASTE is followed by KS, however, the cursor moves to the last pasted character if the current direction is forward and to the first pasted character if the direction is backward. You should only use the KS command immediately after a PASTE command. Format: PASTE KS Such cursor positioning affects a subsequent string search. KS is used in the definition of the keypad SUBS function so that the character that follows the pasted text in the current direction is included in the next string search.
5.24 – MOVE
The "MOVE" command moves the cursor a specified number of entities. If DLWC is in effect, all letters encountered are forced to lowercase. If DUPC is in effect, all letters encountered are forced to uppercase. If DMOV is in effect, no text is changed. The "MOVE" command uses no command word. Format: [+|-][count][+|-]entity If you use an explicit sign, the direction of the move is determined by that sign (+ for forward, - for backward); otherwise, the current direction mode (set by the ADV or BACK command) is used to determine the direction. Ex: +3W Moves the cursor 3 words forward. L Moves the cursor 1 line in the current direction. -PAGE Moves the cursor backward to a page delimiter.
5.25 – PASTE
The PASTE command copies the contents of an alternate buffer into the current buffer at the cursor position. Format: [count]PASTE[=buffer] If you omit the buffer name, the PASTE buffer is used.
5.26 – QUIT
The QUIT nokeypad command leaves the editor without saving any text buffers. This will cause you to lose any editing you have done in this session unless you used the WRITE command to save the text before quitting. Format: QUIT
5.27 – R
The R (replace) command deletes the specified entities and leaves you in the insert state so you can enter the text that you want to replace the deleted text with. Format: [+|-][count]R[+|-][count][+|-]entity
5.28 – REF
The REF command refreshes the screen. Format: REF
5.29 – S
The S command replaces occurrences of one string of characters with another. Format: [+|-][count]S/string-1/string-2/ The slashes represent any non-alphanumeric character used to delimit the two strings. S searches in the specified direction from the cursor and finds an occurrence of string-1. It deletes string-1 and inserts string-2 in its place. Ex: S/1988/1989/
5.30 – SEL
The SEL command marks a portion of text that will be one end of a select range. You create a select range by positioning to one end of the desired text (either end will do), executing the SEL command, moving to the other end of the desired text, and performing an operation on the SR (select range) entity. On VT100-type terminals the select range is displayed in reverse video. Format: SEL
5.31 – SHIFT
Use the SHL (shift left) and SHR (shift right) commands to alter the left margin when in change mode. The left margin is the position of the first character in each line on the screen. Normally, the left margin is 0, which means all characters are displayed. If you use a SHL command, the left margin can be changed by an integral number of tab stops (8 characters). If SHL is used once, the first 8 columns will not be displayed on the screen. This shifts the screen window horizontally. Format: countSHL (Shift left by count tab stops) countSHR (Shift right by count tab stops)
5.32 – SSEL
The SSEL (search and select) command searches for the occurrence of a string and places the string in the select range. The cursor remains at the far end of the string. Format: SSEL"string"
5.33 – SN
The SN (substitute next) command performs a substitution using the same search and replacement strings as the previous substitute command. Format: [+|-][count]SN
5.34 – TAB
Use the TAB nokeypad command when the line mode SET TAB command is in effect. The TAB command inserts the correct number of tabs and blanks to position the cursor to the current tab level. When SET NOTAB is in effect, or when the cursor is not at the beginning of a line, this command inserts an HT character, thus positioning the cursor to the next tab stop. Tab stops are every eight columns. Format: TAB
5.35 – TADJ
The TADJ command adjusts the tab level for the specified range of text. The SET TAB value determines the tab size. The tab level is adjusted by the value of count; it is incremented for a positive count and decremented for a negative count. A count not preceded by + or - is assumed positive. The TADJ tab setting is the product of the tab size and the count. Format: [+|-][count]TADJ[+|-][count]entity Note that the + or - that precedes the first count is not used to modify the direction of entity selection. Its function in this command differs in this way from all other nokeypad commands that use a similar format.
5.36 – TC
The TC nokeypad command computes the tab level from the current cursor position. This command has meaning only if SET TAB is in effect. Format: TC
5.37 – TD
The TD nokeypad command decreases the tab level count. This command has meaning only if SET TAB is in effect. Format: TD
5.38 – TGSEL
The TGSEL command allows you to toggle select. When the select range is active, TGSEL will cancel it, and when no select range is active, TGSEL will enable it, acting like the SEL command. Format: TGSEL
5.39 – TI
The TI nokeypad command increases the tab level counter. This command has meaning only if SET TAB is in effect. Format: TI
5.40 – TOP
The TOP command forces the line on which the cursor is positioned to the top of the screen. If there is less than a full screen of lines between the current line and the end of the buffer, TOP has no effect. Format: TOP
5.41 – UNDELETE
The UNDELETE commands restore the last entity deleted by a delete command. Format: UNDC (undelete character) UNDW (undelete word) UNDL (undelete line)
5.42 – XLATE
The XLATE command allows calling back to the caller of callable EDT. Format: XLATEtext^Z The text is passed to the XLATE routine, which returns some NOKEYPAD commands for EDT to execute. This command is an error except on VAX/VMS when EDT is being called from a program. See the EDT Editor Manual for more details.
5.43 – ()
A sequence of nokeypad commands can also be enclosed in parentheses to form a single unit. A number preceding the left parenthesis indicates the number of times to repeat the entire sequence. The EXT nokeypad command cannot appear inside parentheses.
5.44 – ^
This command provides for the insertion of control characters in text. EDT accepts a circumflex (^) followed by a letter from A to Z, an @, [, \, ], ^ or _. Each of these 32 characters is transformed into a control character by subtracting 32 from its ASCII code, thus ^@ becomes NUL, ^A becomes SOH, etc. Format: [count]^[character]