EDITING MODE
The following are descriptions of commands that can be executed while in
EXPRESS's edit mode. They are all executed by typing a one or two character
sequence, usually control characters, or special keys if you have customized the
commands; eg, for the Amstrad PCW 8256/8512 as here.
The Command keys for the Amstrad PCW 8256/8512 implementation are shown bold,
underlined. All the CONTROL key (ALT on the PCW) inputs described below are
retained as well; however, the original ^? is replaced by ^_ and ^^ by ^U^B to
simplify entry of the codes into the key configuration file EXPRKEYS.DAT (used
with SETKEYS.COM). The Amstrad keys have where possible been chosen for
correspondence with Locoscript, but some scrolling keys are borrowed from
Wordwise Plus on the BBC Microcomputer.
Any time a specific control character is mentioned, it will be preceded by a
'^'; thus, ^N means 'CONTROL+N'. You should remember that CONTROL, ALT & EXTRA
keys are similar to the SHIFT key; you must hold them down WHILE YOU TYPE THE
OTHER KEY. This should not be confused with the ESCAPE, EXIT, key, which is
typed separately from the other character(s) in the sequence.
Many of the commands are a two character sequence started with a ^U or ^P. These
are the 'alternate function' keys: ^U & ^P cannot therefore be used on their
own. Double-keying is necessary because there are more editing commands than
there are control characters.
CURSOR CONTROL
Cursor Left ^H (Backspace)
Moves the cursor one position to the left non-destructively. If the cursor is
already in the first column of the line, it will be placed in the last column of
the of the preceding line.
Cursor Right ^L
Moves the cursor one position to the right non-destructively. If the cursor is
already in the last column of the line, as defined by the screen width or, if in
wrap mode, the current right margin, the cursor will go to the beginning of the
next line.
Next Tab ^I (Tab) TAB
Moves the cursor to the next tab stop on the line. If the cursor is already past
the last tab stop on the line, the line is extended into the next line on the
screen and the cursor is moved to the beginning of this 'continuation line'.
If insert mode is on, or if the cursor is moving past the last character on a
line, a tab will be inserted at the cursor position, otherwise the command just
positions the cursor.
If you wish, you can cause the key to insert the appropriate number of
spaces instead of a tab character. This is useful when the file will later be
used by a program that does not understand tab characters (Turbo Pascal, for
instance). To 'turn off the tabs', return to command mode with , EXIT and
enter the command:
tabs off
After this time, no more tab characters will be entered into the file (although
all existing tab characters will remain).
Previous Tab ^U^I (^U Tab) ALT + TAB
Moves the cursor to the first tab stop preceding the current cursor location in
the line. This command is always non-destructive. If the cursor is at the
beginning of the line, the command is ignored.
Next Word ^W SHIFT + WORD/CHAR
Moves the cursor to the beginning of the next word following the current cursor
location. The beginning of a word is signalled by either the start of a new line
or an non-alphanumeric character ('a'-'z','A'-'Z','0'-'9') preceding an
alphanumeric character. If there are no more words on the current line, the
cursor is moved to the beginning of the next line.
Previous Word ^A ALT + SHIFT + WORD/CHAR
Moves the cursor to the beginning of the current word or, if it is already on
the beginning of the current word, to the beginning of the first word preceding
it. If there are no more words on the line the cursor is moved to the beginning
of the line; if the cursor is already at the beginning of the line, it is moved
to the beginning of the last word on the line above.
Indent ^U^W F5/F6
Moves the cursor to the next tab stop and sets that column as the new left
margin. Please notice that the new margin is the next tab stop after the CURRENT
LOCATION OF THE CURSOR, not the current left margin. This command is
functionally identical to using the INDENT command from the command mode. If the
cursor is already in the last column of the line, the command is ignored.
Un-indent ^U^A ALT + F5/F6
Moves the cursor to the first tab previous to the current cursor location and
sets that column as the new left margin. See the note for Indent above. If the
cursor is already in the first column then this command is ignored.
Start of Line ^U^H SHIFT + LINE/EOL or ALT +
Moves the cursor to the beginning of the current line.
End of Line ^U^L LINE/EOL or ALT +
Moves the cursor to the end of the current line.
Carriage Return ^M RETURN or ENTER
Moves the cursor to the beginning of the next line. If you are currently in
entry mode or if you are at the end of the edit buffer, a new line is inserted.
This command merely positions the cursor; it does not actually place a ^M in the
file, so you can simply type a carriage return from the middle of a line to move
to the next line, you don't have to worry about going to the end or beginning of
the line first as with some other editors.
If you wish to break a line in two you may use the 'break line' command, ^B,
EXTRA + RE-LAY described later. If you really must have the carriage return
break a line in two then you may set the 'break line on CR' flag in ECONFIG and
the carriage return key will actually insert a carriage return/linefeed into the
file (when entry mode is on).
Cursor Up ^K ^
Moves the cursor up one line. If this operation would cause the cursor to go off
the top of the screen, then it is scrolled one line towards the beginning of the
edit buffer. If the cursor is already on the first line of the edit buffer then
this command is ignored.
Cursor Down ^J (Linefeed)
Moves the cursor down one line. If this would cause the cursor to go off the
bottom of the screen, the screen is scrolled one line towards the end of the
edit buffer. If the cursor is already on the last line of the edit buffer then
the command is ignored.
Start of Screen ^U^K ALT + ^
Moves the cursor to the first line on the screen.
End of Screen ^U^J ALT +
Moves the cursor to the bottom line of the screen.
Start of Buffer ^U^R ALT + SHIFT + DOC/PAGE
Moves the cursor to the first page of the edit buffer.
End of Buffer ^U^T SHIFT + DOC/PAGE
Moves the cursor to the last page of the edit buffer.
Start of Line/Screen/Buffer ^U^B (originally ^^) SHIFT +
Moves the cursor to the beginning of the current line when typed once. Typed
twice, it moves to the beginning of the first line on the screen. Three times
moves to the beginning of the first line of the edit buffer. If the cursor is
already in the desired position, the command is ignored.
End of Line/Screen/Buffer ^N SHIFT +
Moves the cursor to one position past the last non-space on the current line
when typed once. When typed twice, it moves to the end of the last line on the
screen. If it is typed three times, it moves the cursor to the end of the last
line in the edit buffer. If the cursor is already in the desired location, no
action is taken.
SCROLLING COMMANDS
Scroll Backward One Line ^F EXTRA +
Scrolls the screen one line towards the beginning of the edit buffer; the cursor
remains in the same position on the screen. If the first line of the edit buffer
is already on the screen, the command is ignored.
Scroll Forward One Line ^G EXTRA + ^
Scrolls the screen one line towards the end of the edit buffer. The cursor
maintains the same absolute position on the screen. If less than half of the
lines on the screen are actual lines of the file (as signified by the [EOB]
message following the last line) then the command is ignored.
Scroll Backward Continuously ^U^F SHIFT +
Scrolls the screen towards the beginning of the buffer, one line at a time.
While scrolling is in progress, several keys take on a special function:
1. Typing any digit, 0 to 9, will change the auto-scroll speed to that speed.
'1' gives the slowest scroll speed and '0' gives the fastest. These are arranged
in ascending order across the top of the computer keyboard.
2. The minus key (-) changes the direction of the scroll. If you were
scrolling backward, you will begin scrolling forward, if you were scrolling
forward, you will begin scrolling backward. This key was chosen because it is
usually situated immediately to the right of the '0' key on the computer
keyboard and it also has the meaning of negate' which is what you are doing -
negating the command.
3. Any other key will stop the scrolling action and return you to normal edit
mode.
Scrolling will automatically stop when the beginning of the buffer is reached.
Scroll Forward Continuously ^U^G SHIFT + ^
Scrolls the screen towards the end of the buffer, one line at a time. The
scrolling can be set from Command mode; or reversed, speed changed or stopped as
for the Scroll Backward Continuously command above.
Scrolling stops automatically when the last line of the buffer is on the screen.
Center Cursor Line ^] "Grid" (ie,"2")
Scrolls the line that the cursor is currently on to the middle of the screen.
This is useful for seeing the context in the file of a word that has just been
found using the SEARCH command.
If this command would cause scrolling past the beginning of the file, as much
scrolling is done as possible, then the terminal beeps.
Next Page ^T DOC/PAGE
Clears the current page from the screen and displays the next 24 lines (or
however many lines your terminal can display) on the screen. If you wish to page
rapidly through a file to find a certain section, you may press the 'next page'
key several times; you do not have to wait for the screen to finish painting. As
soon as you type any key, painting of the screen is temporarily suspended and
the new command is executed. If there are no more lines in the edit buffer past
the ones already displayed, this command takes no action.
Previous Page ^R ALT + DOC/PAGE
Clears the current page from the screen and displays the previous 24 lines (or
however many your terminal can display) on the screen. The same comments about
the painting of the screen given in the Next Page command hold for this command
(and all other commands, for that matter), too. If there are less than 24 lines
preceding the current screen being displayed, then the first 24 lines of the
file are displayed.
INSERTION & DELETION COMMANDS
Rubout DEL
The cursor is moved left one position and the character in this position is
replaced with a space (' '). If you are at the beginning of the line It remains
there and replaces that character with a space.
Rubout works slightly different when in insert mode. The cursor is moved back
one space and the character is deleted, but then the rest of the line is
adjusted one position to the left to close up the space left by the deletion. If
you are at the beginning of the line in insert mode, rubout will append the
current line on the line above, effectively deleting the carrige return/linefeed
at the end of that line. (note that this can be changed with ECONFIG so that RUB
cannot delete return/linefeed)
Delete Character @ Cursor ^D DEL
This removes the character that the cursor is currently on and adjusts the
remainder of the line one position to the left. The cursor remains in the same
position on the screen.
Since tab stops are stored as single characters, you may delete a tab with the
Delete Character command. This is helpful when restructuring a computer program
in Pascal, C, or some other structured language, because it allows you to
'undent' a whole section of code quickly by simply typing ^D^M, DEL, RETURN
several times (once for each line).
Insert Single Space ^E SHIFT + SPACE bar
This opens up space for one character at the current cursor position.It is
useful for minor alterations, such as misspelled words, when it is inconvenient
to toggle insert mode, type the character, and then toggle insert mode again. It
is also helpful when you wish to move a line to the right on the screen by
inserting spaces at the beginning of the line, but do not want the cursor to
move from its present position.
Partial Insert Mode ^Q SHIFT + F1/F2
This temporarily turns on insert mode (as described in the section on 'Toggle
Insert Mode'). Each character you type after this command will be 'inserted'
into the line instead of typing over what is already there. Typing any control
command except 'Rubout', DEL; 'Tab', ^I TAB; 'Insert Control Character', ^C,
STOP; or of course this command itself, will return you to the 'replacing mode'
of text entry.
The command is useful for many of the same reasons as 'Insert Single Space' and
'Full Insert Mode', and which of these commands you usually use is a matter of
personal taste; they were all included so that you can pick the way you want to
do it. The commands you don't use can be filed away in the back of your mind so
that if you ever need them you will remember they exist, but probably you will
never need, or want, to remember and use all of the commands available.
If you are currently in full insert mode, this command will place you in partial
insert mode.
Toggle Full Insert Mode ^U^Q F1/F2
This key changes the state of insert mode; if it is on, it is turned off and if
it is off, it is turned on. This new setting remains in effect until the command
is issued again or until the editing session is terminated.
The Amstrad PCW 8256/8512 implementation is configured with insert mode ON
initially.
When insert mode is on, everything that is typed is 'inserted' at the cursor
location, that is, it does not type over the character that the cursor is on. It
is functionally equivalent to typing an 'Insert Space' command, ^E, SHIFT +
SPACE bar, before typing each character.
When insert mode is off, any character that is typed simply replaces the
character that the cursor was on before the new character was typed.
Another command similar to this is 'Partial Insert Mode', ^Q, SHIFT + F1/F2,
described above. This command 'temporarily' enters insert mode until another
editing command is given.
Delete Word ^V EXTRA + DEL
Deletes from the current cursor position to the beginning of the next word and
adjusts the line to close up the space.
This command has three distinct uses which vary slightly. The first is, of
course, to delete an entire word; this is done by placing the cursor on the
first character of the word (usually with the 'next' or 'previous word' command)
and executing the command.
The second use is to delete the end of a word. This is done by placing the
cursor on the first character that you wish to be deleted and entering the
command.
You may also delete a large group of spaces by placing the cursor on the first
space to be deleted and executing the command; all spaces up to the beginning of
the next word will be deleted.
UNdelete Word ^U^V EXTRA + DEL
Any time a deletion of more than a single character is performed, the deleted
text is placed temporarily in a buffer in case the deletion was not wanted, or
possibly if you want to put the deleted text somewhere else in the file. When
you perform the UNdelete Word command, enough space is provided at the current
cursor location for the previously deleted text and it is inserted there. Note
that it is possible (and often desirable) to delete a line with ^Z, SHIFT + DEL
and then UNdelete it as a word or partial line with ^U^V or ^U^Y. The opposite
operation is also possible.
The delete buffer is left intact following this operation, so you may UNdelete
the same string as many times and in as many places as you wish.
If no text has previously been deleted during this edit session, the command
takes no action.
Delete to End of Line ^Y SHIFT + DEL
This deletes to the end of the current line on the screen, starting at the
current cursor location. If the line below is a continuation of the current
line, the contents of the continuation line are also deleted, and the
continuation line is removed from the screen. The deleted text is saved
temporarily in the delete buffer for possible later 'UNdeletion'.
UNdelete End of Line ^U^Y ALT + SHIFT + DEL
This command is functionally identical to UNdelete word. It is provided as a
separate sequence merely for consistency and convenience.
Delete Line ^Z SHIFT + DEL
When typed once, this command takes no action. This is to prevent erroneous
deletion of lines. However, every time it is typed after the first time, it
deletes one line from the screen. The deleted text is stored temporarily (until
the next word or line deletion) in the delete buffer for possible 'UNdeletion'
at a later time and place.
Typing any other character causes its flag to be reset and you must then type it
twice to begin deleting lines again.
If this command deletes the last line of the edit buffer, it automatically moves
the cursor up one line to the new last line.
If the deletion causes the screen to be less than half full of actual lines of
the file (as shown by the presence of the [EOB] message) then the screen is
scrolled down one line (towards the beginning of the edit buffer.
If there is only one line in the edit buffer, it will only be cleared, not
deleted; if there were no lines in the edit buffer, there would be no place for
the cursor to be positioned.
UNdelete Line ^U^Z ALT + SHIFT + DEL
This command is similar to the UNdelete Word command except that a new line is
inserted above the line the cursor is currently on for the deleted text to be
UNdeleted into. Again, I will point out that it is possible to delete a word or
partial line and UNdelete it as a line.
If there have been no previous deletions during this editing session, a blank
line will be inserted above the line the cursor is currently on.
Insert Line ^X ALT + SHIFT + LINE/EOL
This inserts a new line ABOVE the line the cursor is currently on and places the
cursor at the beginning of this new line, as specified by the value of INDENT.
Toggle Entry Mode ^\ F3/F4
This key changes the state of entry mode; if it is on, it is turned off and if
it is off, it is turned on. The new setting remains in effect until the command
is issued again, the editing session is ended, or wrap mode is turned on (at
which time it is turned off).
When entry mode is on, a carriage return command, ^M, RETURN or ENTER, causes a
new line to be inserted below the current one after which the cursor is placed
at the beginning of the new line.
When entry mode is off, a carriage return acts normally.
Entry mode is useful when adding new sections to the middle of a computer
program or other text. It relieves you from the burden of having to type so many
Insert Line commands, ^X, ALT + SHIFT + LINE/EOL. This is not needed when typing
at the end of a file, as new lines are inserted automatically then.
ECONFIG's efault setting section allows you to set entry mode either
initially on or off. The Amstrad PCW implementation sets it OFF
FORMATTING COMMANDS
Break Line ^B EXTRA + RE-LAY
This breaks the line the cursor is on into two lines, the first from the start
of the line to the character preceding the cursor and the second from the cursor
position to the end of the line. The cursor is left at the end of the first
line.
If you are in wrap mode, an attempt will be made to reformat the lower line in
with the lines following it. This allows you to use this command to break
paragraphs without having to do any manual reformatting.
Concatenate Lines ^O SHIFT + RE_LAY
This joins the line following the line that the cursor is on with the cursor
line. This is the opposite operation of Break Line.
When in wrap mode, this command simply attempts to reformat the remainder of the
current paragraph to the currently set right margin.
If their are no lines below the current line or the line below is already a
continuation of the current line, the command is ignored.
Reformat Lines ^U^O RE-LAY
Reformats lines within a paragraph when word-wrap is on, following changes,
insertions, etc.
BLOCK COMMANDS
Block commands allow you to move large 'chunks' of text around the file. These
commands are accesible from Command mode as well as edit mode in case you are
more accustomed to using them that way. They are explained more fully in the
COMMAND MODE section of the manual under Block Commands. The EXPRESS.OVL file
must be present in some user area of the current drive or drive A to use the
Block Commands.
Insert Block Marker ^P^P F7/F8
This inserts, at the beginning of the line the cursor is currently on, a marker
for use by the BMOVE, BCOPY, BDELETE, and BSAVE commands. You can enter as many
of these as you like, although having anything other than two when you try to
execute a block operation will get you an error message. These markers can be
SEARCHed for and REPLACEd just like any other character. If you do not like the
character currently used for displaying a block marker, you may change it to any
other displayable character with the configurator program.
To remove a single block marker, you may use the command ^P^U, ALT + F7/F8, or
you can simply position the cursor over the block marker and do a ^D, DEL (or
any other editing command that deletes). The advantage of the ^P^U, ALT + F7/F8
sequence is that it works if you are anywhere on the same line as the block
marker; you don't have to place the cursor directly over it. To remove all block
markers at once, use the BKILL command in command mode.
Block markers are automatically cleared from the file before it is written to
disk.
Block Copy ^P^C COPY
This places a copy of the currently marked block 'in front of' the line the
cursor is currently on. The original block remains untouched and the block
markers are not cleared.
Block Move ^P^M PASTE
This moves the currently marked block to 'in front of' the line the cursor is
currently on. The block markers are removed after the operation.
Block Delete ^P^D CUT
This deletes the currently marked block of text. Be careful with this command
because it does not ask for confirmation (as BDELETE in command mode does) and
its deletions are final!!! Block delete in edit mode is faster and more
convenient, but dangerous in the hands of a careless person.
Kill Block Markers ^P^K ALT + SHIFT + F7/F8
This removes all block markers from the edit buffer.
SPECIAL COMMANDS
Some of these commands are related, but mostly, their reason for being placed
here is that they don't fit anywhere else.
Continue Search/Replace ^S [-]
This finds the next occurence of the last string SEARCHED for. If you are in
replace mode, the keys described in the section on selective replace will be in
effect after you find the next occurence. If there are no more occurences of the
search string following the cursor in the edit buffer, EXPRESS will beep and
leave the cursor where it is.
Insert Control Character ^C STOP
When this command is typed, no attempt will be made to translate the next
character into a command. This allows the entry of control characters (and keys
that have been redefined as macro keys) directly into the file.
Some uses of this are to place printer commands, to do things such as formfeeds
and font changes, into a file, or possibly to do things such as clearing the
screen of a terminal before printing a file.
All control characters are displayed as '^c' where 'c' is the letter
corresponding to the control character. It is also possible to enter RUBouts
(DEL) into the file in the same manner; they are displayed as '^_' in the
Amstrad PCW implementation. Once in the file, the control characters can all be
SEARCHed for, REPLACEd, and whatever else you might wish to do with them. They
are distinguishable from the regular characters, such as the following: '^C', by
the fact that you cannot position the cursor directly on the 'C' if it is a
control character, but you can if it is just a '^' followed by a 'C'.
The only exceptions to the above statements are that the characters ^Z and ^@
cannot be entered into the file. Entry of ^Z was disallowed on purpose, because
^Z is the CP/M End of File character; having it occur in the middle of a file
would create results ranging from mildly annoying to catastrophic. The inability
to enter ^@ originally stemmed from CP/M's Direct Console I/O function's
inability to directly input a character with a value of 0. This fact was taken
advantage of and now ^@ is a special character used internal to EXPRESS (along
with the characters represented by 0FFh and 0FEh; all other characters from 01h
to FDh may be entered, whether your terminal can display them or not). However,
I have never heard of ANY computer system, terminal, or printer that used ^@ for
anything except a delay character, so this should never be any hindrance.
The entry of characters greater than (7FH) is also supported by the Insert
Control Character command. If you can't display characters with bit 7 set, they
will be displayed as '\c' if a printable character with bit 7 set, or '/c' if a
control character with bit 7 set (where 'c' is the character) if you can display
these characters on your terminal then you can enter them as regular characters
by following the instructions in the configuration section under 'Displaying
Graphics Characters'.
Enter/Leave Command Mode ^[ EXIT
This command clears the screen and places you in command mode. when in command
mode, the cursor is placed after a prompt '>' and you may input any of the
commands described in the 'Command Mode' section of the manual. All of the
single-line edit commands may be used for editing your entry on the command
line; you can even delete a word while in edit mode and UNdelete it onto the
command line, for instance.
If you are currently in command mode, you can enter edit mode by typing this
same command; you may think of it as a toggle, to swap between the two modes of
operation.
This key is also used to get you out of various situations that you may find
yourself in (similar to ^C in CP/M). For instance, the TYPE command and the
BPRINT command use this key to cancel their operation immediately and return, of
course, to Command Mode.
For more information on command mode and what to do once you get there, see the
'Command Mode' section of the manual.
Share with your friends: |