home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpm
/
vdoedit
/
vde266.lbr
/
VDE266.DZC
/
VDE266.DOC
Wrap
Text File
|
1988-06-26
|
52KB
|
878 lines
VDE266.DOC
----------
Instructions for Video Display Editor:
VDE, VDE-M 2.66 (06/88)
CP/M Version
(c)1988, E. Meyer
==============================================================================
VDE is a small, fast, powerful text editor 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 * undeletion * 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 fast: it is written in Z80 assembler; it has no disk overlays; on
computers that support this, it writes directly to video RAM; it edits
entirely in memory. Speed is a factor that more cumbersome ("full-featured?")
programs overlook. FInding a string near the end of a 50K file takes WordStar
3.3 about 14 seconds [8MHz Z80]; VDE does it in under a second. This is like
moving through air instead of molasses: you will find that you can do more of
your work on screen, and less on paper.
VDE is designed for Z80 CP/M 2.2 and 3.0 systems; it should also work
with full equivalents (eg HD64180 CPU, ZRDOS) but unfortunately not on 8080/85
systems. It is ideal for portable computers with limited disk space, and has
many user configurable options. The generic version can be installed for any
terminal; there is also a memory-mapped version VDE-M, which offers faster
screen display if your hardware supports it. [See VINSTALL.DOC for details.
Comments below in brackets "[]" point out various uses of VINSTALL.]
The CP/M version of VDE is free for all to use, though I do not refuse
contributions. It continues to be refined, despite the fact that available
memory severely limits new features. There is also now an MSDOS version, with
advanced features like dual-file editing. Primary distribution points for
VDE, as of January 1988, are:
(1) Glendale Littera QBBS (818)956-6164 (CP/M and MSDOS)
(2) Compuserve SIGs CPMSIG (CP/M) and IBMSW (MSDOS).
The most recent release can always be found on these systems.
NOTE: The present version 2.66 of CP/M VDE is expected to be the LAST.
The MSDOS version of VDE (currently 1.21) will continue to develop. See
VDE266.UPD for further details.
================================ CONTENTS ==================================
1. INTRODUCTION: Must I read the whole manual?; Installation; Command line
syntax, examples; The VDE command set.
2. COMMAND SUMMARY: a complete brief listing of all commands:
Ctrl, ESC, ^K (Block), ^Q (Quick), ^O (Onscreen).
3. COMMAND DESCRIPTIONS, alphabetically by category:
Auto indent mode, Block commands, Cursor movement, Deleting, Disk
operations, File commands, Find/replace, Header, Information, Insert mode,
Line spacing, Margins, Pagination, Place markers, Printer codes, Printing,
Ruler line, Tabs, Undelete, Upper/lowercase, Window/screen,
Wordwrap/reformat.
4. MACRO KEYS: Explanation, with examples:
Macros, Macro keys, Macro programming.
5. GENERAL INFORMATION, alphabetically by category:
Disk space, Error messages, File modes, Hyphenation, Memory, Prompts,
Wordstar compatibility.
6. VDE development history.
============================= 1. INTRODUCTION ==============================
MUST I READ THE WHOLE MANUAL? At first, no... eventually, yes. If you
want to get a quick start, and are already familiar with the WordStar command
set, you should be able to wade right in and edit files with VDE. But at some
point you should read the whole manual through, to make sure you're not
missing anything. (Many things are explained only once.)
HINT: if you're stuck, try editing VDE.DOC, and use the ^QF (Find)
command to look for phrases that might be helpful. For example, if you have a
problem with margins, try... Find string: /i/margin
TO INSTALL VDE, use the VINSTALL configuration program; see the
accompanying file VINST.DOC. Most of the installation consists of options;
you will discover how you want everything set in the course of using VDE, so
don't worry about going through all of it at first. The one important thing
is the computer installation: VDE comes pre-installed for a "generic
terminal". You will need to re-install it for your particular computer.
TO RUN VDE, you can just type "VDE"; or, you may specify a filename,
which can include a CP/M drive/user, and/or be followed by a mode option.
SYNTAX: A>vde {du:}{filename} {[m} "{}" = optional
EXAMPLES: A>vde A>vde my.doc [w A>vde b11:prog.asm n
"filename" - file to edit. Drive and/or user may be specified. If
no name is given, you begin an (as yet) unnamed new file.
"[m" or " m" - choice of file modes: "m" can be "W"ordstar document,
"A"SCII document, or "N"ondocument. Normally defaults to "A". Must be
separated from filename by a space and/or a "[".
VDE can edit different types of files (see FILE MODES): nondocuments,
such as program source code, or documents with formatted text. Further, for
documents you can choose either pure ASCII or WordStar compatible format. If
an existing file is too large to edit with VDE, you will need to break it up
and edit the pieces separately. (The file size limit is typically about 55K,
depending on your TPA size.)
VDE gives you a certain amount of information at the top of the screen
(for details see HEADER, RULER). All command prompts and messages appear
temporarily in the top portion of the screen; press ESC or Space to remove
them. There are help menus available if you press ^J (ESC-H). [These can be
disabled to gain more memory; keep the quick reference file VDE.QRF handy if
you need it.]
The VDE command set uses simple one- or two-key combinations, easily
found by the touch typist without distraction. Most commands are the same as
in WordStar, the single most widely used word processor; if you have questions
that this file can't answer, a WordStar manual may be a useful reference.
But VDE is its own program, not a WordStar "clone"; there are significant
differences, including an extended set of ESC-commands for functions such as
macros. (Yes, VDE had macros long before WordStar 4's Shorthand.)
Virtually complete compatibility with the WordStar command (sub)set can
be achieved UNLESS the keys ^J,^K,^L are used as arrow keys (as on many CP/M
computers). In this event VDE synonyms must be used: ESC- for the ^K- prefix;
ESC-H for ^J; and ^\ for ^L. [See VINSTALL.DOC for terminal installation.]
=========================== 2. COMMAND SUMMARY =============================
Notes: The "^" character indicates use of the Ctrl key: ^K = Ctrl+K.
The ESC- (^K-), ^O-, and ^Q- prefixes require pressing two keys in sequence:
^OC, for instance means press ^O, then C (or ^C). Any prefix may be canceled
by typing ESC or Space.
I. CONTROL KEYS: single keystroke commands.
^J (ESC-H) = display Help menus.
CR = Carriage return (^M). Marks a paragraph end.
BS = 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 back one screen.
^C = scroll forward one screen.
^W = scroll back one line.
^Z = scroll forward one line.
^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.
^L (^\) = repeat find/replace (Repeats last ^QF or ^QA command.)
II. FILE AND BLOCK COMMANDS: first hit ^K (or ESC), then the key shown.
^K I = display file/memory Information message.
^K F = List files in disk directory.
^K E = Erase a disk file.
^K L = Load a brand new file to begin editing.
^K N = change the current file Name (affects Save, eXit).
^K S = Save the current file to disk, and continue editing.
^K D = Done. Save the file, then load a new one.
^K X = eXit: Save the file, then Quit to CP/M.
^K Q = Quit to CP/M, abandoning current file.
^K R = Read a disk file into text at cursor position.
^K P = Print the text (whole file or block).
^K B = mark the start of a Block.
^K K = mark the end of a block.
^K U = Unmark the block.
^K Y = Delete the marked block.
^K C = Copy the block text at present cursor position.
^K V = moVe the block text to the present cursor position.
^K W = Write the marked block to a disk file.
III. VDE/MACRO COMMANDS: first hit ESC, then the key shown.
ESC Arrows: Left/Right (including ^S/D) = shift screen horizontally
by 32 columns.
Up/Down (including ^E/X) = shift screen vertically
by 1/4 screen.
ESC TAB = move back to last tab stop.
ESC M = execute a Macro string of commands.
ESC # = store macro on numeric key for later recall.
ESC 0..9 = use stored key. (In macro mode: jump label.)
ESC !,=,~,+ = used in Macro programming (see below).
ESC ; = brief pause, during Macro execution only.
IV. QUICK COMMANDS: first hit ^Q, then the key shown.
^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 R = move to top of file.
^Q C = move to end of file.
^Q I = move to specified page or line number.
^Q B = move to block marker.
^Q P = move to next place marker.
^Q F = find next occurrence of a string.
^Q A = find and replace a string.
^Q Y = delete from cursor to end of current line.
^Q DEL = delete from cursor to beginning of current line.
^Q T = delete until specified character.
^Q U = undelete a line.
V. ONSCREEN COMMANDS: first hit ^O, then the key shown.
^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 C = center current line.
^O F = align current line flush with the right margin.
^O Q = toggle header on/off.
^O T = toggle ruler line on/off.
^O D = toggle display of hard CRs on/off.
^O A = toggle Auto Indent on/off.
^O S = toggle Double Spacing on/off.
^O H = toggle hyphenation on/off.
^O V = toggle tab mode Hard/Variable.
^O I = set variable tab stop.
^O N = clear variable tab stop.
^O P = set page length (0 turns off pagination).
^O W = toggle windowing on/off (see below).
^O Z = temporarily blank the entire screen.
========================= 3. COMMAND DESCRIPTIONS ==========================
AUTO INDENT MODE (^OA) - This feature is most useful for typing outlines,
structured program source code, and other text where the "left margin"
varies. When in Auto Indent mode, the RETURN key acts differently: If you
are entering new text, it will be indented to match the previous line.
Thus, whenever you change indentation, the new level is maintained
automatically. If you are just moving through the file, the cursor
advances past any existing indentation.
BLOCK COMMANDS (^KB,K,U,Y,C,V,W,PB, ^QB) - A Block of text is delimited by
two markers [normally ^B] which remain in memory until reset or deleted.
^KB marks the beginning of the block; ^KK marks the end. Markers are
inserted in the text. The two markers are identical; the first one
present is the start(!).
^KU unmarks the block, removing any marker(s) set. (Block markers
can also be deleted individually like ordinary characters.) Markers are
automatically removed as appropriate when ^KB/K are used again.
The Block operation commands all require a Block to be marked:
^KY deletes the block (including markers).
^KV moves the Block text to the present cursor location, deleting the
original; ^KC simply copies it, leaving the original. Neither block nor
place markers are transferred. (If there isn't enough memory, write the
block to a file, delete it, and read it back in: ^KW,^KY,^KR.)
^KW writes the block text to a disk file; you will be asked for the
filename (and optional mode).
^KPB (^KP with B option) prints the block text only.
The ^QB command, from wherever you are in the file, moves the
cursor to the Block start.
CURSOR MOVEMENT (Arrow keys, ^F,^A, ^QR,C,I) - 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 configurable, set by
default to the CP/M standard ^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.
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.
For quickly covering large distances, the commands ^QR and ^QC go all
the way to the beginning and end of the file, respectively; ^QI goes to
any specified page (or line, in non-documents).
DELETING (^G,DEL, ^T, ^Y,^QY,^Q-DEL,^QT) - 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 normally 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.
^QT deletes UP TO a specified character. Example: "^QT." deletes to
the end of the sentence. Special case: "^QT-CR" deletes to the next HARD
CR, the end of the paragraph.
Accidentally deleted text can usually be recovered (see UNDELETE).
DISK OPERATIONS (^K-R,F,E) - ^KR READS in the contents of a disk file,
inserting the text after the current cursor position. You will be asked
for the name (and, optionally, mode) of the file.
^KF lists disk FILES: you may specify a drive and/or user, and the
files will be listed. (The default is the directory specified with the
current file.) 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 or Space to continue.
^KE will ERASE a single disk file, if you need more room on the disk.
(No wildcards allowed.)
FILE COMMANDS (^K-N,S,X,D,Q,L) - ^KN NAMES your work. This allows you to
change the filename in the header before saving. (Accepts mode option;
you can also specify a mode alone, eg "/W", to change the current mode.)
^KS SAVES your work: what's in memory is written to disk under the
file name in the header. (You must have a file name; one will be
requested if necessary.) If that file already existed, a backup (BAK)
file may be preserved. If the file has not been modified, you will be
prompted to confirm that you want to resave it anyway.
There are several different commands for finishing up:
^KX saves your work and then EXITS to DOS.
^KQ just QUITS. If the file has been modified, you will be prompted
to confirm that you want to abandon the changes.
^KD (DONE) saves your work, then loads a new file to edit.
^KL quits the current file and LOADS a new one to begin editing.
FIND, REPLACE (^Q-F,A, ^L,^\) - ^QF is the command to FIND a string. The
search normally proceeds from the cursor position forward, and is case
(upper/lower) sensitive. There are two options:
"B" = search backwards; "I" = ignore case
If used, the options must be enclosed in slashes (eg, "/bi/") before the
search string. (If you want to search for a string beginning with a
slash, use an (empty) option first.) In addition, a "_" [this can be
reconfigured] functions as a wildcard: 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: /i/wordstar matches "WORDSTAR", "WordStar" etc;
Find: ///88 matches "/88";
Find: /ib/esc looks backwards for "Esc", "esc", etc.
^QA is the FIND/REPLACE command. It asks for a string to find, and
what to change it to. (All options above apply to the search string
only.) The cursor will be placed in succession on each occurrence of the
string, starting at the cursor location [or, optionally, at the top of the
file]. (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.
(Note: if ^QA is used in a Macro, it will automatically assume "*" with no
further input required.)
^L (or ^\, if ^L is an arrow key) repeats the last ^QF or ^QA
command. For ^QA, you will be asked whether you want to replace the found
string. For both, direction and case options remain unchanged.
HEADER (^OQ) - VDE normally gives you a header, or status line, at the top of
the screen. However, if you like you can turn the header display off with
the ^OQ (Quiet) command. [The header may also be suppressed by default.]
This lets you see more file text; it can also speed up operation on some
slower terminals, as the position doesn't have to be continually updated.
------------------------------------------------------------------------
C0:VDE.DOC [A Pg 6 Ln 9 Cl 49 INS vt hy AI DS MR ^Q_
------------------------------------------------------------------------
"C0:VDE.DOC [A" = Current filename and mode.
"Pg 6, etc" = Current position in file by page, line, column. For
"N"ondocuments, there is no page number display. If pagination (^OP) is
off, you will see "Pg 0" (document) or "OP" (nondocument) here.
"INS" = Insert mode on. (^V)
"vt" = Variable tabs on. (^OV)
"hy" = Hyphenation enabled. (^OH) Doesn't display in "N" mode.
"AI" = Auto indent mode on. (^OA)
"DS" = Double spacing. (^OS)
"MR" = Margins released. (^OX) Doesn't display in "N" mode.
"^Q_": Prefix keys (and some prompts) display here.
INFORMATION (^KI) - ^KI displays an Information message with:
* the VDE version and date;
* whether (Y/N) the file has been changed since last saved;
* the current size of the file in bytes;
* the number of bytes of text memory used and free.
(1024 bytes = 1K). You will note that the file uses about 20-25% less
memory than its actual length; this is due to VDE's compression of text.
(Note: VDE is limited to 16-bit arithmetic. In the unlikely event that
file size should exceed 64K it will be shown mod 64K; just add 65536.)
Block moves and copying are limited by the amount of free memory.
Further, when there is less than 1K free, response time can get very slow.
INSERT MODE (^V) - ^V toggles insertion on and off. If INSERT is OFF, any
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 (^M), Insert CR (^N), Reform (^B), Wordwrap. You
can easily mix single and double spacing; the ^B command can convert
between the two.
Note: if you prefer to keep your actual file single spaced, you can
still get a double-spaced printout by using the "D" option of the ^KP
command (see PRINTING).
MARGINS (^O-R,L,X,C,F) - ^OR sets the RIGHT margin, and enables wordwrap,
reformatting, and centering. If set to column 1, all formatting functions
are disabled (as they are in "N"ondocument mode). At the prompt "Column:"
enter the column number (1-255), or just hit CR for the current cursor
column. If the value entered conflicts with the current left margin, the
left margin will be reset to 1.
^OL sets the LEFT margin in an identical fashion; of course, the value
must always be less than the current right margin, meaning it's best to
set the right margin first.
^OX temporarily RELEASES the margins (resets them to 1), allowing you
to type outside them. Use ^OX again to restore the margins.
^OC CENTERS the current line with respect to the margins, if set.
^OF sets the current line FLUSH right, if the right margin is set.
PAGINATION (^OP) - The ^OP command sets the page length. Enter a value from
0 to 255, or just hit CR to restore the default value. [Normally 56.]
When the value is nonzero, it determines the page and line shown in
the document header ("Pg xx Ln xx"), and all page functions in the Print
routine (formfeeds, headers, start/stop print) are enabled.
When the value is zero, pagination is 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; begin your file with a
^PL if you need one. Otherwise, use of ^PL is not recommended in document
files; it will render VDE's page count inaccurate.
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 unless pagination (^OP) disabled)
(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 ^B, ^D, ^S, ^Y switches ^Q, ^W, ^E, ^R
(In WordStar these toggles are Boldface, Doublestrike, Underline, and
Ribbon/Italic, 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 multi-valued parameters like character pitch.
Example: your printer uses ESC-U-01 (and 00) to turn underlining on
(and off). If you install these codes:
^S toggle on: (03)1B5501
...and off: (03)1B5500
then all you have to type in VDE to get underlined text is:
^PS,underlined text,^PS.
PRINTING (^KP) - The ^KP 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:
B prints only the currently marked BLOCK.
P PAUSES for your keystroke before each page (sheet feed).
D DOUBLE SPACES all text to be printed.
Lnn sets the printer LEFT MARGIN to nn columns. [The default value
can be set with VINSTALL.]
^ FILTERS control characters ^X to text "^X".
*nn prints the job out nn TIMES (nn=1..255).
@nn begins printing AT the nn'th page.
=nn renumbers the pages beginning with 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;
an empty string, "", gives numbered pages with no header text.)
The last four options (@,=,#,"") are NOT allowed if pagination is
disabled (^OP), or if "B"lock print was chosen.
Example 1: Options: L12P
will print the file with a left margin of 12 columns, pausing before each
page for you to press a key (other than Esc).
Example 2: Options: @6#2=14"Instructions, page "
will print the sixth and seventh pages of the file, but numbered 14 and
15, with the header shown.
Example 3: Options: BD^*2
will print out the current marked Block twice, double spaced, with control
filtering.
In "W" mode, lines beginning with a "." will be regarded as WordStar
dot commands, and will not print out (though they have no effect).
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 toggles display of a
"ruler line" above the text on and off.
In each column you will see one of several symbols: "[]" designate
the current margins (if set); "-" indicates areas within the current
margins, "." outside 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,ESC-TAB, ^OV,^OI,^ON) - 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. (You can always get a Hard Tab by typing ^PI.)
Existing text is skipped over; spaces are added at the end of a line as
needed. Up to eight tab stops may be set with ^OI and cleared with ^ON;
the defaults are in columns 5, 15, 35, and 55. [These are reconfigur-
able.] At the prompt, enter the column number desired, or hit RETURN for
the cursor column.
The ^OI command also accepts two multiple-set options: "@nn" sets tab
stops every "nn" columns, while "#n1,n2,..." sets tabs at columns "n1,n2,
...". Both remove any pre-existing tabs. Typing "@" alone will simply
clear all tabs.
The ESC-TAB command moves backward (left) to the previous tab stop,
whether variable or hard.
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 may not recover all of a Block delete unless
the cursor was in or near 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).
UPPER/LOWER CASE (^^) - The ^^ (ctl-caret) command 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.
WINDOW AND SCREEN (^W,^Z, ESC-Arrows, ^O-Up,W,Z) - VDE supports several
functions to move and alter the display screen.
The ^W and ^Z commands scroll the screen up and down a line at a
time, without moving the cursor (unless necessary).
Preceded by ESC, any arrow (except ANSI) moves the screen 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. (The cursor must be past column
32 for horizontal shifts to work.)
Preceded by ^O-, any UP arrow key (except ANSI) makes the current
text line the top of the screen.
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 in Document modes
("W,A") whenever the right margin is set. Any text entered will be
formatted while you type, to the current margin settings. 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 reformatting.
^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.) Indentation can be tricky if you
have a left margin set: if the current line is indented relative to the
next one, VDE assumes that amount as your paragraph indentation.
^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.
================================ 4. 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 "indefinitely"). 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
an indefinite ("*") Macro containing them will halt there. Other
indefinite Macros may need to be aborted manually.
VDE turns INSERT OFF before running a macro, so that the same key
sequence will always have the same effect. The INSERT status is restored
when the macro terminates.
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 are some sample Macros:
1. View a file by scrolling slowly through it:
ESC-;,^C
This will pause, then scroll down. (Use a repeat count of "*".)
2. Can you figure out what this one does? (Answer: .elif eht fo
dne eht ta meht fo tsil a gnikam elif a fo tuo sesehtnerap ni stnemmoc
ekat lliw tI)
^QR,^QF,(,CR,^G,^KB,^QF,),CR,^G,^KK,^QC,CR,^KV
VDE Macros are very powerful tools, particularly given their program-
mability and storage on function keys.
MACRO KEY (ESC-#,0..9) - Up to 10 Macros can be stored (0..9), by entering
them with the ESC-M command, then using ESC-# to save them. They can then
be recalled and used simply by typing ESC-number. Example: typing ESC-#-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-#-N-
0 stores a Macro in Key 0 as a no-repeat key sequence. If you also don't
need to see the Key work, and want to make it faster, you can make it
QUIET as well by typing "Q" instead (for Quiet) before the key number.
Example: ESC-#-Q-0 stores to Key 0 as a quiet no-repeat key sequence.
If the Macro (ESC-M) string is empty, using ESC-# will delete a Key
definition. Using a defined Key brings its definition into the Macro
buffer (whence it can be stored again if desired). 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.)
USAGE HINT: If you want to re-use a macro without having to type it
in again, use ESC-# to assign it to a key, then call it up by number.
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 "^PSWorld Wide Widgets Ltd. (N.A.)^PS".
[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 simply 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.
Example: ESC!2 jumps to label 2. 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.
Example: ESC~^M2 jumps to ESC-2 if the current character is NOT a CR.
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. Example: ESC=_> moves
right as long as the current character is a space.
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. Example:
ESC+9 chains to Key 9.
ESC-; (semicolon) gives a brief pause, presumably so the user can see
what's happening on screen.
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: here is a good macro program (best stored as a Quiet Key) to
move the cursor to the start of the current sentence:
ESC~.1, ^S, ESC1, ESC~.<, ESC2, ^D, ESC=_2, ESC=^M2
You could write this out in programmer's pseudo-code as:
If not "." goto label1
Move left ;move left if already on period
label1: While not "." move Left ;move left to previous period
label2: Move right ;now move back right
If " " goto label2 ; as long as you see a space
If "^M" goto label2 ; or a Return
(all done)
========================= 5. 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.
ERROR MESSAGES - Press ESC or Space 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:
"Out of Memory" - the file, block, or key string won't fit in RAM.
"Invalid Key" - an illegal command key sequence was pressed.
"I/O Error" - file not found, disk full, empty/invalid drive, etc.
"Cannot Reformat" - word too long, or margins invalid.
"Not Found" - the object of a search was not found.
"Syntax Error" - a macro programming command was misused.
FILE MODES - VDE has three "file modes": "W"ordStar document, "A"NSI
document, and "N"on-document. The basic difference concerns the format of
disk files.
In "W" mode, VDE reads and writes WordStar compatible files. VDE can
edit a WordStar document, except that any right justification will be
lost. WordStar can edit any VDE "W" file in Document mode.
In "A" or "N" mode, VDE reads and writes text as standard ASCII
7-bit characters, a universal format accepted by virtually all software.
The only difference between "A" and "N" modes lies in the default settings
on loading a new file. Typically "A" mode is used for word processing,
and "N" mode for programming and other technical applications.
DEFAULTS FOR: Margins Tabs Hard CR disp.
"A"SCII or "W"ordStar document ACTIVE VARIABLE [ON]
"N"on-document 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 ^KN
function by entering a new mode (eg, "[W") with or without a filename.
You can select a default file mode, to be used when no mode is
specified (originally this is "A"). Further, you can specify two filetype
masks for automatic mode selection (eg, all "ASM" files as "N" mode) to
override that default. [See VINSTALL.]
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" paragraphs for reformatting:
^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![
HYPHENATION (^OH) - VDE can't introduce hyphens, but it does recognize them
in the text, treating them as a legitimate place to break a line. (So if
you have a long word close to the margin, you can insert a hyphen where
you'd like the word to be broken.)
Similarly, VDE can't unhyphenate. If it is trying to reformat and
finds a hyphen at the end of a line, it will pause to ask you what to do
with it. You will see the prompt "Chg?" in the header, and can:
Press "Y" to remove the hyphen and space, joining the word;
"N" to leave the hyphen, but still join the word;
"ESC" to leave both the hyphen and the space alone.
Typically you would choose "Y" for "soft" hyphens that you introduced to
break up a word ("intro-duction"); "N" for hard hyphens that are part of a
word ("vis-a-vis"); and "ESC" for punctuation (dashes -- etc). After your
choice, reformatting will proceed automatically.
You can toggle hyphenation on and off with ^OH. If off, hyphens are
not treated differently from any other text character. [The ^OH default
can be changed with VINSTALL.]
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).
PROMPTS - First, VDE has several simple prompts requiring you to confirm an
action by typing "Y" or "N":
"Abandon changes?" - warns the file you want to Quit has been changed.
"Unchanged! save anyway?" - reminds the file you want saved isn't changed.
"Delete original?" - do you want to delete block copied from 2nd file.
"Chg?" - do you want to change this instance of a string?
Then, there are a few special purpose prompts:
"Repeat count:" - enter (optional "Q" and) repeat count for Macro.
"Key number:" - enter (optional "N/Q" and) key number for Key.
"Rdy" - press any key to print next page (ESC quits).
Finally, there are a variety of prompts for either numeric or string
input, like "Column:" or "Find string:". You are expected to type in a
string (up to 65 characters). During this process, IBM PC special keys
(except Del) are not recognized. The following control keys operate:
Correct mistake: BS (^H), ^S, or Del
Erase entire entry: ^X
Abort operation: ^U
Note that to get any of these codes, or a CR, into the string itself, you
must precede it with ^P (this includes ^P).
Examples: to find a line beginning with a "*" (find "^M,*") type
^QF,^P-CR,*,CR.
Now to get this into a Macro with ESC-M, you would have to type
ESC-M,^QF,^PP,^P-CR,*,^P-CR,CR.
WORDSTAR COMPATIBILITY - In most respects VDE operates much like WordStar;
one big difference is the absence of a "No-File" menu. You are always in
edit mode; use ^KL to select a new file to edit.
If the keys ^J,^K,^L are in use as CP/M arrow keys, you must use
VDE's original command set to substitute for them as follows:
Block prefix (^K-)... ESC-
Help menu (^J)....... ESC-H
Repeat find (^L)..... ^\
If these keys are NOT installed as arrow keys, they retain their WordStar
functions. Then, of course, VDE lacks some WordStar commands, and has
some of its own. Aside from these, there are the following differences in
common commands:
COMMON USE WORDSTAR 4 VDE VDE NOTES
Hide block ^KH ^KU Actually unmarks block.
Erase disk file ^KJ ^KE
Set Place Mark ^K0..9 ^PZ Not individually numbered.
Go to Place Mark ^Q0..9 ^QP Cyclic.
COMMON COMMAND WORDSTAR 4 USE VDE USE
^^ Soften hard CR Transpose upper/lowercase
^KN Column block mode Rename current work
^OD Display ^P codes Display hard CRs
^OF Ruler from text Flush right
^OP Preview mode Page length
^QU Repeat align Repeat undelete
Note that VDE does not implement WordStar "dot commands" in text, though
in "W" mode it will avoid printing them.
=============================== 6. 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.
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 generic terminal installation.
Versions 2.1-2.3 added new features including macros; global replace;
tighter compression; many Print options; file directory; undelete.
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) - Greater WordStar compatibility; many new functions; more
free RAM; faster scrolling; search options; keyboard buffer.
1988: Development through v2.64, with new functions; top margin; doublespaced
printing; auto mode filetypes.
2.65 (4/88) - Auto indent; tab set enhancements; small fixes.
2.66 (6/88) - Printer left margin; small fixes.
THIS SHOULD BE THE LAST RELEASE OF CP/M VDE. ENJOY!
For further details on changes in the latest version, see the accompany-
ing update file VDExxx.UPD.
****************************************************************
***** The VDE editor and its documentation are *****
***** (c)1988 E. Meyer, all rights reserved. *****
***** They may not be circulated in any incomplete or *****
***** modified form, nor sold for profit, without *****
***** written permission of the author. *****
****************************************************************
DISCLAIMER: You undertake to use VDE at your own risk. The author
accepts no liability for any damages resulting from its use or misuse. Direct
problem reports and suggestions to the author; include a stamped return
envelope for a reply if desired.
Thanks to the many users of VDE whose feedback has led to improvements
and bug fixes in the past.
Eric Meyer
427 N. Washington CompuServe [74415,1305]
Bloomington, IN 47401 GEmail ERMEYER
==============================================================================