home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
BEEHIVE
/
UTILITYS
/
VDO.ARC
/
VDO23-KP.DOC
< prev
Wrap
Text File
|
1990-07-21
|
13KB
|
276 lines
.fo VDO Version 2.3 02/20/85 Page #
Documentation for VDO Version 2.3
Contents
The following appears in this document:
Overview of VDO
Advantages of VDO
Disadvantages of VDO
Operation
Cursor Control
Single Keystroke Commands
Quick Commands
Block Commands
Error Handling
Customizing Notes
Overview
VDO (Video Display Oriented editor) is a small (5K) non-
document file full screen editor. It originally appeared in a
BYTE article by Richard Fobes (BYTE 9/82 and 10/82), was
subsequently modified by Spite Software, then Bill McTeer, then
Don Krantz, then Mike Rejsa, then Don Krantz, then James H. Whorton.
The present version (2.3) bears almost no resemblance to the
original, except that both purport to do full screen editing.
VDO is a memory based editor - that means that both the
editor and the file being edited reside in memory. With a 59K
CP/M system, that gives you a maximum file size of about 48K.
Since you will probably use this for program source files, that
ought to be plenty. If not, there's always WordStar.
VDO uses a small subset of standard WordStar keystroke
commands. Where possible the keystrokes to activate a VDO
operation are exactly the same as for WordStar.
Advantages to VDO
VDO's major advantage over WordStar and other screen editors
is its small size - only 5K of disk space is needed, as opposed
to 60+ for WordStar. A minor advantage is VDO's speed - with no
overlay files to swap in and out, VDO seems very fast. VDO
normally uses a memory mapped display interface, which speeds it
up even more.
Disadvantages to VDO
VDO lacks many features found in WordStar. However, most of
the important features are implemented.
.cp 5
Operation of VDO
VDO is started by typing either:
VDO
-or-
VDO d:filename
In the first version, where no filename is specified, VDO
will create a new file when you exit, asking for the filename at
that time. If the second version is used, VDO will attempt to
open the specified file. If no file of the specified name exists,
VDO will display an error message. You may continue from that
point, and the name specified will be used to save the new file.
If the file specified can be located, VDO will load the file and
place the cursor at the start of the file. In any of the the
three situations, you will be ready to start editing the file.
VDO has only a few commands, broken into three major groups:
Cursor Control, Quick Commands, and Block Commands. Several minor
commands are also implemented. Anything not a control character
which can't be interpreted as a command will be entered into the
file as text.
Cursor Control
The standard WordStar cursor controls ^A, ^S, ^D, ^F, ^E,
^X, ^R, ^C are all implemeted, and all work pretty much as you'd
expect. Definitions are:
^S move cursor a character to the left
^D move cursor a character to the right
^A move cursor a word to the left
^F move cursor a word to the right
^E move cursor up a line
^X move cursor down a line
^R move a page (usually about 18 lines) up
^C move cursor a page down
Notes:
The Osborne 1 version ALWAYS patches the arrow keys to
"WordStar" mode when entering VDO, and ALWAYS patches the arrow
keys to CP/M on exit.
The Osborne 1 uses ^- in place of DEL.
The Kaypro version allows the use of the arrow keys, as well
as the above WS cursor controls. (JHW)
All versions may patch the source code to modify how many
lines the ^R and ^C commands move.
Single Keystroke Commands
These commands are all activated by single keystrokes.
RETURN and TAB are both accepted at any time, and entered into
the file as text.
^L repeats last ^Q F or ^Q A (see Quick commands), using same
options. (Note: ^U for Kaypro version. JHW)
^P Enter a printer code - The next character typed will be
entered into the text as-is, even if it normally has other
significance (e.g. ^P^L will enter a ^L into the text file
rather than doing a "repeat find" operation).
^V toggle Insert mode on or off
^T delete one word to the right - the scheme is: first, delete
character under cursor. Next delete following displayable
characters (doesn't include control characters displayed).
Next, delete following white space (blanks and control
characters) except for tabs or end-of-lines.
^Y delete entire line cursor is on
^G delete character right of (under) cursor
DEL delete character left of cursor
When moving the cursor, the display will adjust to the
cursor position. You can't move the cursor off the screen
accidentally. If a line is too wide to fit on the screen, it will
scroll left automatically when the cursor travels off the left
end of the screen. The column count on the status line will
reflect the correct logical column at all times. Control
characters do not count as occupying a logical column.
Quick Commands
The Quick Commands are all accessed by typing a Control-Q. A
menu will display showing Quick options. The Quick commands, with
one exception, all involve moving the cursor to a different
position in the text quickly.
^QR places the cursor at the start of the text.
^QC places the cursor at the bottom of the text.
^QB places the cursor at the marker for the beginning of the
block, if this marker is set (see ^K B).
^QK places the cursor at the marker for the end of the block, if
the marker is set (see ^K K).
^QF allows you to specify a string to search for in the text.
This string may not include carriage returns. After
selecting 'F', VDO will ask for the string to look for (the
"target" string). Type in the string, then press RETURN.
VDO will next ask if you wish to ignore upper and lower
case differences. If you do not press "Y", VDO will look for
a string capitalized exactly as you capitalized the target
string. Pressing a "Y", "y", or "^Y" will cause VDO to
treat upper and lower case letters as exactly identical.
(The default answer for this question may be configured in
the source code)
Next, VDO will ask if you wish to look backwards from
the cursor position. If you do not answer "Y", "y", or "^Y",
VDO will look forward from the cursor postion.
When VDO finds the target string in the text, it will
move the cursor to that position and display the surrounding
text. If the string is not found, an error message will
display and the cursor will be returned to the starting
position.
^QA Find-and-replace. Works just like ^QA, except when the
string is found, a string of your choice is substituted for
the target string.
Note: Strings containing Carriage Returns may not be
serached for, but any other control character may be
included in the target string. (both ^QA and ^QF)
^QT Set tab stops. VDO allows tabs to be set to 8, 2, 4, or 16,
with the default at 8. This is a dynamic process, and is
used mainly for C, Ada, and Pascal programmers for variable
indentations.
Block Commands
The block commands are all accessed by typing a Control-K. A
menu will appear with second-keystroke options. Not all Control-K
commands necessarily relate to marked blocks. Block commands
mainly operate on large portions of the text. A "Block" is a
section of the text file begining with the Block Start marker,
and ending with the Block End marker, which you may set at any
point in the text.
Attempting an operation which requires the blocks to be
marked will generate an error if the blocks aren't marked
properly - i.e. the beginning or end not marked, or the block end
marker prior to the block start marker.
[NOTE!: The following commands are accessed with ^O in the Kaypro
version. (JHW)]
^KB Set block start marker.
^KK Set block end marker.
^KC Copy marked block to the cursor position. Block remains
marked at its original position, a copy of the block
appears at the cursor, the cursor is positioned at the start
of the copy.
^KV Move marked block to the cursor position. The marked block
is removed from its position and appears at the cursor. The
markers disappear and the cursor is placed at the start of
the moved material. A block can't be moved "into itself".
^KY Delete marked block. The marked block is removed from the
file and the cursor remains where it is.
^KW Writes the marked block into a file of its own. You specify
the new filename.
^KR Reads a disk file into the current file at the cursor
position. You specify the filename.
^KP Print the file. You will be asked for printer setup codes,
which are entered as you wish them sent. Example: You wish
to send ESCAPE B to the printer prior to printing. Press the
ESCAPE key, then the B key, then RETURN. Problems: You will
not be able to send any codes for which keystroke
equivalents don't exist, and you will not be able to send
the RETURN code (ASCII CR, hex 0DH, decimal 13).
^KZ Zaps (erases) current file from memory (does not affect any
disk versions of the file), and erases the filename.
^KX End of Edit. Saves the file under the current name and
creates a backup file if a version is on disk already. If
VDO was invoked without a filename, or if you ZAPped the
file, VDO will ask for a new filename.
^KQ Abandon file - any changes to the file (unless you did a ^KS
are abandoned. Any disk versions of the current file are not
affected.
^KS Save and continue. Saves the file as it appears in memory,
and continues the editing session. Used in case of failure.
-- VDO resets the disk system before writing files, so the disk
may changed between reading a file in and saving a file, or in
case of system failure (e.g. DISK FULL, BAD SECTOR).
Error Handling
VDO has 9 editing errors which may occur, which clear the screen,
display a message, and wait for you to press the ESACPE key to
clear the error display. The messages are:
FILE TOO BIG - occurs when loading a file to start the editing
session or using ^KR. In the case of ^KR, none of the file is
retained: the text remains as it was before you attempted ^KR.
This message may also occur when attempting to insert text after
the memory size of your system is exceeded.
INVALID KEY - occurs when an entry contains an unexpected key.
Can happen during text entry when an undefined control character
is typed (e.g. ^O), or when entering filenames if bogus
characters are entered as part of the filename (e.g. "space") or
if the filename can't be properly formed.
INPUT/OUTPUT FAILURE - occurs when a requested file can't be
found during initial load or ^KR, or when any system failure
occurs (e.g. DIRECTORY FULL, BAD SECTOR, R/O).
STRING NOT FOUND - occurs during find or find-and-replace
operations if the target string can't be located.
DISK FULL - self explanatory. You may insert another disk and try
again.
BLOCK NOT MARKED - occurs when attempting a block operation which
require the block to be marked if both the block start and block
end markers aren't marked or if the end is prior to the start of
the block.
BLOCK STRADDLES CURSOR - occurs when trying to move a block into
itself. The cursor can't be inside the block when copying or
moving a block.
ILLEGAL TAB STOP - occurs when setting dynamic tab stops, if you
do not enter an valid tab stop number (2, 4, 8, 16 are the valid
numbers)
Customizing VDO
VDO may be customized if you have the following: The source
code for VDO, M80 and L80 from MicroSoft, and experience with
assembly language.
VDO is configured for the Osborne 1, the Zorba, the Fergusen
BigBoard, DEC VT52 terminal under CP/M and the Kaypro. Which version is
generated depends on four equates near the start of the source
code.
Several other equates allow setting a custom scroll point
for the horizontal scroll, default insert mode, default answer to
the Ignore U/L Case question for ^QA and ^QF, the DELETE key to
be used, and the number of lines to scroll for ^R and ^C.
Custom terminals may be installed by either memory mapping
or terminal mapping. Terminal mapping should follow the VT52 map,
which actually is found as "not memmap" in most of the display
interface. Memory mapping is easier, except for the cursor.
You'll have to modify "CH.IN" to display some sort of cursor
i