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
/
VDE26.ARC
/
VDE26.DOC
< prev
next >
Wrap
Text File
|
1990-07-21
|
40KB
|
660 lines
VDE26.DOC
---------
Instructions for Video Display Editor:
VDE, VDM 2.60 (07/87)
(c)1987, E. Meyer
==============================================================================
VDE is a small, fast, powerful text editor for CP/M computers, offering:
---
* full-screen editing * block operations * user area support
* wordwrap and reformat * macro programs * disk file operations
* margins, tabs, spacing * find and replace * WordStar compatibility
* many print features * undelete ability * configurable options
VDE is versatile: its pure ASCII mode and definable macros make it an
ideal programmer's editor; its full formatting and printing features also make
it an efficient word processor. VDE is a bit spartan, but it has one great
advantage over more cumbersome programs: speed. VDE is written in Z80
assembler; it's just 12K, with no overlays; it compresses the entire file (up
to 60K or more) into memory. Finding a string at the end of a 50K file takes
me 13.8 sec with WordStar (at 8MHz); with VDE, only the blink of an eye, 0.7
sec. This ease of movement actually changes the way I use an editor.
VDE is designed for Z80 CP/M 2.2 and 3.0 systems; it should also work
with full equivalents (eg HD64180 CPU, ZRDOS) and emulations (eg Z80 cards in
MSDOS computers), but sorry, not on 8080/85 systems. It is ideal for portable
computers with limited disk space. The generic version can be installed for
any terminal; there is also a memory-mapped version VDM, which offers faster
screen display if your hardware supports it. [See VINSTALL.DOC for details.
Comments below in brackets "[]" point out other, optional uses of VINSTALL.]
=============================== INTRODUCTION ===============================
VDE is invoked from CP/M: A>vde {du:}{filename}{[m} "{}" = optional
EXAMPLES: A>vde A>vde my.doc[w A>vde b11:prog.asm n
"du:filename" - file to edit. If drive/user omitted, defaults to current
values. If name omitted, you begin an (as yet unnamed) new file.
"[m" or " m" - choice of file modes: can be "W"ordstar document, "A"SCII
document, or "N"ondocument. Normally defaults to "A".
If an existing file is too large to edit with VDE, you will get a "Memory
Error"; break up the file into two or more pieces, and edit them separately.
(The file size limit is typically about 55K, depending on your TPA size.)
VDE gives you a "status line" at the top of the screen which includes the
filename and mode, cursor position (page, line, column), various toggles if on
(INSert, DoubleSpace, MarginRelease), and prefix flag:
-------------------------------------------------------------------------------
P0:VDE.DOC [A Pg 1 Ln 50 Cl 48 INS DS MR ESC-H = help
VDE 2.60 (c)1987 E.Meyer ||^O- D dsp CR||ESC- Help Info
<udrl> |^V insert|^B reform||^Q- |R TOF ||<u> L,R mrgn||<udrl> Write Prnt
^F wd rt|^N ins CR|^^ case ||<udrl> |C EOF || V,+,- vtabs||Block Read Name
^A wd lf|^G del rt|^P ^code ||B block|F find ||X mrel|T rulr||Termin Files Load
^R pg up|DEL dl lf|^PZ place||P place|A replc||P pagn|S spcg||Unmark Erase Save
^C pg dn|^T del wd|^U undel ||DEL dl BOL| U ||C cntr|W wndw||Copy Macro eXit
^Z rp fi|^Y del ln|^W wait ||Y del EOL |undl||F flsh|Z zap ||Delete Key Quit
-------------------------------------------------------------------------------
If you type ESC-H, you will also get a brief menu of the various VDE
commands. The menu, like all command prompts and error messages, appears
temporarily in the top portion of the screen; press ESC again to remove it.
(Note: "<udrl>" and "<u>" are abbreviations for Arrow Keys: up/dn/rt/lf.)
The VDE command set is similar in many respects to WordStar's, though not
identical. There are ESC- commands, which mostly correspond to WordStar ^K-
(Block) commands; ^Q- and ^O- commands; and other single-control-key commands.
The similarities are strong enough that a WordStar user should have no trouble
adapting to VDE. (In fact, if you find these instructions too cryptic in
places, it may help to look at a WordStar manual.)
============================= COMMAND SUMMARY ==============================
I. CONTROL KEYS: single keystroke commands.
CR = Carriage return (^M). Marks a paragraph end.
BS = Nondestructive Backspace (^H).
TAB = Hard Tab mode: Tab (^I). Variable Tab mode: move to next stop.
Arrow keys: WordStar: ^E up, ^X down, ^S left, ^D right.
Alternate: configurable, default ^K,^J,^H,^L.
^F = move to start of next word right.
^A = move to start of next word left.
^R = scroll upward one screen.
^C = scroll downward one screen.
^G = delete character to the right of the cursor.
DEL = delete character to the left. [Configurable alternate.]
^U = undelete a character.
^T = delete word to right of cursor.
^Y = delete current line.
^N = insert a carriage return (break line) at present position.
^V = toggle INSERT mode on and off.
^^ = toggle case (upper/lower) of character at cursor.
^P = insert following control code in text.
^B = reformat current paragraph.
^Z = repeat find/replace (Repeats last ^QF or ^QA command.)
^W = wait. (Brief pause, useful during Macros.)
II. ESCAPE COMMANDS: first hit ESC, then the key shown. (ESC cancels)
ESC Arrows: Left/Right (including ^S/D) = shift horizontally 32 columns.
Up/Down (including ^E/X) = shift vertically 1/4 screen.
ESC F = Files. Look at the directory of a disk.
ESC E = Erase. Erase a disk file.
ESC L = Load. Load a brand new file to begin editing.
ESC N = Name. Change the current filename (affects Save, eXit).
ESC R = Read. Read a disk file into text at cursor position.
ESC P = Print. Print the file (or block) from memory.
ESC S = Save. Save the current file to disk, and continue editing.
ESC X = eXit. Save the file, then Quit to CP/M.
ESC Q = Quit. Abandon current file and quit to CP/M.
ESC B = Block. Mark the start of a Block.
ESC T = Terminate. Mark the end of a Block.
ESC U = Unmark Unmark the Block.
ESC D = Delete. Delete the marked Block.
ESC C = Copy. Copy the marked Block to present cursor position.
ESC W = Write. Write the marked Block to a disk file.
ESC M = Macro. Execute a string of commands repeatedly.
ESC K = Key. Store Macro on function Key for later recall.
ESC 0..9 Use stored Key. (In macro mode: label.)
ESC !,=,~,# Used in Macro programming (see below).
ESC H Displays help menu.
ESC I Displays information: file size and free memory.
III. QUICK COMMANDS: first hit ^Q, then the key shown. (ESC cancels)
^Q Arrows: Left/Right (including ^S/D) = go to start or end of line.
Up/Down (including ^E/X) = go to top or bottom of screen.
^Q B = move to block marker.
^Q P = move to next place marker.
^Q R = move to top of file.
^Q C = move to end of file.
^Q F = find next occurrence of a string.
^Q A = find and replace a string (global).
^Q Y = delete from cursor to end of current line.
^Q DEL = delete from cursor to beginning of current line.
^Q U = undelete a line.
IV. ONSCREEN COMMANDS: first hit ^O, then the key shown. (ESC cancels)
^O Arrow: Up (including ^E) = make current line top of screen.
^O R = set right margin (column 1 turns off wordwrap/formatting).
^O L = set left margin.
^O X = toggle Margin Release on/off.
^O S = toggle Double Spacing on/off.
^O C = center current line.
^O F = align current line flush with the right margin.
^O D = toggle display of hard CRs on/off.
^O T = display ruler line.
^O V = toggle tab mode Hard/Variable.
^O + = set variable tab stop.
^O - = clear variable tab stop.
^O P = toggle pagination on/off.
^O W = toggle windowing on/off (see below).
^O Z = temporarily blank the entire screen.
============================ EDITING COMMANDS ==============================
BLOCK COMMANDS (ESC-B,T,U,D,C,W,PB, ^QB) - A Block of text is delimited by two
markers, normally ^B, which remain in memory until reset or deleted.
ESC-B marks the beginning of the block.
ESC-T terminates the block. (ESC-B must be done first.)
ESC-U unmarks the block, removing any marker(s) set. (This can also
be done individually with any of the character delete functions.)
The Block operation commands all require a Block to be marked, and
the cursor to be outside the Block:
ESC-D deletes the block (including markers).
ESC-C copies the block (not including markers) to the present cursor
location. There is no Block Move command, but you can use ESC-C followed
by ESC-D to delete the original.
ESC-W writes the block text to a disk file.
ESC-PB (ESC-P with B option) prints the block text.
The ^QB command moves the cursor to the Block start.
CURSOR MOVEMENT (<udrl>,^Q<udrl>,ESC<udrl>,^O<u>, ^F,^A) - VDE supports three
sets of Arrow keys, which function interchangeably. The two built-in sets
support the WordStar "arrow key diamond" ^E,^X,^D,^S, and the ANSI
standard 3-byte sequences (ESC-[-A etc). The third set is user config-
urable, set by default to ^K,^J,^L,^H. These keys move the cursor up,
down, right, and left respectively.
Preceded by ^Q-, any arrow key (except ANSI) moves more quickly: to
the top or bottom of the screen, to the left or right end of the line.
Preceded by ESC-, any arrow (except ANSI) moves the FRAME rather than
the cursor: the text as a whole shifts up/down 1/4 screen, or right/left
32 columns, while the cursor stays put. (In fact, vertical shifts will
drag the cursor along if they have to; horizontal shifts won't do this.)
Preceded by ^O-, any UP arrow key (except ANSI) makes the current
text line the top of the screen.
There are also two WORD movement commands: ^F moves right, to the
start of the next word; ^A moves left, to the start of the last (or
current) word. Both have a maximum movement of 255 characters.
DELETE (^G,DEL, ^T, ^Y,^QY,^Q-DEL) - You can delete text one CHARACTER at a
time: ^G deletes to the right of the cursor, and DEL to the left. [If you
have no DEL key, you can install another equivalent.] Note that the
ordinary BS (^H) does not delete.
^T deletes an entire WORD to the right (up to 255 characters).
^Y deletes the entire current LINE. ^QY deletes only the part of the
line to the right of the cursor; ^Q-DEL deletes the part to the left.
Accidentally deleted text can usually be recovered (see UNDELETE).
DISK OPERATIONS (ESC-F,E,R) - On using the ESC-F command, you will be asked
for an (optional) drive/user, and its directory will be shown. If there
is not enough room to fit all the files on the screen, you will see "..."
at the end to indicate that there were still more. Press ESC to return to
editing. [ESC-F can be configured to ignore SYStem files.]
ESC-E will erase a single disk file. (No wildcards.)
ESC-R reads in the contents of a disk file, inserting its text after
the current cursor position.
FILE COMMANDS (ESC-S,N,Q,X,L) - ESC-S SAVES your work: what's in memory is
written to disk under the file name in the header. (The name cannot be
blank.) If that file already existed, a BAK file may be preserved.
ESC-N NAMES your work. This allows you to change the filename in the
header before saving. After a name change, BAK files are not preserved.
ESC-X EXITS politely to CP/M, saving your work first.
ESC-Q just QUITS. Since you will wind up at the CP/M prompt with any
unsaved work lost forever, you are prompted to confirm this (Y/N).
ESC-L abandons the current file and LOADS a new one to begin editing.
FIND, REPLACE (^QF, ^QA, ^Z) - ^QF is the command to FIND a string. The
search proceeds from the cursor position forward, and is normally case
sensitive. A "_" [this can be reconfigured] functions as a wildcard: if
the first character in the string, upper/lower case will be ignored in
matching the rest; otherwise, it will match any single character. Control
codes, like ^M for newline, can be included (with the ^P prefix where
needed). Examples:
Find: ^MLABEL matches "LABEL" at start of line only;
Find: 4__01 matches "42201", "47401", etc;
Find: _wordstar matches "WORDSTAR", "WordStar" etc;
Find: __ matches "_"!
^QA is the global FIND/REPLACE command. It asks for a string to find,
and what to change it to. The cursor will be placed in succession on each
occurrence of the string in the file, starting at the current cursor
position. (You will see the prompt "Chg?" in the header.) To change it,
press "Y"; anything else skips to the next. To change all further
occurrences without being asked, press "*". ESC cancels at any time.
^Z repeats the last ^QF or ^QA command. For ^QF this is simply a
repeat find; for ^QA you will also be asked whether you want to replace
the found string.
INSERT MODE (^V) - ^V toggles insertion on and off (when on, the INS flag
shows in the header). If INSERT is OFF, any existing text to the right of
the cursor is overwritten as you type. If INSERT is ON, what you type is
inserted, and existing text moves to the right.
LINE SPACING (^OS) - The ^OS command toggles between single and double line
spacing. In double space mode, the following functions generate double
carriage returns: CR, ^N, Wordwrap, ^B. You can easily mix single and
double spacing; the Reform function ^B can convert between the two.
MARGINS, CENTER, FLUSH (^OR,L,X, ^OC,F) - ^OR sets the RIGHT margin, and
turns ON wordwrap, formatting, and centering. The default is column 1,
which turns OFF all formatting functions. At the prompt "Column:" enter
the column number (1-255), or just hit RETURN for the current cursor
column. If this value conflicts with the left margin, the left margin
will be reset to 1.
^OL sets the LEFT margin in an identical fashion. Must be to left of
the right margin, which must have been set first. The default is 1.
^OX temporarily RELEASES the margins (resets them to 1), allowing you
to type outside them. Use ^OX again to restore the margins.
^OC CENTERS a line with respect to the current margins, if set.
^OF FLUSHES a line right, if the right margin is set.
MISCELLANY (^^,^W,ESC-I) - Just to explain a few miscellaneous functions:
^^ (ctl-caret) changes the case of the character at the cursor, if it
was a letter, and moves to the next. Useful for capitalizing a string of
lowercase text, or vice versa.
^W waits for a brief time (about two seconds, if clock speed is set
properly). Most useful in a Macro when you want to stop and see something
for a moment.
ESC-I displays an information message with the current file length and
memory usage, in bytes (1024 = 1K). Note that when there is less than 256
bytes free, response time can get very slow.
PAGINATION (^OP) - The ^OP command toggles pagination. When on, the page
length determines the page and line shown in the header ("Pg xx Ln xx"),
and all page functions in the Print routine (formfeeds, headers, start-
stop print) are enabled.
When off, the header will say "Pg 0 Ln xxxx", showing you the
absolute line number in the file. Also, printing occurs with no page
breaks or formfeeds. (This can be useful for printing small things right
after each other on the same sheet; or, in conjunction with the "*"
option, can print out multiple copies of index cards, labels, etc.)
VDE never sends a formfeed before printing; align the paper first.
[You cannot toggle pagination on if the page length is 0.]
PLACE MARKERS (^PZ,^QP) - You can set any number of temporary place markers
in the text with ^PZ (they will appear as ^Z). The ^QP command moves the
cursor to the next place marker in the file, cycling back to the top of
the file if needed. (Place markers are NOT saved to disk.)
PRINTER CODES (^P) - Control codes for special effects in printing can be
entered in the text with the ^P prefix. Thus pressing ^P^H (or ^PH)
embeds a ^H, etc. Several standard codes are:
^H - backspace - overstrike previous character
^I - hard (ASCII) tab - printers respond variously to this
^L - formfeed (Not recommended when pagination (^OP) is on)
(The Block marker, normally ^B, cannot be embedded; and ^Z is reserved for
use as a place marker.) Control codes display on screen as capital
letters, highlighted if possible. VDE assumes they are not characters, so
they are not counted when reformatting text.
For greater convenience, you can also arrange to have a single ^P-
code produce an entire string of bytes for commonly used effects. VDE
supports a subset of WordStar's printer installation, seven definable
codes: four toggles, four switches. The Printer Installation in VINSTALL
allows you to choose what codes you want to use, and install the actual
control sequences your printer needs. The defaults are:
toggles ^D, ^S, ^Y, ^T switches ^Q, ^W, ^E, ^R
(In WordStar these toggles are Doublestrike, Underline, Ribbon, and Super-
script, but you can make them anything you like.) "Toggles" are good for
features like underline that are turned on and off. "Switches" are better
for varying parameters like character pitch.
Example: your printer uses ESC-U-1 (and 0) to turn underlining on
(and off). The crude way to do this would be:
^P-ESC,U,1,underlined text,^P-ESC,U,0
The sophisticated way would be to use VINSTALL to define those strings as
the ^S toggle, so that all you'd need would be:
^PS,underlined text,^PS
PRINTING (ESC-P) - The ESC-P command Prints the file from memory. You will
be asked for a set of "Options:", at which point you may enter one or more
of the following, in any order:
P PAUSES for your keystroke before each page (sheet feed).
B prints only the currently marked BLOCK.
^ FILTERS control characters ^X to text "^X".
*nn prints the job out nn TIMES (nn=1..255).
@nn begins printing AT page nn.
#nn prints only (up to) a TOTAL of nn pages.
"..." uses the quoted string as a HEADER. The string, followed
immediately by the page number, will print at the top right of each page
near the margin. (Maximum length is 50 characters; use an empty string,
"", to get numbered pages with no header text.)
The last three options (@,#,"") are NOT allowed if pagination is off
(^OP), or if "B"lock print was chosen.
Example 1: Options: @6#1*2"Instructions, page"P
will print out page six of the file twice, with the header shown, pausing
before each page until you press a key (other than ESC).
Example 2: Options: B^
will print out the current marked Block, with control filtering.
You can abort printing at any time with ESC (this may take a moment,
or a few keystrokes, depending on your BIOS).
RULER LINE (^OT) - To help you align text properly, ^OT displays a "ruler
line" below the header. Type ^OT again to remove it.
In each column you will see one of several symbols: "[]" designate
the current margins; "." indicates areas outside the current margins, "-"
within them. Also, tab stops are marked by either "T" (Variable) or "I"
(Hard). Examples:
("A" mode) [-----T-----T-----------T--------------]........
("N" mode) I.......I.......I.......I.......I.......I.......
TABS (^I, ^OV,^O+,^O-) - There are two Tab modes, Variable and Hard; the ^OV
command toggles between them. In Hard Tab mode the Tab key produces an
actual ^I (ASCII TAB); whether this overwrites any existing text depends
on the INSERT toggle. Hard Tabs display by default at fixed intervals of
8 screen columns. [This is reconfigurable to 2, 4, 16, etc.]
In Variable Tab mode, the Tab key moves the cursor to the next
variable tab stop. Existing text is not overwritten; spaces are added at
the end of a line as needed. Up to eight tab stops may be set with ^O+
and cleared with ^O-; the defaults are in columns 5, 15, 35, and 55.
[These are reconfigurable.] You can always get a Hard Tab by typing ^PI.
UNDELETE (^U, ^QU) - The undelete functions can be used (repeatedly if
necessary) to recover a reasonable amount of text deleted either by
overtyping, or with any of VDE's delete commands, IF the cursor has not
yet been moved away. ^U undeletes one character; ^QU does a whole line.
Restrictions: undelete only works with ESC-D if the cursor was
adjacent to the block deleted; and it may work imperfectly if DEL has been
used several times in sequence.
Further use after all deleted text is recovered will produce junk
(usually duplicates of text above the cursor, which is sometimes useful).
WINDOW, ZAP (^OW, ^OZ) - The ^OW command creates a Window in the bottom half
of the screen, which retains a copy of the file text starting at the
current line. Editing continues normally in the top half of the screen.
This is useful for comparing different sections of text within a file, or
even between different files. Typing ^OW again removes the Window.
(Note: Windowing is only supported for screens of 15 or more lines.)
The ^OZ command temporarily zaps (blanks) the entire screen; good for
avoiding CRT burn-in, or just protecting work from prying eyes or fingers.
Restore the screen by pressing ESC. (Note: if Windowing was in effect,
any text in the window will be lost.)
WORDWRAP, REFORMAT (^B, ^OD) - WORDWRAP is automatic whenever the right
margin is set. Any text entered will be formatted while you type, to the
current margin settings.
^B REFORMATS from the line the cursor is on, to the end of the para-
graph, according to the current margin settings and line spacing. (Thus
^B is used not only to reshape a paragraph after editing, but also to
change its margins and line spacing.)
The end of a paragraph is marked by a "HARD CR", which occurs when
you press the RETURN key. (This is a CR immediately following a character
of text.) In contrast, when wordwrap occurs you get a "SOFT CR" (which is
actually a CR with a space before it). You can change a hard CR into a
soft one, or vice versa, by deleting or adding a space at the end of the
line. Hitting RETURN also hardens a soft CR. The distinction between
hard and soft CRs is only important when using ^B to reformat.
^OD toggles DISPLAY OF HARD CRs. Hard CRs, otherwise invisible, can
be caused to display as a "<" character. This can be useful; some may
find it distracting, so it turns off.
================================== MACROS ==================================
MACRO (ESC-M) - A "macro" is a string of VDE commands and text that, once
defined, can be repeated automatically. When you type ESC-M you will be
asked for the string, then a "Repeat count". Usually you will simply type
a number for the repeat count (0-9, or "*" for "global" -- actually 255
times). You will see the results as the macro executes, and you can abort
it at any time by pressing ESC.
(If you are sure you know what you're doing, you can speed up Macro
execution by specifying "Quiet" mode: press "Q" before the repeat count.
Only the header will be updated as the Macro runs.)
Macros also stop any time an error occurs; the error message will be
visible, and can be cleared by pressing ESC. Many commands (like Find or
Reformat) are designed to generate errors at the end of the file so that a
global ("*") Macro containing them will halt there. Other global Macros
may need to be aborted manually.
VDE turns INSERT OFF before running a macro, so that the same
sequence will always have the same effect.
In order to include any input line editing characters (BS, CR etc) in
a macro, you must prefix them with ^P. (NOTE: To make them easier to
read and understand, Macro listings will be given here as they function,
not as they are typed in. ^P prefixes as needed are NOT shown. Key-
strokes are separated by dashes or commas for clarity, and "_" means a
space or blank.)
Here is an example of a macro. Can you figure out what it does?
(Answer: .elif eht fo dne eht ta meht fo tsil a gnikam elif a fo tuo
sesehtnerap ni stnemmoc lla ekat lliw tI)
^QR,^QF,(,CR,^G,ESC-B,^QF,),CR,^G,ESC-T,^QC,CR,ESC-C,ESC-D
Onscreen you will see: QRQF(MG[BQF)MG[TQCM[C[D
VDE Macros are very powerful tools, particularly given their program
ability and storage on function keys.
MACRO KEY (ESC-K) - Up to 10 Macros can be stored (0..9), by entering them
with the ESC-M command, then using ESC-K to save them. They can then be
recalled and used simply by typing ESC-<#>. Example: typing ESC-K-0 will
store the last Macro used as Key 0, and it can be recalled and reused at
any future time simply by typing ESC-0.
Ordinarily, Keys operate just like the original Macro: they will ask
for "Repeat count" when executed. If you want to suppress this (giving
something more like a "function key", that only executes once) you can
type "N" (for No repeat) before storing the key number. Example: ESC-K-N-
0 stores a Macro in Key 0 as a once-only function key. Similarly you can
make it a QUIET once-only key with "Q" instead: eg ESC-K-Q-0.
If the Macro (ESC-M) string is empty, using ESC-K will delete a Key
definition. Using a defined Key brings its string into the Macro buffer.
Trying to use an undefined Key results in an error.
There are 500 bytes total available for all 10 keys, and a 128 byte
limit for any one Key. (VDE's own input line will only accept 65 bytes,
but VINSTALL can handle up to the full 128.)
Besides simply storing Macros, here are some useful function Keys:
1. Storing different sets of margins (eg for quotes): for example,
^OL,12,CR,^OR,66,CR
2. Typing any frequently repeated phrase; "ESC-6" is much more
convenient than "World Wide Widgets Inc. (N.A.)".
[VINSTALL allows you to install a default set of macro Keys. Thus
VDE can be customized for any task, such as the formatting requirements
of specialized writing or programming languages.]
MACRO PROGRAMMING (ESC-0..9, ESC-!,=,~,#) - VDE has several commands which
function only in a Macro string, and give you control over the execution
of a macro, allowing real programming.
ESC-0..9, when in a Macro, function as "labels" 0..9. They have no
effect, but can be "jumped" to by other commands.
ESC-! followed by 0..9 is a simple "jump" instruction, causing macro
execution to resume with the command following the label ESC-0..9. As two
epecial cases, ESC-![ jumps to the beginning of the Macro, and ESC-!]
jumps to the end (aborts).
ESC-= and ESC-~, followed by a character and then a label 0..9 (or
"[","]"), are conditional jumps: they jump to that label IF the character
at the cursor position does (or for "~", doesn't) match that specified.
ESC-= and ESC-~, followed by a character and then ">" or "<", are
search loops. They will continue to move the cursor right (or for "<",
left) as long as the character at the cursor does (or for "~", doesn't)
match, or until the beginning or end of the file.
ESC-#, followed by 0..9, is used to "chain" to another macro key. In
this way you can build up strings longer than the 65/128-byte limit on any
one key. It does not "call" the key; there is no returning.
Macro programs are stored just like any other macro string (usually
with "N"o repeat count). If you program in an endless loop, you will at
some point have to abort with ESC. Don't make macro programs "Q"uiet
until you're sure they work.
Example: you can find the start of the next sentence with the macro:
ESC~.>,^D,ESC=_>
=========================== GENERAL INFORMATION ============================
DISK SPACE - VDE isn't disk-bound; if you run out of disk space, just insert
another disk (always keep a blank FORMATTED disk around). Alternatively,
you can use the ESC-F and ESC-E commands to purge unneeded files. [If
you have small disks, you can also install VDE not to preserve BAK files.]
Let VDE's filesize limits encourage you to break work up into files
of 50K or less; larger files make inefficient use of floppy disks.
FILE MODES - In "A" or "N" mode, VDE reads and writes text as standard ASCII
7-bit characters, a format accepted by virtually all software (including
WordStar's Non-Document mode). In "W" mode, VDE reads and writes WordStar
Document files. A WordStar Document file can be read into VDE perfectly,
except that any right justification will be lost. A VDE "W" file can be
read into WordStar as a Document file nearly perfectly; you can easily
touch up the occasional glitch.
The "N" and "A" modes both produce ASCII files, and differ only in
the default options (margins etc) set up when a new file is loaded.
Typically "A" is for word processing and "N" is for programs, etc.
DEFAULTS FOR: File I/O Margins Tabs Hard CR disp.
"W"ordstar document WORDSTAR ACTIVE VARIABLE ON
"A"SCII document ASCII ACTIVE VARIABLE ON
"N"on-document ASCII DISABLED HARD OFF
The file mode option can be specified along with the filename at any
VDE file function prompt, allowing you to mix WordStar and ASCII disk
files as needed. You can also change the current mode with the ESC-N
function by entering a new mode (eg, "[W") with or without a filename.
NOTE ON ASCII FILES - The "A"SCII-document file format used since VDE
2.50, to allow accurate formatting and WordStar compatibility, distin-
guishes between HARD and SOFT CRs (see WORDWRAP). Consequently, if you
edit an ASCII file created by other software (including earlier versions
of VDE), it may appear to be full of hard CRs, making text impossible to
reformat. There are two easy ways to solve this problem: first, you can
use ^QA to find "^M"s and selectively replace them with " ^M". Alterna-
tively, the following Macro (best stored as a Quiet macro Key) does a good
job of "softening up" a paragraph:
^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![
HYPHENATION - VDE can't hyphenate, but it does recognize hyphens in the text,
treating them as a legitimate place to break a line. (So if you're typing
a long word close to the margin, you can type a hyphen where you'd like
the word to be broken.) If VDE is trying to reformat and finds a hyphen
at the end of a line, it will quit with an error. You must join the lines
(and delete the hyphen, if desired) manually, then press ^B again.
INSTALLATION - VDE can be "installed" for different terminals, printers, etc
(as well as various user preferences) using the VINSTALL program. See
VINSTALL.DOC for further details.
INTERRUPTION - If VDE gets interrupted by a message from some other software
(BIOS error, resident utilities, etc), it may lose control of the screen.
The best way to restore it to normal is by blanking and restoring the
screen (^OZ,ESC).
KEYBOARD BUFFER - VDE 2.6 has faster scrolling; also, it now buffers its own
keyboard input. This means that characters typed will no longer be lost
even on terminals with very slow displays. If you lean on one key for
some time you may manage to fill the buffer, and keys may be lost.
STRING INPUT - When confronted with a prompt like "Find:", you are expected
to type in a string (up to 65 characters). During this process, you can
correct mistakes with DEL, BS, or any left arrow, or ^X will delete the
whole entry; hit CR when finished. You can also abort the entire current
operation with ^U. Note that to get any of these codes into the string
itself, you must precede it with ^P (this includes ^P).
Examples: to find a line beginning with a "*" (find "CR,*") type
^QF,^P-CR,*,CR.
Now to get this into a Macro with ESC-M, you would have to type (whew)
ESC-M,^QF,^PP,^P-CR,*,^P-CR,CR.
WORDSTAR COMPATIBILITY - The few differences between the VDE and WordStar
command sets are often due to the fact that VDE reserves ^J,^K,^L as the
standard CP/M arrow keys. Except the ^K-prefix, most are minor:
COMMON FUNCTION WS VDE NOTES
----------------- ---- --- -------------------------
Rept Find/Replace ^L ^Z
Partial Scroll Up ^W ESC<up> Several lines at once.
" " Down ^Z ESC<dn>
Block End ^KK ESC-T
Delete Block ^KY ESC-D
Move Block ^KV --- Must Copy then Delete.
Hide Block ^KH ESC-U Actually unmarks block.
Erase Disk File ^KJ ESC-E
Set Place Mark ^K0..9 ^PZ Not individually numbered.
Go To Place Mark ^Q0..9 ^QP Cyclic.
VariTab Set,Clear ^OI,^ON ^O+,^O-
Note that VDE does not recognize WordStar "dot commands" in text.
================================= MESSAGES =================================
PROMPTS requiring user input:
"Abandon edit?" - confirm ("Y/N") a Quit request.
"Chg?" - decide ("Y/N/*") whether to change string (ESC quits).
"Rdy" - press any key to print next page (ESC quits).
"Repeat count:" - enter (optional "Q" and) repeat count for Macro.
"Key number:" - enter (optional "N/Q" and) key number for Key.
All other prompts - enter argument(s) for the command (see STRING INPUT).
INFORMATIONAL messages:
"I/O Working" - disk I/O or printing in progress.
ERROR messages: press ESC to continue. "Error" alone means the command used
just won't work in this situation. (Example: a block command was used
with no block marked.) More specific errors are:
"Memory" - the file, block, or key string won't fit in RAM.
"Key" - an illegal command key sequence was pressed.
"I/O" - file not found, disk full, empty/invalid drive, etc.
"Reformat" - hyphen at end of line; or word too long.
"Find" - the search string was not found.
"Syntax" - a macro programming command was misused.
================================= HISTORY ==================================
1984: VDE began as my set of improvements on the tiny (4k) VDO memory-mapped
editor by Fritz Schneider (1982), as adapted by George Peace (1984) for
the Osborne Executive. (There are other descendents of VDO, including
James Whorton's VDO25, with rather different features.)
1985: The first terminal adaptation, VDE-PX for the Epson PX-8. Ongoing
improvements also in parallel Osborne versions VDE-OS.
1986: The unified VDE/M version 2.00, with its generic terminal installation.
By version 2.32, improvements had included: macros; directory; undelete;
left margin; word functions; global replace; tighter compression; many
useful printing options; more versatile installation with VINSTALL.
1987: Recent revisions, besides small fixes, add the following:
2.4 (1/87) - Improved scrolling and screen functions; more screen
sizes supported; WordStar file mode; place markers; ^OZ;
block print; larger macro keys; VINSTALL terminal menu.
2.5 (3/87) - User area support; variable tabs; double spacing; search
wildcards; more standard block functions; improved format-
ting; many additions to VINSTALL.
2.6 (7/87) - Improved header; ruler; memory use message; blank filename
allowed; ^U input abort; ^O<u>; case insensitive searches;
more free RAM; wider variety of terminals; faster scrolling;
keyboard buffer; improvements to VINSTALL.
****************************************************************
***** The VDE editor and its documentation are *****
***** (c)1987 E. Meyer, all rights reserved. *****
***** This program may be freely distributed, but not sold *****
***** for profit without written permission of the author. *****
****************************************************************
Please do not circulate VDE in any incomplete or modified form, or
without the above copyright notice. You may include additions of your own
(*.VFK files, HEX overlays, special documentation) if you wish.
Thanks to the many users of VDE whose feedback has led to improvements
and bug fixes in the past. Answers to common questions:
(1) Source code to VDE 2.xx is not available at this time.
(2) An MSDOS version of VDE may be available later in 1987.
Direct problem reports and suggestions to me at the address below;
include a stamped return envelope for a reply if desired.
Eric Meyer
427 N. Washington
Bloomington, IN 47401 CompuServe [74415,1305]
==============================================================================