Search this site  
VDE 1.96 Manual  
VDE.TXT  
-------  
Instructions for the VDE Editor:  
version 1.96 (17 Aug 2009)  
[revised 23 Nov 2009]  
(c)1987-2009, E. Meyer  
Requires: PC compatible computer with DOS 3.x or above  
(or equivalent functionality under Windows)  
=============================== CONTENTS  
==================================  
1. INTRODUCTION: About VDE; Copyright and usage policy.  
2. QUICK-START INSTRUCTIONS:  
Installation, Menus and Commands, Help, Basic operation,  
Macros.  
3. FILES YOU CAN EDIT: Large files; File modes;  
Compatibility.  
4. DOS SYNTAX: Invoking VDE from the command line.  
5. BEYOND DOS: Using VDE under Windows, etc.  
6. COMMAND SUMMARY: MenuBar choices; Command keys.  
7. COMMAND REFERENCE, alphabetically by topic:  
Autoformat, Autonumber, Autosave, Block commands,  
Clipboard,  
Column blocks, Cursor motion, Data files, Delete file,  
Deletion,  
Envelopes, File browser, File commands, Find/replace,  
Graphics/foreign characters, Header, Hyphenation,  
Indentation,  
Information, Input direction, Insertion, Justification,  
Line  
spacing, Margins, Matching text, MenuBars, Multiple  
files,  
Pagination, Place markers, Printing, Print preview,  
Printer codes,  
Printer drivers, Proportional spacing, Protected mode,  
Quit,  
Read/import, Reformat, Rename/save as, Ruler line, Run  
command/  
shell, Save, Screen controls, Screen size, Spelling  
expansion, Tabs, Time/date, Undelete, Upper/lower case,  
check, Tab  
Windowing.  
8. CREATING MACROS: Automating common tasks.  
A. Keystrokes and notation  
B. Defining macros  
C. Recording macros  
D. Storing macros to keys  
E. Macro programming  
F. Examples of useful macros  
G. Adding features: Mail Merge  
9. MACRO REFERENCE, alphabetically by topic:  
Autoexec macro, Chaining or calling, Counter variable,  
Define or  
record macro, Error handling, Function keys, Function key  
Key definition files, Labels and jumps, Pause or user  
labels,  
input, Prompt  
automation, Segment navigation, Sorting, Tests and loops,  
Toggle  
control, Value adjustment.  
10. TECHNICAL INFORMATION, alphabetically by topic:  
Accessory programs, CLIPTEXT, Ctrl key, Directories,  
Error messages,  
Keyboard variants, Memory, Prompts, Segmentation, USB  
printers.  
. ============================ 1. INTRODUCTION  
==============================  
VDE is a small, fast DOS-based text editor for PC compatibles  
offering:  
* WordStar-style command keys, or easy menu-driven basic  
operation  
* multiple file editing with dual windows, copy and paste,  
compare  
* block copy, move, delete, read, write, zoom, and column mode  
* find and replace (including backward, ignore case, all  
files, etc)  
* protected mode, multi-level undo, and automatic timed save  
* powerful programmable macros to automate tasks or create new  
features  
* definable function keys and many other user-configurable  
options  
* many choices of text, screen, and window sizes  
* full-featured file browser (tag, edit, import, delete, etc)  
* access to DOS utilities, full DOS shell, and Windows  
Clipboard  
* compatibility with Windows features like Long File Names  
* fast, effective operation even on older PCs, laptops,  
palmtops  
Yet VDE is also an effective word processor, with:  
* fully automatic, permanent paragraph formatting (manual  
optional)  
* wordwrap, adjustable margins, center, flush right, variable  
tabs,  
autoindent, double space, right justify  
* writer's tools including word count, list numbering, sorting  
* print preview to check format and pagebreaks before printing  
* customizable printer drivers for special effects (bold,  
underline,  
italic, super/subscript, overstrike, fonts, etc)  
* many printing options (headers, pagination, selective print,  
single  
sheet feed, address envelopes, print to file, etc)  
* multiple file formats for text exchange/translation,  
including DOS,  
Windows/Unicode, RTF, WordStar, WordPerfect, Word, HPLX,  
Unix  
VDE (Video Display Editor) is a unique, versatile integration  
of the  
efficient simplicity of a text editor with an essential core of  
word-  
processing features. An effective tool for a wide variety of  
tasks, VDE is  
an excellent general-purpose editor; a quick viewer for document  
files in  
various formats; a practical editor to run within a shell from  
telecom,  
database, programming, or other DOS applications; and a good  
partner with  
Windows software. Yet its wide range of formatting and printing  
features  
(available even when working with plain text files) also make VDE  
a word  
processor in its own right, one that handles essential writing  
tasks faster  
and more simply than vastly more complex desktop-publishing  
programs.  
After all, typesetting is a process quite unrelated to  
writing, and often  
there's no good reason to be distracted by it. The fundamental  
advance of  
word-processing over a typewriter is in speed and ease of writing  
and  
revision, so VDE allows you to keep your fingers on the keyboard,  
concen-  
trate, and work quickly, whether you have the latest, fastest  
computer or  
not. You can find a phrase or make a global change instantly, and  
more work  
can be done right on screen, eliminating unnecessary printouts.  
If you truly  
need more sophisticated page design than VDE offers, you can  
easily import  
what you've written into a full-blown desktop publisher. But  
simple text  
files are readily viewed, searched, printed, or otherwise  
processed with an  
enormous variety of utilities dating back to the earliest years of  
personal  
computers. They remain an ideal medium for long-term storage,  
retrieval, and  
exchange of information, and programs like VDE that work with or  
translate  
into plain text still serve all sorts of purposes very well.  
With its permanent local formatting, otherwise found only in  
full-fledged  
word processors, VDE is the culmination of a long quest to  
discover how  
closely a simple text editor can approximate the features of such  
products.  
VDE runs well on newer Windows systems, which are still compatible  
with DOS  
software (and in fact can serve quite nicely as a multitasking DOS  
environ-  
ment); yet it remains small and efficient enough to work well on  
older or  
more limited PCs long abandoned by major software vendors, even  
tiny  
palmtops. Although small, VDE can accomplish even more than a  
glance at its  
list of built-in features might suggest: its macro programming  
ability allows  
you to design useful additional features of your own, like  
filtering,  
sorting, or mail-merge, if you find a need for them.  
REVIEWS AND RECOMMENDATIONS  
"VDE is a word-processing program for people who like their  
programs lean, mean and simple... executes all the standard  
operations necessary for writing articles, books or  
screenplays...  
blazingly fast... Even the loading and storing of files is  
speedy."  
- Paul Ciotti, Los Angeles Times Magazine (18 Mar  
1990)  
"This may be the finest piece of word processing code ever  
written. I have never been as impressed with anything as I  
have  
with VDE 1.5... writing software in 100 percent assembly  
language  
still pays off in performance and reduced code size. It's an  
astonishing product, believe me. It's more than the perfect  
laptop  
word processor... I cannot give a higher recommendation for  
any  
product that I have seen in ten years... Top recommendation."  
- John Dvorak, PC Magazine (24 Apr 1990)  
"What fascinated Dvorak was not just the astonishing  
functionality  
achieved with very little programming code, but also the  
attitude --  
and implications -- of the author who circulated it freely  
asking  
only for a modest sum... VDE is an amazing word-processor,  
offering  
almost everything except the layout and document processing  
features  
found in far fatter programs... it supports the old WordStar  
command  
set... ergonomically the most efficient I've ever learned."  
- Colin Brace, Language Technology/Electric Word  
(Jul/Aug 1990)  
"I've used various versions of WordStar, WordPerfect, and  
Wang  
IWP. I wouldn't trade my copy of VDE for shrink-wrapped sets  
of the  
latest versions of all of these. I congratulate you both on  
the  
quality of your program and on your policy in making it  
available..."  
- K.N., VDE user (Aug 1991)  
"You've recognized a truth about writing, which every  
commercial  
word-processor vendor has forgotten. Writing is about words -  
- not  
fonts or bit-maps or graphical layout. Writers need the  
computer  
equivalent of a typewriter -- not a print-shop."  
- J.W., VDE user (Aug 1995)  
VDE has appeared in stores in "Dvorak's Top 30", a boxed  
software  
collection published by Interplay Productions; it was also  
included with the  
book and disk "Dvorak's Inside Track to DOS and PC Performance" by  
John  
Dvorak and Nick Anis, published by Osborne/McGraw-Hill. VDE has  
received  
many good reviews, including a four-star "****" rating for many  
years on  
ZDnet from Ziff-Davis, publishers of PC Magazine.  
The author, Eric Meyer, has programmed in languages from APL  
to Z80; his  
other software for IBM PC compatibles includes the ZIP File  
Transfer program  
and numerous smaller utilities. He firmly believes that simple,  
effective  
software should remain easily available to users of all kinds of  
personal  
computers.  
.
FILES YOU SHOULD HAVE  
Be sure you have all the files that should be included in this  
package:  
VDE.EXE  
- The VDE editor itself.  
VINST.COM  
- Installation and customizing utility.  
VDE.TXT  
- This documentation for VDE.  
VINST.TXT  
- Documentation for the VINST utility.  
VxxxNEW.TXT - Latest news and update information for this  
version.  
FILE_ID.DIZ - Standard software description for online libraries.  
EXAMPLES.VDF - Function key examples described here under CREATING  
MACROS.  
WS4.VDF  
WP.VDF  
- WordStar 4 function key definitions.  
- WordPerfect function key definitions.  
COPYRIGHT AND USAGE POLICY  
The VDE programs and documentation are copyright  
(c)1987-2009 Eric Meyer, all rights reserved. They may be  
freely used and distributed, but only in complete and  
unmodified form.  
Software libraries are granted permission to charge up  
to US $6 for providing a copy to customers, or up to $30  
if  
part of a CDROM collection. VDE may not otherwise be sold  
for profit without written permission of the author;  
please  
write for terms.  
DISCLAIMER OF WARRANTY: This software is provided at  
no charge, and you undertake to use it at your own risk.  
The author does not warrant its suitability for any  
partic-  
ular purpose, and assumes no liability for damages of any  
kind resulting from its use.  
The correct description of VDE since December 2002 is  
"copyrighted  
freeware". "Free" means only that payment is not required for its  
use; this  
material is not to be considered in the public domain. Please  
note that  
while VDE still supports it, the spelling checker that registered  
users once  
received may not now be distributed as freeware.  
Eric Meyer  
3045 4th Street  
Boulder, Colorado 80304 USA  
VDE website:  
. ====================== 2. QUICK-START INSTRUCTIONS  
========================  
This brief introductory section is intended to explain the  
basic features  
and operation of VDE. Throughout, you will find references that  
lead to a  
more complete explanation of operations elsewhere. The first  
things to  
notice about VDE compared to other editors you may know are:  
* Either WordStar-style commands or a simple menu system can  
be used.  
* The existing format of text is always maintained (in AF  
mode).  
* Files can be read or written in a variety of formats at any  
time, using  
an optional mode letter. (See FILE MODES)  
* Novel features include block zoom, split viewing of a single  
file, text  
comparison, and input direction. (See ^KZ, AltW, AltM,  
^I)  
* Large files are broken into segments for editing. (See  
LARGE FILES)  
Note that as a classic DOS application, VDE makes no assumptions  
about  
various file types (extensions) alone indicating proprietary  
formats. [You  
can configure those yourself if you wish, with VINST.]  
INSTALLATION  
VDE should run well on any IBM PC-compatible computer, and  
also has  
special provisions for Hewlett-Packard 95/100/200LX palmtops.  
(Earlier  
versions through 1.65 once made allowances for older, less  
compatible DOS  
computers.) It is DOS software, but will also run under Windows  
and other  
environments providing equivalent functionality (see BEYOND DOS).  
Installation and customization of VDE are performed by the  
VINST utility.  
The VINST.TXT file describes all the options (display colors,  
action of  
certain keys, editing settings, printer drivers, etc) that can be  
changed to  
suit your tastes. You will discover the settings you prefer for  
VDE's many  
options and defaults as you become familiar with the program.  
[Various  
comments below in brackets "[]" point out choices available  
through VINST.]  
Once you've run VINST and chosen <S>ave to customize your copy of  
VDE.EXE,  
its initial welcome/copyright message will no longer appear.  
MENUS AND COMMANDS  
Editing with VDE can be performed in two different ways: via  
the MenuBar,  
or with Ctrl- and Alt-key commands. The commands offer greater  
power,  
flexibility, and speed, but can take some time to learn. MenuBars  
allow  
anyone to get started using VDE immediately, and may better suit  
those who  
use it only occasionally, or simply prefer not to memorize  
commands. All  
choices are listed under COMMAND SUMMARY below.  
MenuBars guide you to the functions you need. Press [F10],  
which is  
originally defined as "Menu", or press ^[Esc] (Ctrl + Esc), or if  
you're  
running Windows, Left-Shift + [Esc], to see the main menu:  
------------------------------------------------------------------  
-----------  
File Block Delete sEarch formaT stYle Set View Print  
Misc User  
------------------------------------------------------------------  
-----------  
Each highlighted letter leads to a submenu; for example, "F"  
brings up the  
File menu, with choices such as "Save" and "Quit". Hereafter,  
MenuBar  
commands will be referred to in the following manner:  
{File:Save}  
This is executed by pressing, say, [F10] F S. Many, though not  
all, of VDE's  
functions are available from the menu bars. [Others can be added  
to your  
User menu bar.]  
If you're willing to learn at least a basic set of VDE's  
editing  
commands, they're more concise and give access to its full range  
of features,  
including powerful macros. If you're familiar with the widely  
known WordStar  
command set, you can probably start right off editing files with  
VDE. VDE  
uses simple one- or two-key combinations, for example:  
AltW  
^C  
press [Alt] + W  
press [Ctrl] + C  
^QC  
press [Ctrl] + Q, then C  
(^Q^C works too; it doesn't matter how long you hold [Ctrl].)  
Many of these  
are mnemonic ("Q" for Quick moves, etc). Their advantage lies in  
being  
easily found by touch typists, with no groping for function keys  
or mouse to  
distract the writing process. In addition to many WordStar-style  
Ctrl-key  
commands, VDE has a number of Alt-key and Esc-key commands for its  
additional  
features, such as multi-file editing.  
HELP  
ON-LINE HELP: You can get a brief reminder of commands anytime  
by  
pressing ^J (also initially assigned to the standard help key  
[F1]). A  
summary of the simple Ctrl-key commands will appear; press  
[PgUp/Dn] or  
[^],[v] (up/down arrow keys) to page through other commands, or  
press A, E/M,  
K, O, P, or Q to display the Alt-key, Esc/Macro, ^K, ^O, ^P, or  
^Q-commands,  
or F for file modes/fine tuning, or J to return to the original  
screen. On  
narrow screens, the left/right arrow keys [<],[>] can be used to  
scroll menus  
for viewing. Once you've found the information you need, press  
[Esc] or  
[Space] to exit the help menu.  
THIS DOCUMENTATION: If you need further help while learning to  
use VDE,  
just load this file and use ^QF or {sEarch:Find} to locate  
information by a  
key word or phrase, far more easily than with a printed manual.  
If you ever  
require hard copy of any section, it can easily be printed out  
using VDE  
itself (^KP B), but you can save paper (as someone once imagined  
computers  
would do) by not reflexively printing the whole thing.  
BASIC OPERATION  
A typical editing session begins by typing something like "VDE  
filename"  
at the DOS prompt (for various options, see SYNTAX). If that file  
exists,  
it's displayed for editing; if not, you begin a new file. There's  
also a  
convenient FILE BROWSER for selecting files from a directory  
listing. VDE  
edits entirely in memory; nothing happens to files on disk until  
you issue  
some sort of save command (unless you've engaged autosave).  
VDE can edit up to 8 files at once, allowing you to move among  
them,  
compare two views on a split screen, copy text between them,  
perform  
find/replace operations across them all, etc (see MULTIPLE FILES,  
WINDOWING,  
MATCHING, FIND/REPLACE).  
Normally a HEADER appears at the top of the screen, showing  
the file  
name, cursor position (by Page, Line, Column), and flags for the  
status of  
various settings. At times, further information appears beneath  
this in  
menus or error messages. Press [Esc] to remove any menu or  
prompt; error  
messages will clear in a moment, or when you press any key.  
The usual display is a single screen of text, as many lines  
and columns  
as the current video mode shows. But many commands allow you to  
display  
different amounts of text or adjust your view of it, even view two  
different  
files or parts of the same file (see SCREEN CONTROLS, WINDOWING).  
You can  
suppress the header, or add a RULER LINE indicating margins and  
tab stops.  
Prompts will appear when commands require user input, usually  
directly  
beneath the header. Some are simple confirmations, like "Abandon  
changes?",  
that require you to press "Y" or "N". At other prompts for  
numeric or text  
input, like "Column:" or "Find text:", you will typically type  
something then  
press [Enter]; some keys have special functions here (see  
PROMPTS).  
There are three ways to move the cursor around the text: with  
a mouse [if  
enabled], or the four PC "arrow keys", or the WordStar "cursor  
diamond":  
up  
[^]  
[<] [>]  
[v]  
^E  
^S  
^X  
TO MOVE  
^D  
left right  
down  
PRESS  
OR  
These methods are largely equivalent, but have subtle differences:  
see CURSOR  
MOTION. (As the context suggests, a symbol like "[<]" here refers  
to the  
left arrow key, not the "less than" character.)  
Like WordStar, VDE uses separate block beginning and end  
markers, set  
or reset independently in any order. (They display as highlighted  
brackets  
"{}".) You can also mark a block with arrow keys while holding  
down Shift,  
or with the main (left) mouse button [if enabled].  
When a block is properly marked, its text is highlighted and  
can be  
operated on with a variety of commands (see BLOCK COMMANDS,  
AUTONUMBER, etc).  
Unlike in most software today, blocks in VDE remain marked  
indefinitely and  
independently in each file, so you can easily perform multiple  
operations on  
them, or leave and return to them later. A block is normally a  
continuous  
stream of file text, but you can instead use rectangular blocks  
containing  
only parts of lines (see COLUMN BLOCKS).  
In documents, unless you've turned AutoFormat off, VDE formats  
text  
while you type; it can also be reformatted later in a variety of  
ways.  
(See MARGINS, SPACING, JUSTIFICATION, REFORMAT, AUTOFORMAT,  
AUTOINDENT)  
Margin, line spacing, and justification settings automatically  
adjust to  
existing text as the cursor is moved through a file, preserving  
its  
format during any subsequent editing. (Uniquely, VDE manages this  
even  
with plain text files, which have no format settings stored in  
them.)  
Note that the left margin command is ordinarily used only for  
indenting  
portions of a text; the physical offset from the left edge of the  
paper  
(which doesn't appear on screen) is set in the printer driver.  
A basic understanding of how VDE formats text is helpful.  
Rather than  
storing hidden codes as word processors do, VDE relies upon a  
subtle  
distinction: when wordwrap occurs, a space is left at the end of  
the line,  
indicating that the CR (Carriage Return) is "SOFT", removable for  
formatting  
purposes. On the other hand, when you hit [Enter] to end a  
paragraph, you  
create a "HARD" CR with no preceding space, which acts as a  
boundary for  
paragraph formatting, and displays a small arrow on screen. The  
result can  
be read and processed by any software as a simple text file, yet  
remains a  
reformattable document when edited again with VDE. (This format  
is sometimes  
called "flowed" text today.) Of course VDE can handle unformatted  
text too,  
in which soft CRs aren't written to the file at all.  
Note that when typing at the end of a line, you can change a  
hard CR into  
a soft one, or vice versa, by adding or deleting a space -- even  
uninten-  
tionally. And holding [Enter] instead of the down-arrow is NOT  
the way to  
move the cursor through a file, since it also hardens all the CRs,  
obstruc-  
ting future reformatting. (It actually remains possible to  
reformat such  
"hard" text, which you may also encounter from other sources; see  
REFORMAT.)  
When you wish to apply special print effects, VDE (like  
WordStar) handles  
them not as a block operation, but by inserting a special code in  
the text  
with ^P. Some are one-time switches, while the more common ones  
(like  
underlining) are toggles that must be applied in pairs, to turn  
the effect on  
and off again. Thus, to use the underline code ^PS,  
you type: This is ^PSunderlined^PS text.  
and you see: This is SunderlinedS text.  
The toggle displays onscreen as a highlighted letter; in printing,  
the word  
will actually be underlined. Other effects such as bold, italic,  
and  
super/subscripts are possible if supported by an appropriate  
printer driver.  
(See PRINTER CODES)  
VDE is intended to minimize the need for printing drafts of  
your work;  
you can move around the file and make corrections so quickly that  
it's easier  
simply to edit at the keyboard than to print, mark up copy by  
hand, then type  
in corrections. A PRINT PREVIEW feature also helps to avoid many  
mistakes in  
printing by showing actual alignment of text columns, highlighting  
print-  
toggled text, and indicating pagebreaks as dotted lines. When  
you're ready  
to print, many options are available to select format, pages, and  
so on (see  
PRINTING). You can print on any size paper or label that your  
printer  
supports, and even address an envelope.  
The default printer driver, called "SIMPLE", works on  
virtually any  
printer, but isn't capable of special effects (except underline  
and  
strikeout). The default alternate, "HP LaserJet(PCL)", should  
work on  
printers that support PCL commands. [VINST can select other  
drivers, or  
customize one to your preferences.]  
MACROS  
A "macro" is a string of VDE keystrokes that, once defined,  
can be  
repeated automatically. Macros can also contain special commands  
for loops,  
tests, and jumps, much like a programming language. (See CREATING  
MACROS)  
You can type in a macro directly, or record the use of keys  
pressed during  
normal editing. You can store macros on function keys [F1]-[F12],  
and those  
definitions can be made permanent with VINST. The 48 user-  
definable keys  
(including Shift, Ctrl, Alt) allow you to customize VDE to your  
own taste or  
to suit specialized tasks. (See FUNCTION KEYS)  
Macros are a sophisticated and powerful tool for automating  
repetitive  
tasks. But they're not just toys for nerds; anyone can find  
something  
practical to do with them. The simplest example is boilerplate  
text -- the  
ability to enter a letterhead or a phrase like "Western Widget  
Development  
Company" just by pressing a key. Macros are also good for any  
frequently  
performed task, like changing margins -- just store several pairs  
of your  
favorite right and left margin settings to different function  
keys, and you  
can switch between them with one keypress. Many more complicated  
examples  
are described under CREATING MACROS.  
. ========================= 3. FILES YOU CAN EDIT  
===========================  
VDE is intended only for editing TEXT FILES, and shouldn't be  
used on  
other sorts of disk files, such as binary data or executable  
programs. There  
are many different kinds of text files, ranging from simple  
DOS/ASCII text to  
elaborate word processor files, but they can generally be  
described as either  
documents or nondocuments. A DOCUMENT is a stream of text whose  
paragraphs  
can be reformatted at will (to different margins, etc); if created  
with a  
word processor it may also contain embedded formatting data. Each  
program  
has its own proprietary way of encoding that information, some of  
which VDE  
may be able to translate. In contrast, a NONDOCUMENT consists of  
plain text  
in individual lines of arbitrary length that always remain  
separate, like a  
batch (BAT) file or programming code.  
LARGE FILES  
VDE can only edit files up to a certain size; originally  
written in the  
early 1980s for computers with just 64k of RAM, it still uses the  
same fast,  
simple method to manage text in conventional memory. You can edit  
files of  
around 70-80k as a single unit; larger files will be divided into  
multiple  
segments for editing, up to a maximum of around 500k of actual  
text  
(excluding any word-processor data that VDE discards). This  
segmentation is  
handled automatically, and global operations act on the entire  
file as you  
would expect, but while editing a large file you will view one  
segment at a  
time, and access the others with many of the same commands as are  
used for  
different files (which is how VDE actually handles segments  
internally; see  
MULTIPLE FILES). The current segment number (1-8) displays in the  
header by  
the filename, while the line/page count shown is cumulative from  
each segment  
to the next.  
VDE divides segments at the end of a paragraph where possible;  
you will  
normally want to avoid changes that leave the last line of a  
segment without  
a carriage return (Enter), since it would then run together with  
the first  
line of the next segment when saving or printing. Many editing  
functions  
recognize multiple segments, and will print or save (^KP, ^KS...),  
search  
(^QF,^QA,^QM), move to a specific file position (^QR,^QC, ^QI), or  
change  
settings (^O...) in all segments as appropriate. Exceptions that  
remain  
limited in scope to the current segment are:  
* Text entry, deletion, and most cursor motion, including  
arrow keys, PC  
keys like [PgUp,Dn] or ^[Home,End], AltO, and ^QP. An explicit  
command is  
required to switch segments.  
* All block operations (^KB,^KV,^QB...); blocks are marked and  
function  
independently in each segment.  
AltN,AltB move between segments just as between files,  
maintaining the  
previous cursor position in each; to go to the top or end of a  
segment, use  
^[Home, End]. To copy text between segments, use AltY/C,AltP. If  
you want  
to write more than one segment of text with ^KW, you can do it  
incrementally,  
using "+" to append. You can create a new segment yourself to  
expand the  
file you're editing, by using AltL and entering "+" alone instead  
of a  
filename; a new, initially empty segment will appear after the  
current one.  
(This would be a good response to a "Segment Near Full" or "Out of  
Memory"  
message.)  
Block zoom (^KZ) can still be used in multisegment files to  
limit the  
scope of editing operations: if a portion of the current segment  
is in block  
zoom, everything else (including other segments) will be ignored.  
If another  
segment is in block zoom, the portion of that segment outside the  
zoomed  
block will be ignored.  
You can practice on a copy of this file (VDE.TXT) to  
familiarize yourself  
with VDE's segmented approach to editing large files. See  
SEGMENTATION for  
advice on macro compatibility issues involving multisegment  
editing.  
FILE MODES  
VDE has different "file modes" for various file formats from  
simple DOS  
text to word-processor documents like WordStar or WordPerfect; for  
a list,  
press ^JF. Every time VDE opens or saves a file you can select  
whichever of  
these you like, determining not only the format in which a file is  
read from  
or written to disk, but also how it displays on screen and what  
default  
settings apply. In general, the document modes support word-  
processing  
features like wordwrap, pagination, variable tabs, and print  
styles;  
nondocument modes do not. [You can change the default mode /D if  
you like,  
and specific modes can be assigned to six file extensions.]  
A file mode can be specified with a slash after the filename  
on the  
command line or at any VDE filename prompt (such as "Read in  
file:"),  
allowing you to read, write, or convert text (subject to VDE's  
limited  
support for various features) in any of the format(s) listed. The  
fact that  
file modes aren't hard-wired to file extensions, even once  
assigned as  
defaults, gives you the flexibility to edit (say) an RTF file  
normally as /R  
most of the time, but also occasionally to read it as /A when you  
want to  
examine the RTF codes themselves. You can translate between  
formats by  
renaming to another mode before saving (^KE /M), or specifying a  
mode when  
writing to disk, though you must be aware of any differences in  
supported  
features between the old and new mode. (See SAVE/EXIT)  
Plain Text Modes  
Some of VDE's file modes (/D,A,U,T,X,N,C) are variations on a  
simple file  
type commonly called "plain text", which virtually all software  
can read (or  
import) as it still uses the ASCII alphabet adopted by the first  
personal  
computers. VDE offers multiple modes because such text may need  
to be  
handled either as a document or not, according to its purpose, and  
because  
other operating systems have slightly different standards for its  
format than  
DOS. (This makes it a bit difficult to decide which mode, if any,  
to assign  
by default to filetype ".TXT" on a Windows system; suit yourself.  
Of course  
DOS text files may have any extension, or none.) Any text file  
can be opened  
in whichever of these modes gives the best result. For example,  
this file  
VDE.TXT was written and is best edited in mode /A or /D as  
formatted DOS  
text, but it could at least be read in any text mode, though  
unformatted  
modes may not preserve its format, and ANSI modes would get a few  
special  
characters wrong. The optimal mode for any text file depends on  
its origin  
and purpose; if you're unsure, a little experimentation may be  
necessary,  
especially before saving any changes.  
FORMATTED DOCUMENTS - /D mode is for documents using formatted  
paragraphs  
with soft CRs, and providing for print effects (underline, etc)  
with ^P-  
codes. Extended characters (accents/graphics) are DOS/PC  
standard.  
/A mode (ASCII document) differs from /D only in that control  
codes (00-  
1Fh) are also viewed and printed directly (as PC graphics) rather  
than being  
interpreted as printer toggles and switches.  
UNFORMATTED DOCUMENTS - /U mode is for DOS/PC files stored  
with each  
paragraph as a single (long) line of text. Such lines will  
automatically  
wrap to the right margin in effect when the file is opened, but  
other  
formatting features (varying margins, justification) are not  
supported.  
/T mode is a variation on /U, for text files created by  
programs like  
Windows Notepad using ANSI/Latin1 encoding of extended characters  
80-FFh.  
(It can also read Unicode files, though it writes only ANSI.)  
/X mode is a further variation on /T, for files generated on  
Unix/Linux  
systems that end lines with LF only, instead of CR+LF.  
NONDOCUMENTS - /N mode is for simple line-by-line DOS/PC text  
like batch  
files. Hard tabs are used by default (TAB=09h) and most word-  
processing  
functions like wordwrap are disabled.  
/C mode differs from /N only by establishing variable tabs  
instead, and  
autoindentation suitable for structured programming languages like  
C.  
No special mode is provided for nondocuments in ANSI, Unicode,  
or Unix  
encoding, but you can open such files in the appropriate  
unformatted mode (/T  
or /X), and defeat wordwrap by setting the right margin to 255 or  
releasing  
it. (Or just change to mode /N, if you intend to save in DOS/PC  
format.)  
If you happen to open formatted text in an unformatted mode,  
only lines  
longer than your right margin will rewrap; shorter ones are left  
alone  
(unless you save as unformatted).  
Formatted text files not originally created with VDE are  
likely to be  
full of hard CRs, so reformatting may require hard reformat (^OY).  
Should you encounter files from other sources that don't have  
normal  
pairs of CR+LF at line ends, reading them may produce a single  
very long line  
of text. You can then use find/replace to change CRs (found as  
^PM) or LFs  
(found as ^J) to proper CRLFs (entered as ^M).  
VDE's plain text modes don't restrict contents to the  
"printable" range  
of ASCII values (20-7Eh). If a file might contain control codes  
or graphics  
(00-1F or 7F-FF) that would be unacceptable for some application,  
you can  
easily filter them out with a macro program. (One is provided in  
EXAMPLES.VDF; see MACRO PROGRAMMING.)  
Compatibility Modes  
The remaining modes (/R,W,S,P,F,M,L) allow VDE to handle  
universal Rich  
Text Format (also the native format of WordPad), and read or write  
files  
compatible with the proprietary formats of WordStar, WordPerfect,  
Microsoft  
Word, and the HP LX palmtop Memo editor, making VDE a handy  
accessory for  
users of these programs. Naturally, these are all document  
modes. Features  
supported in each format are listed below; when reading word-  
processor files,  
unsupported features are generally just filtered out. (VDE also  
once had a  
mode for XyWrite/NotaBene files, no longer supported. Any such  
files can  
still be viewed, codes and all, in mode /U.)  
RICH TEXT FORMAT - /R mode reads and writes Rich Text Format  
(RTF), a  
text-based format (derived by Microsoft from Word) designed to  
make a full  
range of word-processing features portable across a wide variety  
of modern  
software, including word processors and desktop publishers. /R  
mode supports  
most VDE print effects including bold, underline, italic,  
strikeout, and  
super/subscript. Paragraph formatting (margin variation) is also  
recognized  
and preserved in a general way (not precisely).  
VDE writes very minimal RTF header data, so that default fonts  
and styles  
will prevail when the file is read by other software. If that  
isn't your  
intention, you can save your file, reload it in /A mode so the RTF  
codes are  
visible, and make any desired changes. (You may want to use  
margin release  
to defeat reformatting.)  
[VINST offers the option to select a character set (PC,  
European PC, or  
ANSI) for writing RTF files -- note that unlike Word, WordPad  
doesn't read  
extended characters 80-FF correctly in files with PC encoding.]  
WORDSTAR - /W mode supports all features of WS v.3-4 file  
format. /S  
mode reads and writes WS v.5-7 format, but doesn't support all of  
the newer  
formatting features, notes, printer/font IDs, etc. VDE's  
operation will seem  
very familiar to a WordStar user, since many (though not all)  
commands are  
identical. Note that VDE doesn't recognize or implement any  
WordStar "dot  
commands" in the text.  
WORDPERFECT - /P mode reads and writes files in DOS WP v.4  
format. /F  
mode reads DOS WP v.5-6 and all WP for Windows files, and writes  
v.5 format  
(which can also be read by later versions). Both modes support  
some  
formatting features and underline, bold, and super/subscript; /F  
also  
supports italics and strikeout. You can edit in VDE using a  
command set much  
like WordPerfect's by loading the supplied WP.VDF key definition  
file, which  
makes the function keys call up the MenuBar in a manner similar to  
WP  
commands.  
MICROSOFT WORD - /M mode reads files in the format of DOS Word  
v.3-6,  
Win3.x Write, and Word for Windows. But due to the unusual  
internal  
structure of Word file format, /M mode doesn't support any special  
features  
at all, including print effects or formatting subtleties; when  
reading a  
file, it simply extracts text, retaining only paragraph  
boundaries. (Note:  
like many other general-purpose utilities, VDE can't read files  
produced by  
Word in "Fast Save" mode; use of that feature is not recommended.)  
VDE can't write Word format at all, so when you load a file  
with /M,  
protected mode (R/O) is automatically engaged to prevent  
accidentally  
overwriting the original file. If you do want to make changes and  
save the  
result as plain text, you must first rename it (with ^KE); if you  
don't  
explicitly change the file mode, it will convert to /T  
(unformatted ANSI), a  
format that DOS versions of Word can read directly, and Windows  
versions can  
import with the "Text only" choice. Files exported from Word as  
"Text only",  
like files written by VDE itself with /T, are not Word documents,  
and /M mode  
won't read them; use /T.  
The best way to exchange documents between Word and VDE is via  
RTF files;  
mode /R does support print effects and varying margins.  
LX MEMO (HP LX palmtop) - /L mode reads and writes files in  
the  
"formatted" mode of the HP 100/200LX palmtop's built-in Memo  
application.  
Margins, underline, bold, and pagebreak are supported.  
(Unformatted "ASCII"  
files can be exchanged with Memo using /U mode. VDE can't read  
encrypted  
Memo files.)  
Many file formats involve encodings of special symbols and  
graphics that  
differ from the DOS/PC standard; VDE translates these correctly  
where  
possible, or may substitute the closest available character if an  
exact match  
is unavailable. In some cases where there simply is no  
equivalent, VDE uses  
a special code (07h, which typically displays as a fat dot, and  
can be  
searched for as ^G) rather than simply dropping the character.  
VDE's compatibility file modes are intended to offer simple,  
quick access  
to reformattable text with a basic set of print effects. Word-  
processor file  
formats are very complex; users with more demanding requirements  
for  
compatibility or translation should instead resort to specialized  
software  
designed for such purposes, either the import/export functions of  
the word  
processor itself or aftermarket products.  
. ============================= 4. DOS SYNTAX  
==============================  
When VDE is invoked from the DOS command line, you can list up  
to 8 FILES  
to edit; otherwise, a new (as yet untitled) file is begun [or you  
may be  
prompted for a filename]. Long File Names (LFNs) may be used on  
Windows  
systems (see BEYOND DOS), or with DOSLFN loaded. Multiple files  
can be  
separated by spaces and/or commas; the previous one's directory  
carries over  
to the next, unless the new one begins with a drive letter or the  
root  
directory "\". When a drive or directory alone is given, or  
wildcards (*,?)  
are used, the FILE BROWSER is invoked to display files to select  
from.  
Any name may be followed by a slash and a FILE MODE letter,  
like "/D", to  
load that file in the specified mode:  
D = Document (w/print effects)  
W,S = WordStar v.3-4,5-  
7
A = ASCII document  
P,F = wordPerFect v.4,5  
M = Microsoft word  
R = Rich text (RTF)  
L = hp Lx memo  
U = Unformatted ASCII doc.  
T = noTepad (unformatted ANSI)  
N = Nondocument  
C = programming source (nondoc)  
X = uniX text  
Other options are also possible with a slash after a filename:  
you can  
use "/O" to load a file in PROTECTED MODE (Read/Only). Any  
wildcard filespec  
may be followed by the option "/1-8" (or "/" alone, equivalent to  
"/8"), to  
load up to that many of those files AUTOMATICALLY, bypassing the  
Browser  
display and manual selection. (The actual number of files loaded  
may be  
smaller, depending on how many such files exist and how much  
memory was  
available.) Options may be combined at will.  
Any filespec may be followed by a target text string or  
number in square  
brackets [], to POSITION the cursor when the file is loaded. (If  
used before  
any options, this must not be separated from the filename by a  
space.)  
If a text string, the cursor goes to the first instance of  
that string,  
as if ^QF had been used; ^L will find further instances. (If the  
string  
contains codes that can't be typed on the command line, you must  
substitute  
the VDE wildcard ^_; if it contains only digits, append a wildcard  
to prevent  
its being interpreted as a line/page number.)  
If a number, the cursor goes to that line (for nondocuments)  
or page  
(for documents), as if ^QI had been used; very large values (up to  
the  
maximum, 65534) can be used to go to the end of the file.  
You can also change the default file mode and/or margins for  
a VDE  
session by specifying an option BEFORE any filenames. Margins are  
given in  
left-right order, "/#,#" (or just "/#" for a right margin, the  
left  
defaulting to 1.) These options can be useful when shelling to  
VDE from a  
program where other settings are preferred over your usual  
defaults: you can  
specify your editor as "VDE /U", or "VDE /60". The leading-mode  
option is  
also a convenient way to load many files in one mode. [Note that  
it's still  
overriden by any VINST filetype defaults.]  
The entire list of files to edit may optionally be followed by  
the names  
of VDE data files to load, overriding the default data in VDE.  
Each one must  
be preceded by a semicolon, have file type .VDF, .VDP, .VDC, .VDG,  
or .VDI,  
and reside in the specified, current, or VDE directory. (See DATA  
FILES)  
EXAMPLES  
C> VDE  
Begin editing a new file, as yet "untitled" [or VDE may  
prompt for a  
filename to edit, if so installed].  
C> VDE SAMPLE.FIL  
Edit file SAMPLE.FIL in the current directory.  
C> VDE B:\WORK\FILE1 MYDIR\FILE2 \FILE3 D:FILE4  
Edit files B:\WORK\FILE1, B:\WORK\MYDIR\FILE2, B:\FILE3,  
D:FILE4.  
C> VDE D:*.DOC  
List all files *.DOC in the current directory on drive D:,  
to select  
some for editing.  
C> VDE *.TXT/  
Automatically load all (up to 8) files *.TXT. (note / =  
/8)  
VDE *.TXT//T  
Likewise, but also specifying Notepad mode. (note //T =  
/8/T)  
C> VDE MYOLD.DOC[12]/W;WS4.VDF  
Load function key data file WS4.VDF, and edit file  
MYOLD.DOC as a  
WordStar v.3-4 document, starting out on page 12.  
C> VDE B:\WORK\INTRO[help],INDEX/O  
Edit files INTRO and INDEX, both in B:\WORK, starting off  
in INTRO at  
the first instance of "help", and preventing changes to INDEX.  
C> VDE /M66 SUMMARY.DOC,CHAPTER2.DOC,COMMENTS.DOC  
Set the session default to Microsoft Word mode, margins  
1,66, and edit  
these three files.  
C> VDE "C:\My Documents\Annual meeting notes.txt"/T[6]  
Edit this Windows long-named file in Notepad mode, starting  
off on  
page 6.  
. ============================= 5. BEYOND DOS  
==============================  
VDE should be usable in any software environment that provides  
or  
correctly emulates the functionality of MSDOS 3+, a PC BIOS, and  
video RAM.  
In particular, VDE works very well under DESQview or Windows; it's  
also been  
reported to work on OS/2 systems, and with DOS emulation (dosemu)  
under Linux  
(see file mode /X).  
DESQVIEW  
VDE is fully "DESQview-aware", so no special precautions are  
needed to  
run it under DESQview. VDE will time-share or cut and paste with  
other  
tasks, and its display adapts to window size as closely as  
possible, to  
preserve full-screen functionality even within a smaller window.  
VDE's AltE  
command won't work; to change display size, use DV's menu  
selection  
"Rearrange:Video" instead. For the best performance from VDE,  
leave both  
"Writes directly to screen" and "Virtualize text/graphics" set to  
NO under DV  
program options.  
MICROSOFT WINDOWS  
VDE can be run in a CMD or COMMAND (MSDOS) window under  
Windows 3.x,  
95/98/ME, or NT/2000/XP. VDE's file mode /T suits Windows text  
files  
(Notepad, etc); /M reads Word documents; and /R handles Rich Text  
Format  
(RTF), written by Wordpad.  
From Win95 on, Windows supports long filenames (LFNs), while  
also  
providing short DOS-compatible equivalents (like LONGFI~1 for  
"Long file  
name"). VDE accepts either short or long form for the names of  
files to edit  
or redirect print output ^KP(); any long name a file may already  
have is  
preserved when you access it by its short one. LFN entries  
containing  
spaces, commas, or square brackets '[]' must be enclosed in  
"quotes". Only  
short names are displayed by the header, the ^F/^R keys at  
prompts, and the  
Browser file list, though if the current item has a LFN, the  
Browser also  
shows that on an extra line below. The AltK command shows long  
names (with  
the short-form path for brevity), and the ^PF code in a print  
header will  
print the LFN. VDE abbreviates long paths and names with left or  
right  
arrows as necessary for display.  
EXCEPTIONS: LFNs are not accepted for VDE's own data files,  
nor in the  
File Browser. Any entry containing wildcards, whether at command  
line or  
prompt, is parsed as a DOS filespec.  
IDIOSYNCRASIES: When creating a new file, any filename in 8.3-  
character  
format will be capitalized as a DOS name unless enclosed in  
"quotes" as a  
Windows name. Any new filename not in 8.3 form causes the header  
to display  
a pseudo-short-name with the tag '~?', until the file is actually  
saved to  
disk and acquires a short name (typically '...~1' instead).  
(Caution: older DOS software tends to lose LFNs when  
processing files on  
Windows systems, and shouldn't be used on such files unless you  
know it can  
handle them. LFN support is available only when Windows is  
loaded.)  
VDE is compatible with the generic Windows Cut/Paste feature,  
via the  
menus/buttons of its window (accessed by Alt-Space or right-  
clicking on the  
header if not visible) or for Win9x, marking and right-clicking  
with the  
mouse (once disabled in VDE itself). VDE can also access the  
Clipboard  
directly using its own keys ^[, ^] (instead of ^C,^V), with full  
proper  
translation. (Under WinNT/2K/XP, a free accessory utility is  
required to  
allow this. See CLIPTEXT)  
Ctrl-Esc and Alt-Tab are Windows shortcuts for task-switching,  
so to  
allow them as command keys in VDE you must reserve them for its  
use in the  
window's Properties. (Alternatively, you can store these keys to  
function  
keys instead, or access the MenuBar by pressing LeftShift-Esc.)  
When running within a window, AltE changes the window height  
instead of  
the text size. Under Win9x, VDE gets confused and positions its  
own cursor  
erratically if the mouse cursor moves across its window; to avoid  
this  
problem keep the mouse out of the VDE window, or run VDE full-  
screen  
(allowing use of the mouse within VDE), or select the "QuickEdit"  
or  
"Exclusive" mouse mode in the Properties of VDE's DOS session [or  
disable  
VDE's mouse response entirely with VINST].  
The response time of NT/2K/XP's CMD can grow very sluggish;  
when you  
notice this, it's best to save your work and reboot the computer  
to avoid the  
annoyance (and risk of further problems).  
In order to be able to print from a networked Windows system  
with VDE, it  
may be necessary to specify your printer port (e.g. "LPT1") in  
place of "PRN"  
in VDE's printer driver (see PRINTER INSTALLATION). Use of a USB  
printer  
will require capturing, pooling, or sharing LPT1 via Windows or  
third-party  
drivers (see USB PRINTERS). Recent "Windows-only" economy  
printers can't  
print if you boot to DOS alone without Windows 9x loaded.  
. ========================== 6. COMMAND SUMMARY  
=============================  
COMMANDS AND NOTATION: special PC keys are indicated in  
[brackets],  
including cursor arrows [^],[v],[<],[>]. [+],[-],[5] refer to the  
separate  
keypad keys only, with NumLock off. "Esc0" means pressing [Esc],  
then 0.  
"AltD" means pressing [Alt]+D. "^" indicates holding down [Ctrl];  
"^K" means  
[Ctrl]+K. Many commands use two-key sequences, like ^QR =  
[Ctrl]+Q, then R.  
A prefix (like ^Q) can be canceled with [Esc] or [Space].  
Occasionally a  
caret "^" or bracket "[", "]" itself is also part of a command.  
On some foreign keyboards, obscure ctrl-keys are in different  
locations:  
you must press ^6 for ^^, or ^< for ^\. If your [Ctrl] key isn't  
conven-  
iently located, you can swap its function with [CapsLock]; see  
CTRL KEY.  
SPECIAL PC KEYS  
[Enter] = End of line. In documents, marks paragraph end.  
[Tab] = Hard tab mode: enter TAB. Variable tab mode: move to  
next stop.  
Shift[Tab] = backward tab (move to previous tab position).  
^[Tab] = tab to next column of line above.  
Alt[Tab] = variable tab in hard tab mode, or vice versa.  
[BkSp] = Delete previous character. ^[BkSp] = delete word to  
left.  
[Del] = Delete current character.  
current word.  
[Ins] = toggle Insert/overstrike.  
Insert.  
^[Del] = delete entire  
^[Ins] = toggle Word  
[^], [v], [>], [<] (arrow keys) = move cursor.  
^[^],^[v] = go to top, bottom of screen.  
^[<],^[>] = move to start of previous (left), next (right)  
word.  
Alt[^],[v] = scroll screen vertically 1/3 screen.  
Alt[<],[>] or [Esc][<],[>] = scroll horizontally 32 columns.  
[5] = make current line center of screen.  
[-],[+] = scroll back, forward one line.  
\ Keypad  
keys,  
off  
/ NumLock  
[Home],[End] = go to start, end of line. Repeated: of  
prev/next line.  
^[Home],^[End] = go to top, end of segment.  
[PgUp],[PgDn] = page back, forward one screen.  
^[PgUp],^[PgDn] = page both windows of split screen back,  
forward.  
Shift[^],[v],[>],[<]  
Shift[Home,End,PgUp,PgDn] / block  
\ mark  
(shifted arrow  
or keypad keys)  
.
MENUBAR CHOICES  
Press ^[Esc] or LeftShift-Esc (also initially programmed on  
[F10]) to  
call up the main menu bar; select a sub-menu by typing the  
capitalized,  
highlighted letter, then select a command from it. The [Esc] key  
can be used  
to return to the main menu, and from there to quit. For  
explanation of any  
selection, look up its command equivalent.  
___MENUBAR_____________COMMAND___  
_____MENUBAR____________COMMAND___  
{File: neW}  
^KB  
^KD  
{Block: Begin}  
End}  
Open}  
AltL  
^KR  
^KK  
Import}  
Copy)  
AltY  
AltP  
^QB  
^KZ  
^KW  
^KH  
^KY  
Dir}  
^KF  
Paste}  
Goto}  
Next file}  
Prev file}  
Rename}  
Save}  
AltN  
AltB  
^KE  
Zoom}  
Write}  
Unmark}  
Delete}  
^KS  
Quit}  
^KQ  
Exit}  
^KX  
{Delete: Line}  
^QF  
^Y  
{sEarch: Find}  
Replace}  
to ln Start}  
^Q[Del]  
^QA  
to ln End}  
to Char}  
^QY  
^QT  
rePeat}  
place Set}  
^L  
^KM  
Block}  
^KY  
^U  
place Go}  
Overview}  
Match}  
^QM  
Undelete}  
AltO  
AltM  
AltJ  
spellCheck}  
{formaT: Center}  
^PB  
^OC  
^OF  
^OS  
^OK  
^OJ  
^B  
{stYle: Bold}  
Underline}  
Italic}  
Flush}  
^PS  
^PY  
^PX  
^PT  
^PV  
Double spc}  
Prop spc}  
Justify}  
Reform}  
strikeOut}  
suPerscript}  
Subscript}  
Auto fmt}  
autoIndent}  
^OM  
^OA  
{Set: L margin}  
^OL  
^OR  
^OX  
^OT  
^OI  
^ON  
{View: split Window}  
Other window}  
Header}  
AltW  
AltF  
^OQ  
R margin}  
Marg rel}  
rUler}  
F-labels}  
^OU  
tab Set}  
tab Clr}  
Lines}  
AltE  
^OZ  
Blank}  
Varitab}  
Hyphens}  
Pg length}  
^OV  
^OH  
^OP  
{Print: File}  
^KP  
{Misc: Time}  
Date}  
AltT  
AltD  
AltK  
^M^M  
AltU  
AltR  
AltI  
preView}  
Driver}  
^OD  
AltV  
^PL  
file Info}  
pg Break}  
Graphic}  
Record macro}  
Use datafile}  
DOS Shell}  
AltG  
overstrike Char} ^PH  
overstrike Line} ^PM  
about VDE}  
.
COMMAND KEYS  
I. CONTROL KEYS: press the ctrl-key combination shown.  
WordStar arrow-key diamond:  
^E = up  
right, left  
^D = right  
^F,^A = move to word  
^X = down ^S = left  
^W,^Z = scroll back, forward one line  
^B = reformat  
paragraph  
^R,^C = page back, forward one screen  
^G = delete character at cursor  
^T = delete word to right  
^I = input direction  
^Y = delete current  
line  
^U = undo last deletion (character, word, line, or block)  
^V = toggle Insert mode on/off  
^N = insert CR (break  
^_ = insert a space  
^P- = soft hyphen  
line)  
^P = insert special code:  
^PI,H,M,L = tab, backspace, return, formfeed  
^PB,D,S,Y,T,V,U,Q,W,E,R,A,N = print toggles and  
switches  
^^ = toggle upper/lowercase character  
find/replace  
^\ = copy existing character  
direction  
^L = repeat last  
^H = repeat in other  
^M = define a macro by entering a key sequence at the prompt  
^M^M = record a macro from keys pressed as you work  
^[, ^] = copy to, paste from Windows Clipboard  
II. FILE AND BLOCK COMMANDS: first press ^K, then the key shown.  
^KF = disk File browser  
file into text  
^KR = Read (import) a  
^KL = Load replacement file(s)  
^KP = Print  
^KJ = delete a disk file  
^KE = rEname current work  
^KS = Save to disk, and  
^KX = eXit: save & quit  
^KQ = Quit to DOS,  
continue  
^KD = Done: save & load new file  
to DOS  
^KA = set Autosave interval  
abandoning file  
^KO = prOtected mode (Read/Only)  
^KM = insert place Mark in text  
^KU = Undo all place  
marks  
block  
^KB = mark start of a Block  
^KH = unmark the block  
^KK = mark end of a block  
^KY = Delete the marked  
^KC = Copy block at cursor location ^KV = moVe block to  
cursor location  
^KZ = Zoom into the marked block  
disk file  
^KW = Write block to a  
^KN,I = column block mode  
^K",' = uppercase (") or lowercase (') block text  
^K# = automatically number items in the block  
^KT = expand tabs into spaces within block  
III. QUICK COMMANDS: first press ^Q, then the key shown.  
^QS,^QD = go to beginning, end of line  
^QE,^QX = go to top, bottom of screen  
^QR,^QC = go to top, end of file  
^QB,^QK = go to beginning, end of block  
^QL,^QN = go to last, next page  
page or line  
^QI = go to specified  
^QM = go to next place Marker  
^QP = go to Previous position in file (before last sizable  
move)  
^QF = find a string  
string  
^QA = find and replace a  
^QY = delete from cursor to end of current line  
^Q[BkSp] = delete from cursor to beginning of current line  
^QT = delete up to specified character  
IV. ONSCREEN COMMANDS: first press ^O, then the key shown.  
^OR,^OL = set Right, Left margin  
Release on/off  
^OC = Center text on line  
^OX = toggle Margin  
^OF = make line Flush  
right  
^OW = set margins/spacing/justif. from current paragraph  
^OA = Autoindent on/off  
^OG = temporary indent  
^OM = autoforMat on/off  
^OY = hard reformat  
on/off  
^OO = first line indent  
^OK = proportional spacing on/off  
on/off  
^OS = double Spacing  
^OV = tab mode Variable/hard  
^OH = Hyphenation on/off  
^OI,^ON = set, clear tab stop(s)  
^OP = set Page length (0 turns off pagination)  
^OQ = header display on/off  
on/off  
^OT = ruler line display on/off  
on/off  
^OU = function key labels  
^OB = hard CR/TAB display  
^OD = print preview (print codes hidden, pagebreaks displayed)  
^OE = make current line top of screen  
^OZ = temporarily blank the entire screen  
V. ALT-KEY COMMANDS: hold [Alt] and press the key shown.  
AltK = file/memory information  
Information  
AltI = VDE version  
AltL = Load an additional file  
previous file  
AltW = split Window  
Next file  
AltF = move to other window  
AltB = move Back to  
AltN = move forward to  
AltY,C,P = copY, Cut, or Paste a block from one place or file to  
another  
AltM = Match up the two files on screen, showing differences  
AltR = Run DOS command (or shell)  
changed files  
AltS = Save (^KS) all  
AltX = eXit (^KX) all  
files  
files  
AltZ = purge: quit unchanged files AltQ = Quit (^KQ) all  
AltT,D = enter the current system Time or Date in the file  
AltA,G = enter an Accented or PC Graphics character into text  
AltE = screen lines (20/25/33/50), if supported  
AltO = scroll with Overview bar  
driVers  
AltV = change printer  
AltU = Use (Load or Save) data file (key definitions, etc)  
VI. ESC-KEY COMMANDS: first press [Esc], then the key shown.  
Esc0..Z = optional alternate way (aliases) to use macro  
keys  
Macro Programming:  
= labels Esc(),+,- = counter  
= jumps  
Esc0..Z  
Esc!  
Esc;  
= pause  
Esc=,~,<,>,@ = character tests  
Esc:,?  
Esc&,&&  
= user input  
= chain/call  
Esc*  
= toggle control  
macro  
Esc#  
= adjust value  
Esc$,%  
= error  
handling  
Esc|,\,/,[,],. = segment navigation and tests  
^[Esc] = call up MenuBar (LeftShift-Esc may also be used)  
. ========================= 7. COMMAND REFERENCE  
============================  
AUTOFORMAT (^OM) - ^OM toggles AutoFormat on and off in a  
document. When on,  
any changes to the text or adjustments to format cause  
immediate refor-  
matting of the current paragraph. In formatted file modes,  
margin, line  
spacing, and justification settings also adjust automatically  
to existing  
text as the cursor moves through a file. (These changes will  
be reflected  
in the header and ruler, if on.) This preserves local  
formatting, just as  
in any word processor: you can simply edit any paragraph  
without first  
being obliged to change settings manually to match it, and can  
make global  
changes with Replace or Spell-check without disturbing file  
format.  
When autoformat is OFF wordwrap still occurs, but format  
settings  
remain fixed unless changed manually, and any reformatting must  
also be  
done manually. (This is the most convenient way to reformat  
multiple  
paragraphs to the same settings; see REFORMAT.)  
Notes: Certain keystrokes may appear to have further  
effects, or none,  
due to autoformat. Rarely, in short paragraphs, the right  
margin may fall  
just short of that originally intended, or justification may  
fail to be  
detected, but this can easily be corrected manually.  
Proportional spacing  
status (^OK) isn't likewise managed automatically; the current  
setting  
always prevails.  
AUTONUMBER (^K#) - VDE can automatically number items for a list,  
outline,  
etc. Just type a "#" character where each number should go:  
#. First item.  
#. Second item...  
You can then mark the list as a block, and use ^K# to insert  
numbers  
sequentially. You will be prompted for your choice of these  
options:  
nn begin numbering with nn  
+ continue numbering from the last use of ^K#  
- run numbering in decreasing order  
A Align numbers flush with marker  
R/r use Roman numerals (UPPER/lower case)  
"#" use specified marker character (default is "#")  
Decimal numbers can run from 1 to 65535, Roman numerals I to  
CCCLXLIX  
(399). The starting "nn" must be given in decimal; if not  
specified, 1 is  
assumed (unless decrementing).  
The entire number is inserted in place of the marker unless  
"A"lign is  
used, causing the last digit of the number to replace the  
marker and any  
others to extend leftward, overwriting any characters  
(typically blanks)  
previously there.  
Once numbering is done, the markers are gone. For lists  
that will be  
revised, leave the "#" markers in the file on disk; after  
numbering, print  
or write to another filename, and quit without saving.  
AUTOSAVE (^KA) - VDE can automatically save any changes you've  
made to disk  
at regular intervals. This ensures that you don't lose too  
much work if  
you make a major mistake or have a power outage. ^KA lets you  
set a  
suitable interval (1 to 255 minutes), or turn this feature off  
again (0).  
[The default can be set with VINST].  
Autosave will wait for a period of keyboard inactivity. It  
can't save  
"untitled" work or protected (R/O) files. Like ^KS, it  
preserves a backup  
file [if selected] only once per session, the first time a file  
is saved.  
BLOCK COMMANDS (^KB,^KK,^KH,^KZ,^KY,^KC,^KV,^KW; ^QB,^QK; ^KPB) -  
A block of  
text is delimited by two markers, independently set by the  
commands ^KB  
(beginning) and ^KK (end) in any order; block marking can be  
undone with  
^KH. Markers remain in place until removed, or reset  
elsewhere. (An end  
mark disappears if you mark a beginning after it, etc.)  
Alternatively, you can mark a block just by holding down  
Shift while  
using the arrow, [Home/End], or [PgUp/Dn] keys to move the  
cursor, or  
pressing the main (left) button while moving with the mouse [if  
enabled].  
(Immediately after doing this you can also use [Del] to delete  
the block.)  
Marked block text is highlighted in a contrasting color.  
One block  
can be marked in each file (or segment of a larger file).  
Normally a  
block is a continuous stream of characters; but VDE can also  
work with  
column blocks, rectangular regions defined by block markers at  
opposite  
corners that include only part of each line. (See COLUMN  
BLOCKS; the  
descriptions below are for normal block mode.)  
The block move and print commands (^KV,^KPB) require a  
block to be  
fully marked before use. To save keystrokes, other block  
commands can be  
used when only one block marker is present, completing marking  
by taking  
the current cursor position as the other end.  
^KY deletes the block, also moving to its location if the  
cursor was  
elsewhere. (^QP will return the cursor to its previous  
position).  
^KV moves the marked block to the present cursor location;  
^KC copies  
it there, leaving the original marked. (^QP will return to the  
former  
position of a moved block, or move to the end of the text just  
copied.)  
^KZ "zooms into" (and back out of) a block, temporarily  
displaying  
only that text, and making the rest inaccessible. This  
isolates a portion  
of a file for your attention, and limits the scope of editing  
commands  
(find/replace, word count, etc) to that part of the file; only  
saving to  
disk still involves the entire file. Pagination is turned off;  
you can  
still use block operations, but any such markers will disappear  
when you  
zoom back out again.  
^KW writes the block text to a disk file, asking for a  
filename (a  
mode can also be specified). You can also append to an  
existing file by  
typing a "+" before the filename, as in:  
Write to file: +LOG  
(If you don't specify "+" and the file already exists, VDE will  
ask  
whether you want to overwrite it.) To select a file to append  
to, you  
also can access the FILE BROWSER with [Enter], wildcards, or a  
directory  
name. You can't write to a file you're currently editing.  
^QB moves the cursor to the block beginning marker (^KB),  
if there is  
one; ^QK moves to the end marker (^KK).  
^KPB (^KP with option B) prints the block text only. (See  
PRINTING)  
CLIPBOARD (^[,^]; Esc*b) - VDE is compatible with standard Windows  
copy/paste  
features. It can also access the Windows Clipboard directly  
using its own  
^[ (copy) and ^] (paste) commands (in place of ^C,^V) to  
exchange text  
with other DOS or Windows software. (Under WinNT/2K/XP, a free  
utility  
must be present in your command path to allow this. See  
CLIPTEXT)  
^[ and ^] work much like VDE's other block copy/paste  
commands, but  
also provide DOS-Windows conversion: document text is copied to  
the  
Clipboard unformatted (without soft CRs or left margin), and  
DOS/PC  
special characters are translated to and from ANSI/Windows  
(though this  
isn't perfect or fully reversible). Occasionally you may not  
want this  
processing, for example when using the Clipboard to exchange  
text within  
VDE, with other DOS software, or a Windows application using  
the ASCII  
"Terminal" font. A toggle command Esc*b is provided to turn  
off character  
translation (Esc*B restores it); to avoid reformatting, switch  
temporarily  
to nondocument mode /N.  
Note that the ^[, ^] keys don't work at command prompts; if  
you want  
to cut or paste here, use the generic Windows method (Alt-  
Space, Edit).  
COLUMN BLOCKS (^KN,^KI) - ^KN toggles column block mode on and  
off, and ^KI  
alternates between normal (insert) and replace mode for column  
blocks.  
Normally, a block consists of the entire text stream  
between markers;  
a column block is just the rectangle with the start marker at  
the top left  
corner, and the end marker at the bottom right. Block  
highlighting shows  
the difference between the two modes. If the markers aren't  
properly  
placed to define a column block, highlighting won't appear and  
block  
operations won't work. Marking works a bit differently in  
column mode:  
you can set a marker beyond the end of a shorter line when  
needed, and  
fill spaces are automatically added. (When this happens during  
use of the  
Shift-arrows or mouse, they're removed again as the cursor  
moves on.)  
Afterwards you may want to delete any added spaces that remain.  
Column mode, as its name suggests, is most useful for  
rearranging or  
realigning text by columns. If printer codes or block markers  
themselves  
make it difficult to judge column alignment, use preview  
(^OD). In  
documents, column block operations don't invoke autoformat.  
They aren't  
permitted in proportional mode (^OK) since screen columns  
aren't relevant.  
Many block commands work essentially the same way in normal  
or column  
mode, including ^KH, ^K",^K', ^KW, ^KPB, AltY/C, ^KY, and ^U.  
A few are  
invalid in column block mode: ^KZ, ^K#, ^KT. (As a workaround,  
you can  
open a new empty file with AltL ^[Enter], paste the text there,  
and work  
on it in normal block mode.) It's also possible to copy or  
write a block  
in column mode, then paste or read it in normal mode (or vice  
versa).  
In column mode the block commands ^KV, ^KC, ^KR, and AltP  
(move, copy,  
read, paste) can either insert text or replace existing text,  
depending on  
the mode selected with ^KI, to offer more flexibility. In  
either case,  
the text appears with its top left corner at the cursor  
location; in  
column insert mode, spaces will be added to fill shorter  
lines. In insert  
mode, the block move/delete commands ^KV and ^KY actually  
remove the  
marked block; in replace mode, they leave a blank rectangle of  
spaces.  
CURSOR MOTION (Mouse,Arrows; ^F,A,C,R; ^QE,X,S,D; ^QR,C;  
^QI,L,N,P; AltO) -  
The text cursor can be moved with a mouse or pointing device,  
or the four  
PC arrow keys, or the classic WordStar "diamond" ^E,^X,^S,^D.  
While  
generally interchangeable, there are subtle differences.  
The mouse can move DIAGONALLY as well as:  
UP or DOWN maintaining the previous cursor column;  
LEFT to the beginning of the line, but no farther;  
RIGHT past the end of the line, up to the edge of the  
screen.  
The WordStar diamond keys move:  
UP or DOWN to the previous column OR end of new line if  
shorter;  
LEFT or RIGHT from one character to the next throughout  
the file.  
The arrow keys move:  
UP or DOWN maintaining the previous cursor column;  
LEFT or RIGHT from one character to the next throughout  
the file,  
but on to the edge of the screen if already past end  
of line.  
In short, the mouse moves at will across the screen, while the  
WordStar  
keys move only within existing text, and the arrow keys are a  
sort of  
hybrid. There is no separate mouse cursor; the mouse moves the  
text  
cursor, and works only within the text screen, not at command  
prompts.  
Whenever the cursor is temporarily pointing past the actual  
end of the  
line, you will see a ">" by the column number in the header; if  
you add  
text at this location, spaces will be inserted to position it  
there.  
^F or ^[>] moves right, to the start of the next word; ^A  
or ^[<]  
moves left, to the start of the current, then the previous,  
word. ^C or  
[PgDn] scrolls forward (down) one screen; ^R or [PgUp] scrolls  
backward  
(up) one screen.  
Preceded by ^Q, certain keys move more Quickly: thus ^QE,  
^QX go to  
the top or bottom of the screen; ^QS, ^QD to the left or right  
end of the  
line. Similarly, ^QR and ^QC jump to the beginning or end of  
the file.  
^QI moves directly to the specified page (for documents) or  
line (for  
nondocuments). In documents, ^QL and ^QN move to the start of  
the Last or  
Next page, respectively.  
^QP is a powerful navigation tool: generally, it returns to  
the  
Previous cursor position, before the last sizable move. It's  
effectively  
an "undo" for commands like ^QR/C, ^QF, ^QM/B/K, AltM, AltO,  
and can be  
repeated to cycle between two positions in a file. (Note: to  
cycle  
between different files or segments, see Esc/.) ^QP also has  
special uses  
following many block operations; for example, it locates the  
end a block  
just imported, copied, pasted, or undeleted, so if after  
inserting the  
block you realize you didn't want it there after all, you can  
remove it  
with the commands: ^KB ^QP ^KK ^KY.  
AltO displays an Overview (scroll) bar at the top of the  
screen,  
unless a file is too small to do so. The length of the bar  
corresponds to  
the size of the text segment, while a marker shows the current  
relative  
position. Move the cursor left or right with the arrow keys  
[<],[>] to  
scroll backward or forward through the text. Press [Enter]  
when done to  
remain at the displayed position, or [Esc] instead to cancel.  
DATA FILES (AltU) - AltU allows you change various settings in VDE  
by Using  
(loading or saving) special data files containing options,  
function keys,  
graphics, character widths, or printer drivers. .VDF,K,G files  
can be  
loaded and saved; .VDP,C,I files can be loaded. [VINST can  
also create  
these data files; see VINST.TXT for further explanation of  
them.] If no  
directory is specified, files must be in the current or VDE  
directory (see  
DIRECTORIES).  
At the prompt for a data file to load, you can also access  
the FILE  
BROWSER with [Enter], wildcards, or a directory name. In this  
special  
case the directory defaults to the VDE directory instead of the  
current  
one, and the filespec to "*.VD?" instead of "*.*".  
DELETE FILE (^KJ) - ^KJ simply deletes whatever disk file you  
specify.  
Deletion is immediate; use caution. You can access the FILE  
BROWSER by  
pressing [Enter] alone at the prompt or entering a directory  
name or  
wildcards.  
DELETION ([BkSp],[Del],^[BkSp],^[Del],^G,^T,^Y; ^QY,^Q[BkSp],^QT)  
- ^G or  
[Del] deletes the character at the cursor. ([Del] will also  
delete a  
block if you've just marked it with the Shift-arrows or mouse;  
see BLOCK  
COMMANDS.) [BkSp] deletes the previous character. ^T deletes  
a word to  
the right (from the cursor to the end of the word). ^[BkSp]  
deletes a  
word to the left. ^[Del] deletes the entire current word.  
^Y deletes the entire current line. ^QY deletes just the  
part of the  
line to the right of the cursor; ^Q[BkSp] deletes the part to  
the left.  
^QT, followed by a character, deletes everything up until  
the next  
occurrence of that character; for example, ^QT. (period)  
deletes to the  
end of the sentence. Special cases: ^QT[Enter] deletes to the  
next HARD  
CR (end of paragraph) in documents; ^QT^Z deletes to the end of  
a file.  
Deletions can be recovered with ^U (see UNDELETE).  
ENVELOPES (^KPA) - The Print command's "A"ddress option offers an  
easy way  
to print an envelope:  
1. Begin by moving the cursor to the address of the  
recipient, and  
marking this as a block (see BLOCK COMMANDS):  
{Margarita Empanada  
P.O. Box 3172  
"{}" = block markers  
Sopapilla, CA 91306}  
Any indentation will be ignored; column block mode should be  
off.  
2. Use ^KP, and at the options prompt, type "A", followed by  
"1" or "2"  
to specify the envelope size: 1 for smaller (letter size)  
envelopes, about  
3.5 x 6.5"; 2 for larger ones (business size), 4.25 x 9.5".  
3. Optionally, you can include a return address for the  
upper left  
corner of the envelope: enter this in double quotes ("), using  
a backslash  
(\) to mark the beginning of a new line. Example:  
Options: A2"Your Name\Your Street\City, State Zip"  
(You may find it convenient to set up envelope printing with  
your usual  
return address as a FUNCTION KEY, if you use it frequently.)  
4. Load the envelope appropriately, and press [Enter] to  
print.  
NOTES: Printers handle envelope feeding in various ways.  
With some  
you can just feed in an envelope, or manually position it on  
the platen;  
with others, you must select a separate tray or a landscape  
font. [See  
PRINTER INSTALLATION]  
Positioning of text can easily be adjusted by adding  
linefeeds to the  
envelope initialization, or using the left margin option "L"  
AFTER the "A"  
option. Because of the way laser printers operate in landscape  
mode, VDE  
prints both envelope sizes with their RIGHT edge in the same  
place. This  
means that on other printers, the LEFT edge of a smaller  
envelope must be  
placed about 3" in from the left margin. If this is  
inconvenient, it can  
be overridden by specifying "L0" AFTER "A1".  
FILE BROWSER (^KF,Esc*L) - The File Browser shows a directory  
listing and  
allows various file operations to be performed. It can be  
accessed either  
DIRECTLY with ^KF, taking whatever you type as the argument for  
the "dir"  
command, and offering a choice of file operations; or  
INDIRECTLY to  
complete many of VDE's file commands (^KL, AltL, etc), when  
instead of  
specifying one file you use wildcards (*,?), or press [Enter]  
alone for  
*.*, or give a drive/directory name alone (implying \*.*).  
Files display alphabetically in uppercase, followed by the  
parent  
directory "..", then all subdirectories in lowercase  
(regardless of  
whether their names match). If there are more items to show,  
you will see  
"..." at the top and/or bottom to indicate this. A menu line  
below  
suggests the available command keys, and on Windows systems,  
displays the  
LFN (if any) of the current item.  
You can move the cursor through the list with the arrow  
keys,  
[PgUp/Dn], or [Home/End]; a character may also be typed to go  
to the next  
filename beginning with it, or "\" to go to the next  
subdirectory. [Esc]  
or [Space] clear the directory display (quitting ^KF, or  
returning to the  
filename prompt); ^[Break] quits. When loading or reading  
files, VDE's  
usual file mode defaults apply; if a file you want requires a  
different  
mode, you can first press "/" and the correct mode letter (or  
[Space] to  
cancel a previous choice).  
Pressing [Enter] with the cursor on a subdirectory (or the  
parent  
"..") switches to viewing its contents in turn. When the  
Browser is  
invoked indirectly from a file command, pressing [Enter] on a  
file  
performs that operation on it. When ^KF is used directly, a  
choice of  
actions is offered:  
[F1] load ADDITIONAL file (=AltL) ([Enter] does  
this too)  
[F2] load NEW file replacing current one (=^KL)  
[F3] READ file into current one (=^KR)  
[Del] DELETE (=^KJ) - works on directories too if  
empty  
If you've invoked the Browser with ^KF, ^KL, or AltL, the  
following  
additional keys may be used to tag and load files as a group:  
[+] TAG (select) a file  
[F4] load all TAGGED files  
Press [Esc] to quit tagging. ^KL and AltL (when not tagging)  
also offer:  
[F5] load ALL files shown (or as many as possible)  
(You can also load a group of files automatically, bypassing  
the Browser  
display, with the "/1-8" option after the filespec: e.g.  
"*.TXT/".)  
If you need more features than VDE's File Browser provides,  
you can  
run any other file utility you like with AltR.  
NOTES: For safety, you will be prompted to confirm (press  
"Y"es or  
"N"o) before any item is actually deleted.  
A file mode or the /O option can also be used along with a  
wildcard  
filespec when invoking the browser indirectly; the mode  
displays and can  
be changed or canceled with "/", while /O doesn't and can't.  
Items with the DOS Hidden or System attribute normally  
don't appear in  
directory listings. [VINST's excluded filetypes also won't be  
listed  
unless specified explicitly, e.g. "*.COM". Esc*L can be used  
to override  
these exclusions; see TOGGLE CONTROL.]  
The Browser can list over 1400 files; in the unlikely event  
that you  
have more than that in a single directory, try using a more  
restrictive  
filespec than *.*.  
FIND/REPLACE (^QF,^QA; ^L,^H) - ^QF is the command to Find a text  
string.  
The search normally proceeds forward from the cursor position,  
and is case  
(upper/lower) sensitive. In document modes, it allows for  
extra  
whitespace (spaces, soft CR) between words in the event of  
wordwrap.  
At the Find prompt, graphics can be entered with Alt-keypad  
codes or  
by pressing AltG and selecting from the menu. ^_ (Ctrl-  
underline)  
functions as a wildcard, matching any single character. Use ^M  
alone to  
match the end of a line (CR,LF); the code ^P^M can be used to  
find line  
overstrikes (CR without LF). In documents, a string STARTING  
with ^M will  
match a HARD CR (without preceding space) only. Examples:  
Find: ^MLABEL  
finds "LABEL" at start of line  
only;  
etc.  
Find: M^_.  
finds "Mr." or "Ms." or "Mt."  
^QA is the replAce command. It asks for a string to find,  
as above,  
then what to change it to. (The replacement can be empty, to  
simply  
delete the found string.) Normally, the cursor moves to each  
occurrence  
of the string in turn, and you're asked whether to change it;  
answer "Y"es  
or "N"o, or "*" to change all further instances without  
individual  
prompting, or press [Esc] to quit. The number of changes made  
is reported  
in the header.  
The find/replace commands also prompt for various options:  
"B" = search Backward from the cursor position;  
"C" = Case insensitive search (upper/lower doesn't  
matter);  
words);  
"W" = whole Word only (skip instances within larger  
"G" = search Globally (from start or end of file);  
"M" = Multi-file search (continues through all files  
being edited);  
"N" = No query, replace all instances without asking.  
You can bypass this prompt for options by finishing entry of  
the find or  
replace string with ^[Enter] instead of [Enter].  
^L instantly repeats the last find or replace (^QF/^QA)  
operation;  
options "B,C,W,M" remain as last specified. ^H also repeats,  
but in the  
reverse direction (backward instead of forward, or vice versa).  
If the new string is entered in lowercase, case insensitive  
replacement matches the existing case of each found string. If  
autoformat  
(^OM) is on during replacement, existing margins and spacing of  
text will  
be preserved. (Whether single lines will reformat is governed  
by Esc*S;  
see TOGGLE CONTROL.) "N"o query is assumed whenever ^QA is  
used in a  
macro.  
[VINST can change your default search mode to case-  
sensitive, or to  
"adaptive", meaning that search strings in lowercase are  
treated as  
insensitive, while one with any capital letters becomes  
sensitive.  
Whichever you choose, specifying the "C"ase option while  
searching will  
reverse the default treatment.]  
GRAPHICS/FOREIGN CHARACTERS (AltG,AltA) - Extended characters with  
codes in  
the range 80-FFh (128-255), such as accented letters and PC  
graphics, can  
be entered directly into a file with VDE by any standard DOS  
method,  
including the KEYBxx keyboard map utilities or the Alt-numeric-  
keypad  
method. But VDE offers two more convenient alternatives.  
AltG, the general-purpose Graphics command, presents a menu  
of up to  
32 characters to choose from, labeled A-Z and then 1-6; just  
press a key  
(A-6) to enter the corresponding graphic in your text. The  
default set  
[which can be modified with VINST] contains some useful box-  
drawing parts,  
and has room free for other characters. You can add a new  
graphic  
directly to the table (or redefine an existing one, if it's not  
actually  
present in any file) by pressing "=", then the code (A-6) to  
change. The  
complete graphics set will be displayed; you can just move the  
cursor to  
the desired character and press [Enter], or press [Tab] and be  
prompted to  
enter the extended character code in either hex (2 digits 80-  
FF) or  
decimal (3 digits 128-255). A few "control codes" in the range  
00-1F,7Fh,  
if entered into a file with ^P, will also appear in the  
graphics table.  
If it seems to be getting crowded, you can type "-" to clear  
all entries  
not needed for graphics present in current files.  
AltA allows easy composition of Accented characters without  
international keyboard. In some cases only a "letter" key  
an  
(capitalized or  
not) is required: for example AltA [n] instantly produces "¤",  
as there  
are no other possibilities. (AltA only produces characters  
that exist in  
the standard PC code page 437.) But in many cases you will  
press "letter"  
then "accent" -- first the base letter, then the key resembling  
what's to  
be added to it: ['], [`], ["], [^], [.] for "ø", or [e] for a  
conjoined  
"e". For example, AltA [a] [`] produces "…".  
AltA also produces some other special characters by general  
resemblance: "L,Y,P,F" produce the similar currency symbols;  
"$", cents;  
"2,4", the fractions 1/2 and 1/4; "<,>", the << and >> quotes;  
"!,?", the  
reversed versions; ".", the degree symbol; and "s", the beta  
(suitable for  
German eszett). The combination [o][e] also produces the phi,  
suitable  
for Norwegian slashed-o. (More alternatives exist in other  
code pages,  
but for that one can use an international keyboard too.)  
Repeatedly entering any graphic is tedious even with  
AltG/AltA;  
instead, you can use ^\ (see INSERTION) to repeat it, or  
incorporate the  
graphic into a macro (^M), or store it to a function key (see  
WS4.VDF).  
Graphics are written to disk according to the current file  
mode. They  
are printed according to the extended character set selected in  
your  
printer driver [see PRINTER INSTALLATION]; as a last resort,  
VDE can even  
approximate them with character overstrikes.  
Due to the way text is represented internally, VDE can ONLY  
handle the  
presence of 32 different graphics in an editing session. If  
you load  
files containing more graphics (or binary data that VDE  
interprets as  
such) and the table fills, further graphics can't be properly  
registered.  
VDE will substitute a special code for them (07h, which you can  
search for  
as ^G), the "Graphics overflow" warning will display, and  
protected mode  
(R/O) will engage to guard against saving and thereby  
corrupting the file.  
(The most common cause of this problem is reading a word  
processor file  
with the wrong file mode; just retry with the correct one.)  
HEADER (^OQ) - The "header" at the top of the screen can be  
toggled on and  
off with ^OQ. It provides useful information, but can be  
removed if you  
prefer a screen showing nothing but text. It looks like this:  
---------------------------------------------------------------  
---------  
+ VDE.TXT /A  
PS ! ^K_  
|-----------------||-------------|------|||----|||----||----||-  
---|-----  
(#)  
(?,")  
P 14 L 11 C 48  
Ins  
Col  
AF DS J+  
or (NP,BZ)  
(>) (WIn,R/O)(CRp)(AI,HR) (MR)  
'+' = Multi-file flag indicates other file(s) are also being  
edited.  
(A segment number may display here instead: see LARGE  
FILES)  
'VDE.TXT /A' = Current filename and mode. (The drive and  
directory, along  
with other files being edited, can be displayed with  
AltK.)  
'P 14...' = Cursor position in file by page (in document  
modes), line, and  
column. With pagination off in a document, 'NP' displays;  
in block  
zoom mode, 'BZ'. A right-arrow appears by the Column when  
the cursor  
is past the end of a line, and other arrows when ^I  
changes the input  
direction. In proportional mode, the column is replaced  
by a  
position in inches.  
'Ins','WIn' = Insert or Word Insert on.  
'R/O' = protected mode on (Read/Only).  
'Col','CRp' = Column block or replace mode on.  
'AF' = AutoFormat on.  
'AI' = AutoIndent on.  
'DS' = Double spacing on.  
'J+','J-' = Right Justification  
modes.  
'HR' = Hard Reform on.  
released.  
'PS' = Proportional spacing on.  
'!','?','"' = Macro executing, awaiting input, or being  
recorded.  
'^K_' = Command key prefixes (and brief messages or prompts)  
display here.  
'MR' = Margins  
On narrower screens, an abbreviated header is shown, like  
this:  
----------------------------------------  
+ VDE.TXT /A I! P 14 L 11 C 48  
Word Insert  
|-----------------||-----------|||------  
(#) or (W,R)(?,") (^K_)  
"I,W" = Insert,  
"R" = Read/Only  
There's no room in the header to display more obscure states  
like variable  
tab mode or hyphenation. Instead, such commands report their  
new status  
'on/off' briefly when used. [The header can be off by  
default.]  
HYPHENATION (^OH,^P-) - ^OH toggles hyphenation on and off. VDE  
can't  
hyphenate long words itself, but with ^OH on, it can recognize  
hyphens  
you've typed as legitimate places to break or recombine a line  
during  
reformatting. [The default can be changed.]  
Because later reformatting can change a hyphen's position  
and leave it  
a redundant nuisance, VDE also offers SOFT hyphens, entered  
with ^P-  
(^P,hyphen). Soft hyphens (which display in a different color)  
also  
indicate optional places to break a long word, but won't print  
unless they  
actually fall at the end of a line. You can use them  
temporarily in any  
document mode, but only modes /D,W,S,P,F,R store soft hyphens  
as such;  
when saving to disk in other modes, they convert to ordinary  
hyphens or  
disappear, as appropriate.  
Since soft hyphens aren't universally supported, when  
reformatting  
rejoins a word at an ordinary hyphen, VDE can't be sure whether  
it was  
dispensable or not; a place marker will be left beside it to  
call your  
attention. If you want to remove the hyphen, you can easily do  
so with  
^QM [Del].  
INDENTATION (^OA,^OG,^OO) - Several commands produce automatic  
indentation in  
various ways. (See also TABS, VALUE ADJUSTMENT)  
AUTOINDENT (^OA) causes wordwrap or the [Enter] key, upon  
moving to a  
new line, to match any existing indentation. Its operation  
varies  
according to Insert status: if you're inserting new text, it  
matches the  
previous line's indentation; if you're overwriting text, it  
moves to the  
line's existing indentation. Thus any structured indentation  
you create  
is maintained. This is particularly useful for outlines or  
program source  
code, and works in both document and nondocument modes. (Note:  
to work  
with ^OA, indentation must be done with spaces, not hard tabs.)  
When you want an entire paragraph indented, you could  
simply change  
the left margin and then change it back; but the TEMPORARY  
INDENT (^OG)  
may be more convenient. Each time you use ^OG, the left margin  
is  
indented to the next tab stop (or in proportional mode, another  
1/2").  
The indentation lasts until you type the [Enter] at the end of  
the  
paragraph (or use the ^B or ^OL commands), after which the  
original left  
margin is restored.  
Indentation at the start of a paragraph can be created  
manually, and  
reformatting will preserve it. But you can also set an  
automatic INITIAL  
INDENT with ^OO, to enforce in all formatting operations. The  
indent is  
specified relative to the left margin, with allowed values from  
-99 to 99;  
or you can press [Enter] alone for the current cursor column.  
Negative  
values produce "hanging indents"; you can enter "+0" or "-0"  
for NO  
indent. (The units are columns, or 1/10" in proportional  
mode.) To turn  
this feature off again, enter "0" alone at the prompt. (^OA  
and ^OO also  
cancel one another.)  
INFORMATION (AltK,AltI) - The file/memory information command AltK  
displays a  
message giving:  
the full name (including drive/directory) of the current  
file;  
when it was last saved, and whether it's been changed  
since;  
whether any print toggles (^B,^S, etc) are unpaired, in a  
document;  
a word count for the file, in a document;  
the current size of the file text in k (1k = 1024 bytes);  
bytes of memory used in the current segment, and percentage  
full;  
the total amount of memory free to edit more files;  
the full names of all other files being edited.  
If a file has a Windows LFN, AltK will display it, although the  
path  
remains in DOS short form for brevity, and further abbreviation  
occurs as  
needed. You can just press [Esc] to return to editing, or use  
the Up/Down  
arrow keys to move the cursor to another file or segment  
listed, and press  
[Enter] to examine it, or ^[Enter] to just go there.  
AltI displays the VDE version, date, and copyright. (An  
uninstalled  
copy of VDE does this automatically on startup.) Press [Esc]  
to clear.  
INPUT DIRECTION (^I) - This command cycles from the normal state  
in which the  
cursor moves RIGHT after character entry, to DOWN, LEFT, or UP  
instead,  
for easy construction of vertical lines, borders, boxes, etc.  
An arrow by  
the column number in the header indicates the chosen  
direction. Direction  
mode is temporary, allowing character entry and arrow keys to  
move along  
the chosen direction, but cancelled by virtually any other  
operation.  
Autoformat, if on, is suppressed while ^I is engaged. ^I  
observes  
any Insert state, but note that during leftward entry,  
characters  
preserved are moved past the entire entry, and Word Insert  
doesn't work.  
INSERTION (^V,[Ins],^[Ins],^_,^N,^\) - ^V or [Ins] toggles Insert  
mode  
on/off, and ^[Ins] toggles Word Insert. When both are OFF, VDE  
is in  
Overwrite mode. Which mode a user wants most of the time is a  
matter of  
personal preference [and the default can be changed with  
VINST].  
In Overwrite mode, a character typed replaces the one at  
the cursor;  
on pressing [Enter], the CR at the end of the line is hardened  
(see BASIC  
OPERATION), and the cursor advances to the beginning of the  
next line of  
text. In Insert mode, existing characters are preserved and  
carried to  
the right; when you press [Enter], a return is inserted in the  
text,  
moving any following characters onto a new line.  
Word Insert is a hybrid mode intended for word by word  
replacement:  
mostly it behaves like Overwrite, typing over any existing  
word; but at  
the end of the word it starts to act like Insert, so you can  
continue  
typing without overwriting the next word. This can be very  
convenient for  
revising existing text.  
The ^_ and ^N commands (to insert a space or a CR after the  
cursor)  
are most useful in Overwrite mode, avoiding the need to toggle  
Insert.  
Text can easily be duplicated with the ^\ command, which  
copies an  
existing character, normally the one above the cursor in the  
previous  
line. As a special case, when used immediately after entry of  
a graphic  
(via AltG/AltA or the Alt-keypad method), ^\ copies the special  
character  
just entered; thus it can be used to continue a line of  
graphics  
horizontally or (with ^I) vertically. Handling of existing  
characters  
depends on the Insert mode.  
JUSTIFICATION (^OJ,^OW) - ^OJ controls right justification mode,  
cycling each  
time it's used between three states:  
ADD. ("J+" in header.) Paragraphs are formatted  
with  
an even right margin, by inserting extra spaces between  
words as necessary.  
REMOVE. ("J-" in header.) Formatting undoes  
justification by removing any extra spaces between words,  
leaving an uneven right margin again.  
OFF. (Blank.) Formatting doesn't change text  
spacing.  
This simple method of justifying fixed-pitch text is largely  
obsolete  
today, but still supported in VDE mainly because  
DEjustification (J-)  
remains a handy tool for removing unnecessary spaces you may  
encounter in  
older text files.  
In autoformat mode the justification setting is local, and  
may change  
as the cursor moves to other paragraphs. (See AUTOFORMAT,  
REFORMAT) When  
autoformat is off, ^OW can be used to manually set  
justification (and  
margins and line spacing) according to the existing format of  
the current  
paragraph. The Reform (^B) command can re- or de-justify text  
as desired.  
Notes: VDE can't justify in proportional mode (^OK).  
Justification  
should only be used in WordStar file modes /W,S or VDE modes  
/D,A. Other  
file formats lack margin structure, or have a different  
(incompatible) way  
of designating justification.  
LINE SPACING (^OS,^OW) - ^OS toggles between single and double  
line spacing.  
In doublespaced mode, the following functions generate double  
carriage  
returns: [Enter], Insert CR (^N), Reform (^B), wordwrap. You  
can easily  
mix single and double spacing, and ^B can convert between the  
two. In  
autoformat mode, the spacing you specify is local, and may  
change as the  
cursor moves to other paragraphs. (See AUTOFORMAT, REFORMAT)  
When autoformat is off, ^OW can be used to manually set  
line spacing  
(and margins and justification) according to the existing  
format of the  
current paragraph.  
A single-spaced file can also be printed out double-spaced  
simply by  
using the print option "D" (see PRINTING).  
MARGINS (^OL,^OR,^OX,^OW,^OC,^OF) - ^OL and ^OR set the Left and  
Right  
margins. At the prompt, enter the desired column (1 to 255),  
or margin in  
1/10" for proportional mode; or just press [Enter] for the  
current cursor  
position. When margins are set, anything typed before the left  
margin  
moves up to it; typing past the right margin wraps onto the  
next line. In  
autoformat mode, the margins you specify are local, and may  
change as the  
cursor moves to other paragraphs. (See AUTOFORMAT, REFORMAT)  
^OX engages margin release, temporarily suspending  
formatting and  
wordwrap. Use ^OX again (or ^OR or ^OL) to cancel.  
When autoformat is off, ^OW can be used to manually set  
margins (and  
line spacing and justification) according to the existing  
format of the  
current paragraph.  
^OC Centers the current line with respect to the margins;  
^OF sets the  
line Flush right. Both also advance the cursor to the next  
line.  
A null left margin is set as column 1 for fixed pitch, or 0  
/10" in  
proportional mode. The left margin can't be set in unformatted  
file modes  
/U,T,X. If you set a left margin beyond the present right  
margin (or vice  
versa), the other margin automatically adjusts to the extent  
possible.  
For page margins when printing, see the "L" option of ^KP [or  
the margin  
settings in PRINTER INSTALLATION].  
MATCHING TEXT (AltM,Esc*m) - The Match command can locate  
variations between  
the text shown in two windows (such as earlier and later  
revisions of your  
work). You must first split the screen (AltW) and position the  
cursor in  
corresponding places in both windows; then press AltM.  
Starting from these positions, VDE searches for any  
difference in  
the text. The cursor stops if one is found, showing the  
disagreeing  
passages side by side. If you want to continue, press AltM  
again (after  
repositioning one cursor to match the other again, if  
necessary). If the  
end of the file is reached, there were no further differences.  
AltM can work within a single file, or between files. In  
nondocument  
modes it does an exact character by character comparison, and  
once two  
lines differ, it skips any further differences on those lines  
and goes on  
to the next. In documents, it compares word by word, ignoring  
whitespace  
(margins, soft CRs, etc). Normally a difference in hard CRs is  
a
mismatch, but you can use Esc*m if you want these treated as  
whitespace  
too. (See TOGGLE CONTROL)  
MENUBARS (^[Esc]) - Ctrl-Esc calls up the MenuBar. (LeftShift-Esc  
can also  
be used.) Press the hilighted letter to select a submenu, then  
select  
again to perform a command. You can press [Esc] or [Space] to  
back up to  
the main menu, or ^[Break] to abort.  
The ^[Esc] command can also be used in a macro definition;  
if entered  
at the ^M prompt it displays as a hilighted "!", and should be  
followed by  
two letters for menu selection.  
MULTIPLE FILES (AltL;AltB,N;AltS,X,Q,Z;AltY,C,P) - VDE can edit up  
to 8 files  
(or segments of larger files) at once, given enough free  
memory. Multiple  
files can be loaded from the command line, or by using AltL  
(Load). In  
either case you can enter any number of filenames, each with  
various  
options (see SYNTAX). You can access the FILE BROWSER with  
[Enter],  
wildcards, or a directory name. (To open a new "untitled"  
segment, press  
^[Enter] at the AltL prompt; to add another segment to the  
current file,  
press "+",[Enter].)  
Once multiple files are loaded, they wait in line (actually  
a circular  
chain, shown in the AltK display) for your attention; AltB and  
AltN (Back,  
Next) can be used to cycle through them.  
For convenience, there are multi-file versions of the ^KS,  
^KX, and  
^KQ commands: AltS saves changes to all files at once; AltX  
saves all  
changes, and then exits to DOS. AltQ quits all files, without  
saving; any  
that have been modified will be listed with a single prompt for  
confirmation. An additional command AltZ (purge) instantly  
quits all  
unchanged files; it can be used as an alternative to AltQ when  
you intend  
to examine any changed files before abandoning them, or simply  
as a handy  
way to free up memory to load more files. (AltZ doesn't exit.)  
The "Alt" copy, cut, and paste functions copy blocks of  
text, even  
between files or segments. AltY (copY) just copies a marked  
block of text  
into a buffer for later recovery; AltC (Cut) copies and then  
removes it  
from the file. AltP Pastes previously copied/cut text at the  
cursor  
position, as many times as you like. (As with other block  
operations, ^QP  
can locate the end of the pasted text afterwards, and text is  
pasted in  
column mode as if it had been moved as a column block.)  
PAGINATION (^OP,^PL) - ^OP sets the Page length as a number of  
text lines  
(not including 3 more for any header or page number). Enter a  
value up to  
255, or 0 to turn pagination off.  
This setting determines the page and line count shown in  
the document  
header ("P xx L xx"); when nonzero, all page functions  
(numbering,  
headers, start/stop at page) are enabled in printing. A  
formfeed is sent  
to eject each full page.  
When ^OP is set to zero, the file is not paginated. The  
header will  
say "NP L...", showing the absolute line number (just as in a  
nondocument); when printing, pages break whenever the printer  
decides  
they're full, with a formfeed sent only at the end of the  
file. (To skip  
even this, use the block print option "B", which allows  
printing several  
small things on the same sheet or, in conjunction with the "*"  
option,  
multiple copies of index cards, labels, etc. See PRINTING)  
^PL embeds a formfeed (^L) in the text, to begin a new  
page; to avoid  
confusion, since it must obviously start a new line too, it's  
best placed  
in column 1.  
PLACE MARKERS (^KM,^KU;^QM) - Any number of temporary place  
markers can be  
set in the text with ^KM (Mark) when you want to return to  
certain spots  
later. Place markers display as a highlighted "!", and can be  
deleted  
individually, or removed all at once with ^KU (Unmark).  
They're not saved  
to disk; if you want a more permanent "bookmark" you must use  
some other  
code that is, and find it with ^QF.  
^QM moves the cursor to the next place marker present,  
cycling back to  
the top of the file as needed.  
PRINTING (^KP) - ^KP Prints the current file; "Wait" displays in  
the header,  
since you can't do anything else until VDE is finished  
printing. (A  
spooling utility or large printer memory buffer helps here.)  
Printing can  
be canceled at any time by pressing [Esc], or paused with any  
other key  
(press again to resume).  
Page format is determined by individual settings: the  
current page  
length (^OP) sets the number of lines of text per page. The  
top and left  
margins can be varied with options below. Other options  
produce either a  
centered page number at the bottom of the page, or a header  
with a page  
number and/or a string of text; positioning is controlled by  
settings in  
the printer driver. Various printers handle paper differently,  
but can  
typically fit at least 60 lines of text on a standard 11-inch  
sheet.  
You will be prompted for options, at which point you may  
enter any of  
the following, in any order:  
B
prints only the currently marked BLOCK. Pagination  
is disabled.  
(FILENAME) REDIRECTS the printer data stream to a disk file  
instead.  
A
ADDRESSES an envelope; see ENVELOPES.  
'...'  
appends the quoted string of printer commands to the  
printer  
initialization. (See notes below)  
Tnn  
sets a TOP MARGIN of nn lines to skip.  
[Default  
margins can  
Lnn  
sets a LEFT MARGIN of nn columns to skip. be set  
with VINST.]  
D
DOUBLESPACES the printout.  
*nn  
prints the entire job out nn TIMES (nn=1..255).  
N
C
NUMBERS pages sequentially, at top right.  
numbers pages at bottom CENTER instead.  
=nn  
RENUMBERS the printout making the first page number  
nn.  
"..."  
below).  
uses the quoted string as a page HEADER (see details  
prints FACING pages (header/number reversed on even  
SUPPRESSES the header/page number on the first page  
PAUSES for your keystroke before each page prints  
F
pages).  
S
printed.  
P
(sheet feed).  
@nn  
#nn  
begins printing AT page nn of the document.  
prints only (up to) a TOTAL of nn pages.  
O,E  
prints only ODD or EVEN pages (print one, then run  
the paper  
back through and print the other, for double-sided  
EJECTS the page after printing even if it otherwise  
printing).  
J
wouldn't  
(when printing a block, or in zoom mode)  
expands hard tabs (into spaces) to nn column  
Inn  
INTERVAL.  
^
FILTERS control codes (like ^X) so they print out as  
text "^X".  
PAGINATION: If you print a nondocument, set page length to  
0, or use  
the "B"lock option, VDE won't paginate; data is sent in a  
continuous  
stream, letting the printer break pages. [The printer's own  
page length  
can usually be set in its initialization.] Block printing and  
zoom mode  
don't even send a final formfeed, allowing multiple blocks to  
be printed  
on the same page; if your printer lacks a button to eject the  
page when  
finished, use the "J" option. Block printing doesn't allow  
page-format  
options like headers or numbering; if you need them, paste the  
block to a  
new file and print it from there.  
HEADER text prints at the right next to the page number  
unless it  
begins with a "<", for printing at the left edge instead. The  
current  
Filename, Time or Date can be included by entering ^F, ^T, or  
^D  
respectively. (If you enter ^F itself in the header by  
pressing ^PF, you  
get the filename, or LFN under Windows, with no path; if you  
just press  
^F, the DOS path and filename enter as at any command prompt.)  
To enter a  
quote mark itself, double it ("").  
MARGINS: Because VDE's various left margins (^OL, "Lnn",  
or printer  
driver setting) are all done by printing spaces, their physical  
width can  
vary according to the font in use; more consistent results can  
be obtained  
by setting your printer's physical margin in its installation  
instead.  
TABS: Normally VDE sends hard tabs straight to your  
printer, assuming  
it will respond appropriately (you may need to set its tab  
stops).  
Alternatively, you can use the "I" option to get VDE to expand  
tabs  
itself, though this works well only with fixed-pitch fonts.  
INITIALIZATION: Codes '...' must be entered as actual  
characters or  
control codes, not digits. If the command is Esc A (1B 41  
hex), press ^P  
[Esc] A. To enter a single-quote mark itself in the string,  
double it.  
An empty string ('') can be used to SKIP the driver's  
initialization, and  
can even be followed (after a space or other option) by another  
string  
'...' to use instead. Some codes, including Esc, must be  
entered with the  
^P prefix; see PROMPTS. Codes 00-1F are entered as ^A, ^B,  
etc. You may  
find the ASCII table in VINST.TXT helpful.  
REDIRECTION: A filename in parentheses redirects printing  
to disk  
instead; a "+" before the name can append to an existing file.  
You can  
examine this file or even COPY it to your printer later. This  
is a handy  
way to avoid or fix printing mistakes without wasting a lot of  
paper.  
EXAMPLES:  
Options: "<STATUS REPORT: ^D" N F  
puts a header like "STATUS REPORT: 10/19/90" at the top left of  
each page,  
and the page number at the top right (vice versa on even  
pages).  
Options: L12 #1  
prints one page only, with an added left margin of 12.  
(Printing a single  
page is a good check of page layout before going ahead to print  
a long  
file. To continue at page two, use Options: @2.)  
Options: BD(+SCRATCH)  
appends the print output of a marked block, double spaced, to  
the disk  
file SCRATCH.  
PRINT PREVIEW (^OD) - Preview mode changes the display to show  
better how  
text would print: all markers and (in document modes) print  
toggles or  
switches disappear; text between toggles is highlighted to  
indicate print  
effects; and page breaks are shown by rows of dotted lines.  
This is  
useful for checking (non-proportional) text alignment and print  
effects,  
and helps avoid wasting time and paper on unacceptable  
printouts.  
(Preview also tries to hide printer Esc-sequences embedded with  
^P[Esc],  
although this only works perfectly for HP PCL LaserJet/DeskJet  
codes.)  
While in preview mode, the arrow keys can be used to scroll  
the screen  
up, down, right, or left. You can also scroll through the file  
with  
[PgUp/Dn] or ^R/^C, or move to the beginning or end with  
^[Home/End].  
Press [Esc] to continue editing.  
PRINTER CODES (^P) - The ^P prefix is used to enter various  
special codes in  
the range 00-1F,7Fh (^A-^_,DEL), which otherwise might be VDE  
commands,  
into the text itself, typically for printer control. If a code  
has a  
supported printer function in the current file mode, VDE  
displays it as a  
highlighted letter, and it always inserts rather than  
overstriking; if  
not, the corresponding PC graphic character displays. (Note  
that printers  
often don't print these graphics as they appear on screen.)  
^P[Del] enters the DEL code, 7Fh. ^P^Z enters the code ^Z  
(1Ah),  
which many programs (including MSDOS commands) treat as an end  
of file  
(EOF) mark in a text file. Several other standard codes are:  
^P[Tab] or ^P^I - tab (printer response depends on its  
settings)  
^P[BkSp] or ^P^H - backspace, overstrikes previous character  
^P[Enter] or ^P^M - carriage return (without linefeed),  
overstrikes line  
^P^L - formfeed, causes a page break  
^P[Esc] enters the ESC code (1Bh), whose standard use is to  
begin an  
instruction to control printer features when a file prints.  
Normally,  
this is best done indirectly via the toggles and switches  
described below.  
But you may embed an actual ESC sequence in your document if  
you wish, for  
example to obtain a seldom-used effect not installed in your  
printer  
driver, or for print effects in nondocuments.  
In place of the actual "escape sequences" required by  
different  
printers for effects such as underlining, VDE lets you enter a  
single  
marker, which will be translated into the proper codes during  
printing.  
VDE supports a set of 14 codes for this purpose: eight toggles,  
six  
switches. [See PRINTER INSTALLATION on choosing the proper  
driver for  
your printer; otherwise, only ^PS and ^PX will work.] The  
conventional  
WordStar meanings of these codes are:  
Toggles: ^P^B boldface  
Switches: ^P^A alternate  
pitch  
pitch  
1)  
^S underline  
^N normal  
^Y italic (or color)  
^Q (user def.  
^T superscript  
^V subscript  
^X strikeout  
^W  
^E  
^R  
"
"
"
2)  
3)  
4)  
^D "doublestrike" (now just user def.)  
^U (user def. -- not a WordStar code)  
In fact, you can use them for whatever effects you like, by  
installing  
appropriate codes in your driver. (Nothing actually implements  
"doublestrike" anymore; ^PD is just another user toggle.)  
"Toggles" are  
good for features like underlining that are turned on and off;  
enter them  
in pairs, to mark the beginning and end of the desired text.  
"Switches"  
are better for multi-valued settings like character pitch or  
print  
quality. [The strikeout character can be chosen in VINST.]  
All these codes function in VDE's file mode /D; all but ^U,  
in modes  
/W,S; only certain supported ones, in modes /R,P,F,L. (See  
FILE MODES)  
No printer codes are supported in modes /A,U,T,X,N,C.  
If toggles aren't properly paired, print effects will  
continue  
throughout the rest of a document. To save time and paper, use  
AltK or  
^OD to check for such errors before printing.  
PRINTER DRIVERS (AltV,AltU) - Since many people use more than one  
kind of  
printer, or use it in different ways (for example, to print  
labels), VDE  
accomodates two different printer drivers, primary and  
alternate. Before  
printing a file, you can select which one is active using AltV.  
AltU gives you access to an unlimited number of further  
printer  
drivers in the form of .VDP data files; select "L"oad, then  
type the file  
name, or bring up the FILE BROWSER with [Enter], wildcards, or  
a directory  
name. The chosen driver replaces the previous primary one.  
(See also  
DATA FILES, PRINTER INSTALLATION)  
PROPORTIONAL SPACING (^OK) - Like other editors that display in  
text mode,  
VDE assumes by default the use of a fixed-pitch font, so the  
printed  
result will align just as it was on screen; you can't simply  
print the  
same text with a proportional font instead, because the right  
margin would  
become very uneven, spacing wouldn't line up properly, etc.  
Full-fledged  
word processors devote an enormous amount of code and data to  
calculating  
exactly how to display and print proportional fonts. VDE can't  
manage all  
that, but does still offer a rudimentary way of composing and  
printing  
proportional text.  
Use ^OK to toggle proportional spacing on and off. It must  
be on both  
when you compose or format your text (to judge line lengths),  
and when you  
actually print it (to use your proportional font).  
Proportional  
formatting uses a table of character widths to estimate line  
lengths as  
they will actually print; the results will look uneven  
onscreen, and  
typically longer (use the Alt-arrow keys to view past column  
80).  
In proportional mode, right justification and column block  
operations  
(which rely on column alignment) can't be used; the header  
shows the  
horizontal position in units of 1/10 inch rather than columns.  
Margins  
are also set in units of 1/10" instead of columns: 70 now means  
7.0".  
When you toggle ^OK on or off, the existing numeric settings  
remain the  
same, effectively converted at 10 characters per inch. Unless  
this just  
happens to suit the size of your chosen font, you will want  
different  
margin settings for proportional mode.  
NOTES: You may need to install codes for the desired  
proportional mode  
or font in your printer driver [see PRINTER INSTALLATION].  
Proportional printing should work fairly well with VDE's  
default width  
table, but for best results, you can fine-tune this table to  
match the  
exact character widths of your own preferred font [see  
CHARACTER WIDTHS].  
To use different proportional fonts, you must load new tables  
(see DATA  
FILES).  
Variable character widths make it difficult to achieve  
exact alignment  
of text on successive lines. Except for indenting from the  
left margin,  
variable tabs (which are just sequences of spaces) can't do  
this. If you  
want to print something like a table in proportional mode, you  
must use  
hard tabs, and ensure that your printer driver is setting your  
printer's  
tab stops appropriately. Since VDE knows nothing about those,  
the  
displayed position reverts to 0" when hard tabs are used.  
Mixing proportional and fixed print in the same document is  
possible  
but tricky; you can install a print (^P) toggle to alternate  
between the  
two fonts. You must type (and edit or reformat) the fixed  
parts with ^OK  
off, and the proportional parts with ^OK on (and appropriately  
altered  
margins).  
PROTECTED MODE (^KO,/O) - When you want to view a file without  
accidentally  
modifying it, VDE offers two levels of protection. You can  
temporarily  
toggle protected mode on and off with ^KO; when on, "R/O"  
displays in the  
header, and anything that causes changes is rejected as an  
"Invalid Key".  
If you load a file whose DOS Read/Only attribute is set, or  
specify  
the /O option (or mode /M) with a filename, protected mode will  
engage  
fully. (This also happens when graphics overflow occurs.) In  
these  
cases, protection can't be canceled with ^KO; the text can't be  
modified  
at all unless you first rename it (^KE).  
QUIT (^KQ,^KL) - You can quit a file with either of these  
commands; if it's  
been modified, you're prompted to confirm that you mean to  
abandon the  
changes. ^KQ simply Quits; if no other files are being edited,  
this ends  
your VDE session, returning to DOS. ^KL (Load) quits and  
prompts for a  
new file to edit (or any number of names and options; see  
SYNTAX).  
Wildcards or [Enter] alone invoke the FILE BROWSER; to open an  
"untitled"  
segment, press ^[Enter].  
READ/IMPORT (^KR) - ^KR Reads in (imports) the contents of another  
disk file,  
inserting its text at the current cursor position. At the  
prompt you can  
also specify any file mode, or access the FILE BROWSER by  
pressing [Enter]  
alone or using wildcards. ^KR also resembles block operations  
like paste,  
in that ^QP can be used afterwards to locate the end of the  
imported text,  
and in column mode, text is read in as if it had been moved as  
a column  
block. (^KR can read only as much text as the current single  
segment will  
hold, a maximum of 70-80k.)  
REFORMAT ([Enter],^B;Esc*S;^OY;^OB) - In documents, pressing  
[Enter] creates  
a hard return marking the end of a paragraph. (On "hard" vs  
"soft" CRs,  
see BASIC OPERATION.)  
If AUTOFORMAT (^OM) is off, ^B can be used to manually  
reformat  
paragraphs after editing, or to change their format (to new  
margins,  
spacing, or justification). Any existing first-line  
indentation is  
preserved, unless an initial indent has been set with ^OO (see  
INDENTATION). To reformat an entire file (to the same  
settings!), hold  
down ^B or use a macro to repeat it: for example, press ^M ^B  
^[Enter].  
Normally, ^B ignores single lines ending in a hard CR, to  
avoid  
disturbing things like centered titles; use Esc*S if you want  
^B to adjust  
such lines to the left margin instead (see TOGGLE CONTROL).  
^OY toggles Hard Reform mode, which allows reformatting of  
text files  
from other sources that are full of hard CRs. In this mode,  
autoformat is  
turned off; reform (^B) converts text lines with hard CRs into  
a single  
formatted paragraph with soft CRs, halting only when it comes  
to a blank  
line or indentation that would mark a new paragraph. (Make  
sure those are  
present first!) Should you want to convert "soft" paragraphs  
back into  
"hard" lines for any reason, you can hold down [Enter] or save  
a file in  
/N mode.  
^OB toggles hard CR/TAB display. In document modes, these  
are  
normally marked by arrow characters, to distinguish them from  
soft CRs and  
spaces; but this marking can be turned off if you prefer.  
RENAME/SAVE AS (^KE) - Many editors offer a "save as" function to  
save your  
work under a new filename; VDE uses the separate WordStar  
"rEname" command  
instead, before saving. It can change the filename under which  
your work  
will subsequently be saved, and/or the file mode governing its  
format.  
Nothing is actually written to disk until you use a save  
command, although  
if a file by the new name already exists, ^KE asks to confirm  
your  
intention to overwrite it.  
At the prompt you can enter a filename, directory, or mode  
alone, or  
any combination of these; or you can make your work "untitled"  
by pressing  
^[Enter]. A drive/directory alone may be entered to keep the  
same  
filename; the usual defaults apply to incomplete paths. Giving  
a file  
mode alone (^KE /M) is a convenient way to change just the  
format in which  
the file will be displayed and saved. (Note: if you attempt to  
set mode  
/M, you will get /T instead; see MICROSOFT WORD.)  
RULER LINE (^OT) - To help you align text properly, ^OT toggles  
display of a  
"ruler line" above the text. [It can also be on by default.]  
Examples:  
(document)  
(nondoc)  
...L-----!---!-------v-----!--------------  
R.....  
........|.......|....v..|.......|.......|.......  
A moving pointer "v" indicates the cursor column. "L,R"  
designate the  
current margin columns; "---" shows the text area within, "..."  
the  
margins beyond. Tab stops are marked by "!" (Variable) or "|"  
(Hard).  
In proportional mode (^OK), tab stops wouldn't help  
visualize align-  
ment, so they don't display. From the left margin onward, the  
"v" marker  
shows the approximate physical position rather than the screen  
column.  
RUN COMMAND/SHELL (AltR) - AltR lets you run DOS commands without  
leaving  
VDE. A DOS-like prompt appears (e.g. "C:\WORK>"); you can copy  
or rename  
files, or run any other program you like, and afterwards VDE  
will prompt  
you to "Press [Esc]" to return to your undisturbed editing  
session.  
In addition, you can simply press [Enter] at the prompt,  
which opens a  
command shell, a DOS environment where you can execute any  
commands you  
like; when finished, you must type "exit" to return to VDE, as  
the shell  
prompt reminds you.  
The ^[Break] key can't abort programs being run from within  
a VDE  
shell, but ^C may work. If a program run from AltR returns a  
nonzero  
error code, VDE will report "[Error]".  
To use AltR, you must have enough free memory to load and  
run the  
chosen program, and VDE must be able to find COMMAND.COM in  
order to  
execute it, via the COMSPEC environment variable. Be sure  
either that  
your AUTOEXEC.BAT file includes a line like  
SET COMSPEC=C:\COMMAND.COM  
or that your CONFIG.SYS file includes a line like  
SHELL=C:\COMMAND.COM C:\ /P  
(In either case replace "C:\" with the appropriate directory.)  
CAUTION: never load new memory-resident utilities (TSRs)  
from within a  
shell like the AltR command; this fouls up the DOS memory  
allocation.  
SAVE (^KS,^KX,^KD; Esc*t) - ^KS simply Saves any changes you've  
made to the  
file named in the header, without ending your editing session.  
(If it's  
still "untitled", a filename is requested. If unchanged, you  
just see a  
message "No change".) [For added security, you can choose to  
have the  
previous version of a file preserved as a BACKUP FILE (with  
extension  
".BAK") when you save changes to it, so that if you decide to  
abandon  
those changes, you can recover the old version. See OPTIONS in  
VINST]  
^KX (eXit) saves any changes to the file, and then exits.  
If no other  
files are being edited, this ends your VDE session, returning  
to DOS. ^KD  
(Done) also performs a save if needed, but then prompts for a  
new file to  
edit (or any number of names and options; see SYNTAX).  
Wildcards or  
[Enter] alone invoke the FILE BROWSER; to open a new "untitled"  
segment,  
press ^[Enter].  
If you don't want spaces to be trimmed from the ends of  
lines when  
saving to disk in nondocument modes, you can use Esc*t to  
change this  
behavior. (See TOGGLE CONTROL)  
SCREEN CONTROLS (^W,^Z; Alt-arrows; ^OE,^OZ) - VDE provides a  
number of  
commands to manipulate the text display:  
^W and ^Z shift the screen frame up and down a line at a  
time, without  
moving the cursor in the text (unless necessary).  
Used with [Alt], any arrow key also causes the frame to  
shift: up/down  
by 1/3 screen, or right/left by 32 columns. Again, the cursor  
isn't moved  
unless necessary.  
^OE makes the current line the new top of the screen.  
^OZ temporarily blanks the entire screen; restore it by  
pressing  
[Esc]. This can be useful as a screen saver, or to protect  
work from  
prying eyes or fingers; ^OZ,Esc is also a convenient way to  
correct any  
display problems caused by intrusions from other software (like  
TSRs).  
SCREEN SIZE (AltE) - The standard PC text screen is 25 lines of 80  
characters, but VDE automatically adapts to whatever text mode  
you run it  
in (minimum: 8 lines, 40 columns). VDE supports any extended  
screen modes  
(like 50 or 60 lines, or 96 or 132 columns) your system offers;  
it works  
on portable computers with small displays (like 16x40 or 18x64  
on HP LX  
palmtops); and visually impaired users can use the DOS command  
"mode 40"  
to edit with a 40-column large-type screen. You can use  
whatever software  
came with your video adapter card to set any desired screen  
size before  
running VDE, or even to change sizes while editing (via the  
AltR command).  
VDE also offers its own command to change the number of text  
lines  
displayed.  
AltE displays a prompt offering four choices for text  
sizes: 20, 25,  
33, or 50 screen lines (for VGA, slightly fewer for EGA).  
Select by  
letter "A-D", as indicated. [VINST can also set any of these  
as a  
default.] Larger characters are easy on the eyes; smaller ones  
show more  
text; the 33-line setting is a nice overall compromise. (Note:  
the  
internal fonts used to provide VDE's unique 20- and 33-line  
displays  
support only standard PC characters, code page 437.)  
AltE still works in 40-column mode. When running with  
fewer than 80  
columns, VDE omits or condenses many header indicators; while a  
few  
displays, like the File Browser, adjust to the screen width,  
most menus  
(including ^J,^KP, AltG,H,I,J,K) remain in 80 column format but  
can be  
viewed by scrolling horizontally with the [<],[>] arrow keys.  
SPELLING CHECK (AltH,AltJ; Esc*U) - For previously registered  
shareware users  
who received the spelling checker accessory (no longer  
available), AltH  
checks the spelling of the word at the cursor, and AltJ checks  
onward  
through a document. Esc*U can be used to unload the speller,  
freeing its  
memory for other use. See the instructions that came with the  
speller.  
TAB EXPANSION (^KT,^KPI) - VDE provides two ways to expand any  
hard tabs in  
a file into ordinary spaces, while maintaining column  
alignment. First,  
you can actually convert the file text, by marking the desired  
area as a  
block and using ^KT. The tab interval used here is the one set  
in VINST  
for your display.  
Alternatively, printing can expand tabs to any desired  
interval,  
without modifying the file itself, using ^KPI. (See PRINTING,  
option "I")  
TABS ([Tab],Shift[Tab],^[Tab]; ^OV,^OI,^ON; ^PI,Alt[Tab]) - VDE  
has two tab  
modes, Variable and Hard; ^OV toggles between them.  
In Hard Tab mode (the default for nondocuments), the [Tab]  
key enters  
an actual TAB (09h) character. Hard tabs display at fixed  
intervals of 8  
columns, and appear as a bidirectional arrow in document  
modes. How they  
print depends on your printer settings.  
In Variable Tab mode (the default for documents), the [Tab]  
key just  
moves the cursor to the next tab stop set. With Insert on,  
this inserts  
spaces; in Overwrite mode, the cursor first moves across any  
existing  
text, then adds spaces if needed thereafter. Up to 16 tab  
stops may be  
set with ^OI, or cleared with ^ON. Both commands prompt for a  
list of  
column numbers, or [Enter] for the cursor column. The set  
command ^OI  
also accepts two options, both replacing all previous tab  
settings:  
@nn  
set tabs every "nn" columns  
#n1,n2,...  
set tabs to columns "n1,n2,..." ONLY  
You can also clear all variable tabs with ^ON followed by "*".  
Shift[Tab] tabs backward (left to the previous tab  
position). ^[Tab]  
tabs over to the column of the next nonblank in the previous  
line.  
Alt[Tab] offers a shortcut to get a hard tab in variable  
mode, or  
variable in hard mode. ^PI can also be used to insert a hard  
tab.  
TIME/DATE (AltT,AltD) - VDE can read the system clock and insert  
the current  
time and date in your file automatically. Just press AltT for  
the Time,  
or AltD for the Date. The string will appear at the current  
cursor  
location, as though you had typed it yourself: for example,  
1:21 PM  
[or 13:21 -- VINST selects the  
format]  
January 15, 2000 [or 1/15/00, 15 January 2000,  
15.1.00]  
UNDELETE (^U) - The UNdelete function recovers recently deleted or  
overstruck  
text, replacing it at the current cursor location. ^U may be  
used  
repeatedly to undo a sequence of deletions, restoring each  
character,  
word, or line in order.  
Block deletions cannot be recovered sequentially; they must  
be  
undeleted immediately, before any other deletion occurs. An  
undeleted  
block is no longer marked, but ^QP will find its end, so it can  
be quickly  
re-marked with ^KB^QP^KK.  
Undeletion can also be used as a sort of quick-and-dirty  
block move.  
For example, if the cursor is at the start of a word, the  
commands ^T^F^U  
(which of course can be stored to a function key) will swap  
that word with  
the one following it. Similarly, ^Y^X^U will swap two lines,  
etc.  
UPPER/LOWER CASE (^^; ^K",^K') - ^^ (Ctrl-caret or 6) reverses the  
case of  
the character at the cursor, if it was a letter, and moves to  
the next.  
For more extensive changes, ^K" and ^K' respectively uppercase  
or  
lowercase all the text within a marked block.  
WINDOWING (AltW,AltF; ^[PgUp,PgDn]) - VDE can split the screen  
into dual  
windows, showing either two files or two locations within a  
file at once.  
When you first use AltW, it creates a second window (originally  
a
duplicate of the first) in which you can view or edit another  
location in  
your file at the same time, maintaining both cursor positions  
as you  
switch between them. Alternatively, you can use AltN/AltB to  
change  
either window's view to a different file.  
AltF moves the cursor back and forth between windows.  
^[PgUp] and  
^[PgDn] scroll both windows in synchronization. Use AltW again  
to restore  
the active window to full screen.  
. ========================== 8. CREATING MACROS  
=============================  
A. KEYSTROKES AND NOTATION  
A macro is a sequence of keystrokes representing text and/or  
VDE  
commands, which can then be repeated automatically or stored to a  
key for  
future use in order to simplify frequently performed tasks. While  
this may  
sound quite straightforward, it's obviously necessary to get such  
a sequence  
exactly correct for the macro to perform as intended; therefore,  
the  
representations used here must be thoroughly understood.  
First, some basics: the characters "[]" are often used to  
signify the  
pressing of a single key, like "[Esc]" -- but in order to avoid  
clutter, they  
aren't used when that key is shown as part of a macro or multi-key  
command,  
like "Esc&F2". (A single bracket may still appear as part of  
certain macro  
commands, like "Esc~^M]".) "^" normally indicates actual use of  
the Ctrl  
key, as in "^M" for Ctrl-M; but there are special cases when the  
character  
"^" itself needs to be typed as part of the NAME of a key, as in  
"Esc&^F2".  
A space will often be used to separate groups of keystrokes to  
make a  
macro easier to read and understand -- but these spaces are NOT  
part of the  
macro, and shouldn't be typed in when defining it. Any spaces  
that actually  
ARE part of a macro and should be typed in are represented by the  
underline  
character "_", which is not itself part of any macro shown here.  
Finally, there are occasional differences between the  
keystrokes you  
would actually use to perform a task, and those that must be typed  
in order  
to enter this sequence at the macro definition prompt. At all VDE  
string  
prompts, certain keys control the entering of the string itself;  
for macro  
definition ^M, this is a shorter list than for other prompts, but  
it still  
includes:  
[Enter], ^[Enter] -- end macro definition  
[<],[>],[BkSp],[Del] -- correct/edit characters entered  
^R -- (as 1st key) replay the last macro  
entered  
^P -- enter codes like these in macro  
This means that you must usually prefix any of these keys with ^P  
if you want  
to enter them as part of the macro itself. Nonetheless, to make  
them easy to  
read and understand, all macros are written here as you would use  
the  
commands manually, WITHOUT these extra ^Ps. When entering any of  
these  
definitions at the macro prompt, you must remember to use ^P as  
needed.  
It's also important to bear in mind that the following keys,  
while  
usually equivalent in DOS software, are generally not so in VDE:  
[Enter] vs ^M (CR)  
^[Enter] vs ^J (LF)  
[BkSp] vs ^H (BS)  
[Tab] vs ^I (TAB)  
[Esc] vs ^[  
The one case where these keys remain interchangeable is in their  
use after ^P  
to embed control-codes (like ^H, 08h) in the text. Otherwise,  
they are quite  
distinct: [BkSp] is a command that deletes characters, while ^H is  
an  
entirely different backward-find command, and so on.  
EXAMPLE: Consider the following macro ("ASCII"), whose purpose  
is  
explained more fully below under USEFUL MACROS:  
Esc** Esc*f ^QR EscB Esc>~X  
Esc=^MN Esc<_X EscN ^D  
Esc!B EscX ^G Esc!B  
Following the explanations above, be sure you understand which  
keys must be  
used (e.g. ^M not [Enter]) to define it, and verify that it will  
require 34  
separate key entries, namely:  
Macro: Esc * * Esc * f Ctrl-Q R Esc B Esc > ~  
X
Esc = Ctrl-M N Esc < Space X Esc N Ctrl-D  
Esc ! B Esc X Ctrl-G Esc ! B  
and then, of course, a final [Enter] to terminate the definition.  
If you do  
this correctly, you will see on screen something like this (the  
underlined  
letters will be highlighted as control-codes, and the symbol "e"  
indicating  
the [Esc] key is actually an epsilon):  
Macro: e**e*fQReBe>~Xe=MNe< XeNDe!BeXGe!B  
- - - - - - - - - -- - -  
. ---------------------------- B. DEFINING MACROS -----------------  
------------  
To DEFINE a Macro, press ^M. Macros execute just as though  
you had typed  
the given keys yourself; this means that every keystroke,  
including answers  
to prompts, [Enter]s, and so on must be properly included, so plan  
ahead  
carefully.  
Even special PC keys can be entered at this prompt; a few,  
like arrow  
keys, display with a recognizable symbol, but most will simply  
show a  
highlighted asterisk "*". [VINST is capable of displaying full  
key names, if  
you create or display macros with it instead.] MenuBar selections  
(except  
{User:...}) can also be used in macros via the ^[Esc] command.  
Pay special  
attention to any ^P prefixes required; oversights involving ^P are  
one of the  
most common causes of unexpected macro errors.  
Since the macro prompt accepts [Esc] without a ^P prefix, it  
can't be  
used to abandon the definition; you can only do so by pressing  
^[Break], or  
[Enter] followed by [Esc] at the next prompt.  
To bypass the following options, you can end a macro  
definition by  
pressing ^[Enter]; VDE will simply repeat your macro (visibly)  
until you  
press [Esc] to stop it. Otherwise, if you press [Enter], VDE will  
ask  
whether you want to Use it immediately or store it (see STORING  
MACROS). If  
you're going to use it now, you must decide whether or how many  
times you  
want it to repeat, and whether you want to watch it happen.  
At the prompt "Make Quiet, No-repeat, Both:", reply "Q" for  
Quiet (fast)  
operation, or press [Enter] for visible (slower) execution. (The  
"N/B"  
options are mainly intended for storing macros, but can also be  
typed here to  
skip the next question.) At the prompt "Repeat count:", type the  
number of  
times to execute (0-254), or just [Enter] for 1, or "*" to repeat  
indefinitely.  
While a macro executes, the "!" flag appears in the header;  
normally, you  
can also see it working through the text. You can cancel it at  
any time by  
pressing [Esc]. If you choose to speed up execution by specifying  
"Q"uiet,  
only the header will be updated as the macro runs. (Don't do this  
if the  
macro requires user input -- when the prompt fails to display, the  
macro  
would just appear to have stalled.)  
By default, macros stop automatically if any error occurs,  
with the error  
message displaying briefly, or when the cursor runs into the top  
or end of  
the file. (See also ERROR HANDLING, END OF FILE) Even  
indefinitely  
repeating macros usually halt when they reach the end of a file,  
though some  
may need to be terminated manually.  
Once defined, a macro can be recovered by typing ^R to replay  
it at the  
^M prompt, so that you can use it again, or store it if you didn't  
previously  
do so. (You can also edit it first, if desired.)  
^F is used to enter the current filename at a prompt; but in a  
macro  
definition it remains simply ^F, and is expanded only when the  
macro actually  
executes. This can be useful to refer to the current file when  
running  
compilers and file utilities. For example, if you define the  
macro  
AltR compile_^F_/g_/r1 [Enter] [Esc]  
the ^F embedded in the string will be expanded, so that the DOS  
command  
executed by AltR when the macro is invoked will actually be  
something like  
compile C:\PGM\MYPROG.C /g /r1.  
(If the file is untitled, ^F causes an error that halts the  
macro.)  
Similarly, ^[, which inserts text from a block at a prompt,  
remains ^[ in  
a macro definition, inserting the block text only when executed.  
This  
feature makes it possible to write a macro to search for further  
occurrences  
of whatever text is at the cursor, etc.  
Ordinarily macros are completely self-contained, and NEVER  
request input  
from the keyboard while executing (unless the input pause commands  
Esc? or  
Esc: are used). Confirmation prompts like "Abandon changes  
(Y/N)?" that may  
or may not pop up in normal usage NEVER occur when a macro is  
running, so you  
should never include a confirming "Y". But there is one  
exception: when  
using AltR to run another program (or DOS shell) within a macro,  
any input  
requested by the program or shell must be typed by you -- it  
cannot be  
included in the macro, which resumes control only when the program  
or shell  
terminates. (If a macro is to continue after using AltR, its next  
keystroke  
must be the [Esc] required to restore the screen and continue  
editing.)  
. --------------------------- C. RECORDING MACROS -----------------  
------------  
As an alternative to composing macros at the ^M command  
prompt, you can  
simply RECORD a macro as you go about a task. The main advantages  
are that  
you can see the effects as you go, and none of the additional ^P  
keystrokes  
sometimes necessary for entering commands at the macro definition  
prompt will  
be needed. (On the other hand, a recorded macro must be a simple  
series of  
keystrokes; it can't contain programming commands like labels and  
jumps,  
which can't be used from the keyboard.)  
Just press ^M^M (that is, ^M again immediately at the prompt)  
to activate  
recording; type away; and press ^M once more to conclude. You  
will then be  
asked whether to use or store the macro you've created, just as if  
you had  
entered it at the prompt. (You can even recall it with ^R the  
next time you  
use the ^M command.)  
While recording, a quote mark (") will be visible in the upper  
right  
(prefix) area of the header. If you make a mistake, use ^M again  
to stop  
recording, press [Esc] at the prompt to quit, and start over. If  
anything  
you do while recording results in an error condition, recording  
will be  
canceled.  
Notes: Macros stored on function keys (and the {User:}  
MenuBar, which  
uses the same internal mechanism) cannot be used during macro  
recording. Any  
other keystrokes can be recorded, including other MenuBars.  
Although it may  
often be rather imprecise, even mouse motion can be recorded in a  
macro,  
because it's translated internally into sequences of arrow keys.  
. ------------------------ D. STORING MACROS TO KEYS --------------  
------------  
Macros can be stored to function keys, and then recalled and  
used with  
one keystroke. Each of the 12 PC function keys can be used alone  
or with  
Shift (often indicated in VDE as "!"), Ctrl ("^"), or Alt ("@"),  
to produce  
48 different macro keys. VDE comes with [F1] set up as "Help"  
(^J) and [F10]  
as "Menu" (^[Esc]), but of course this can be changed.  
Labels visible at the bottom of the screen can help you  
remember function  
keys. You can also assign a mnemonic letter or digit (alias) to  
invoke a  
definition with the [Esc] key: while your Address might be on  
^[F3], EscA  
could be easier to remember.  
The ^M command (see MACRO DEFINITION) gives the option of  
storing the  
macro definition to any function key, so it can later be executed  
simply by  
pressing that key. Instead of selecting "U"se, press the desired  
key, from  
[F1] to [@F12].  
At the prompt "Make Quiet, No-repeat, Both:", reply "Q" for a  
key that  
executes in Quiet (fast) mode; "N" for a key that runs just once,  
without  
asking for a repeat count; or "B" for both. Just press [Enter]  
for neither  
-- a key that executes just like the "Use" option, visibly, asking  
for a  
repeat count first.  
At the prompt "Esc key:", you can choose an optional letter or  
digit to  
press after [Esc] as an alternate way of invoking this macro.  
At the prompt "Label:", you can enter up to 7 characters as a  
label to  
identify the key (see KEY LABELS). Just press [Enter] for none.  
Notes: Don't choose "Q"uiet (or "B"oth) for a key that will  
request input  
from you; the prompt wouldn't display. About 4000 bytes of  
storage are  
available for all 48 function keys, and a 125-key limit applies  
[in VDE;  
VINST can accept 253] to any definition. You can delete an  
existing key  
definition by entering a null definition (^M, [Enter]) and storing  
it to the  
key. Keys defined while editing in VDE last only during the  
current editing  
session. [To add a function key permanently to VDE.EXE, use  
VINST: see  
DEFAULT FUNCTION KEYS and DATA FILES.]  
. --------------------------- E. MACRO PROGRAMMING ----------------  
------------  
"Macro programming" refers to a group of VDE commands that  
operate only  
within a macro definition, giving you runtime control over the  
execution of a  
macro. Thus, instead of simply replaying an entire sequence of  
keystrokes, a  
macro can be constructed much like a computer program, with tests  
and jumps  
from one point to another, providing great flexibility and power.  
Here is a  
brief introduction to the range of macro programming commands (see  
MACRO  
REFERENCE for further details).  
Jumps require "labels" to identify a location to jump to: a  
macro label  
consists of [Esc] followed by a letter A-Z or digit 0-9. (If you  
typed this  
from the keyboard it would be a function key invocation via an  
alias -- but a  
macro can't do that, so EscA etc simply serve to label locations  
in a macro.)  
Esc! is the unconditional jump, requiring a label (A-Z,0-9) to  
jump to;  
it causes execution of the macro to transfer to the command  
following that  
label, instead of simply continuing as usual to the next command.  
For  
example, Esc!1 jumps to the label Esc1. Thus the macro:  
This_is_ Esc!1 not_ Esc1 a_silly_macro.  
would create the text "This is a silly macro." In contrast, the  
macro:  
This_is_ Esc1 not_ Esc!1 a_silly_macro.  
would produce "This is not not not not not not not not not...",  
continuing  
indefinitely until you press [Esc] to abort it. (This is an  
example of an  
"infinite loop" -- occasionally useful, but likely just a  
programming error.)  
There are also two special predefined "labels" for jump  
commands: "["  
indicates the beginning of the macro, and "]" the end. Thus Esc![  
can be  
used to repeat a macro from the start, and Esc!] can be used to  
terminate it  
from any point.  
Several commands allow the use of a counter variable. Esc()  
sets the  
value: for example, Esc(0) initializes it to zero. The Esc+  
command simply  
increments the value; Esc- (minus) is a conditional jump,  
decrementing the  
value, then jumping if it's gone to zero to the specified label.  
(Besides  
labels 0..Z, you can use "[" or "]", or "@" to avoid jumping  
entirely.)  
Examples: Esc-] decrements the counter, jumping to the end  
(exiting) if it  
reaches zero; Esc-@ simply decrements it, with no jump. Thus the  
macro:  
This_is_a_ Esc(3) EscL silly_ Esc-X Esc!L EscX macro.  
produces the text "This is a silly silly silly macro."  
Conditional jumps, or tests, are performed by Esc= and Esc~.  
Followed by  
a character, then a label, they are conditional jumps: they jump  
IF the text  
character at the cursor does (or for "~", does NOT) match the one  
specified.  
Examples: Esc~_2 jumps to label 2 if the cursor character is NOT a  
space;  
Esc=^M] jumps to the end (terminates) if the cursor character is a  
CR (^M).  
Similarly, Esc< and Esc> test the cursor character's ASCII value  
and act  
accordingly: thus Esc<A2 jumps to label 2 if the cursor character  
value is  
less than ASCII "A" (41h), etc.  
The test commands (Esc=,~,<,>) can also be used in a second  
way, as self-  
contained search loops. If instead of a label you use the  
character ">" or  
"<" (this once it really is greater/less signs not arrows), the  
cursor will  
move right or left as long as the character at the cursor does (or  
for "~",  
doesn't) match the one specified. Example: Esc=_> moves right as  
long as the  
cursor character is a space (stopping on the first NONspace).  
That's much  
simpler than programming a loop to do it (Esc1 Esc~_2 ^D Esc!1  
Esc2).  
It's possible for one macro to chain (jump) to, or call,  
another macro.  
This can permit construction of a single macro longer than the  
maximum size;  
also, it often simply allows you to organize macros more  
efficiently and  
conserve definition space. Esc&, followed by a key name like  
"!F1", is used  
to chain to another key; the macro terminates when that key  
finishes. Esc&&  
works similarly, but calls the other key, so that when it  
finishes, control  
returns to the original macro at the point following the Esc&&  
command.  
Notes on END OF FILE  
As mentioned previously, macros tend to terminate when a  
command tries  
to move past the end (or start) of a file. What actually happens  
in these  
instances is that a special internal error is generated: no  
message displays,  
but it is an error condition, and therefore halts the macro. So  
if you  
actually don't want execution to halt at the EOF, because  
something else  
should still be done afterwards, you can use Esc$ (see ERROR  
HANDLING) to  
continue execution anyway:  
Esc$E  
;on error jump to "E"  
EscL  
<process that runs through file to end>  
Esc!L  
EscE  
;keep looping until error  
;execution will continue here  
after EOF  
<...>  
(Of course, if it's possible that some other error might have  
occurred before  
the loop reached EOF, you shouldn't assume you're actually there.)  
When dealing with larger, multisegmented files, editing  
doesn't  
automatically continue into subsequent segments; in fact, the EOF  
behavior  
described above occurs in every segment. Thus, you can use this  
error-  
handling technique to detect the boundary of a segment, then use  
Esc[ or Esc]  
to test whether the file has another, and use AltB/N to move into  
it and  
continue. (See SEGMENTATION, NAVIGATION)  
. ----------------------- F. EXAMPLES OF USEFUL MACROS ------------  
------------  
Remember that macro examples are given as they function, NOT  
including  
occasional ^P prefixes for certain keys; and while keystrokes are  
often  
separated by spaces purely for clarity, the symbol "_" is used to  
represent  
an actual space that you must type.  
Many of the macros in this section are included in the macro  
definition  
file EXAMPLES.VDF, which you can load with AltU in order to try  
them out  
easily. (See DEFAULT FUNCTION KEYS) Even though you may have no  
use for  
some of these examples, they can help clarify and illustrate  
techniques.  
SIMPLE MACRO EXAMPLES  
1. At its simplest, a function key is a way to repeat  
keystrokes. Thus,  
if you're writing a document that will refer to "Western Widget  
Development  
Company" dozens of times, it's easier (and helps avoid typos) to  
define this  
phrase as a macro and store it to a key like [F3] or EscW.  
2. The macro repeat count is an easy way to repeat VDE  
commands. For  
example, to reformat an entire file, go to the top (and turn off  
autoformat)  
if necessary, then use ^M to define a macro and enter just the  
reformat  
command ^B; end with ^[Enter] to proceed visibly, or go on to  
specify Quiet  
and indefinite repeat ("Q,*") for the fastest operation (it will  
stop at the  
EOF). To reformat only part of the file, mark it as a block and  
use zoom  
(^KZ) first -- which is a very powerful tool in macros.  
3. To view a file by scrolling slowly through it, use the  
macro:  
Esc; ^Z or  
Esc; ^C  
This pauses, then scrolls down (a line at a time with ^Z, a screen  
at a time  
with ^C). Don't make it Quiet, just repeat indefinitely (with  
^[Enter] or a  
count of "*"); press [Esc] to terminate.  
4. This macro, with repeat count "*", would find all phrases  
in square  
brackets "[]" found in a file, and make a list of them in a second  
file being  
edited concurrently:  
^QR ^QF[^[Enter] ^G ^KB ^QF]^[Enter] ^G ^KK AltY AltN AltP  
[Enter] AltB  
(As written, single-segment files are assumed; see SEGMENTATION.)  
SIMPLE FUNCTION KEY EXAMPLES  
1. This macro, which could be stored as No-repeat on a  
function key, re-  
loads the current file, undoing all changes made since it was last  
saved:  
^KL ^F [Enter]  
2. A function key defined as ^QR ^N AltD ^OF would place the  
current date  
at the top right of a letter. You can set up another to produce a  
personal  
letterhead: for example, the macro  
^N John_Doe ^OC ^N 123_Main_St ^OC ^N City,_State ^OC  
will insert that three-line address, neatly centered. Print  
effects can be  
added (bold, italic) to suit your taste. For a solid line  
separating this  
from the body of the letter, try adding onto the end: ^N ^PS ^OF  
^E ^PS ^X  
3. Function keys can be used to create powerful new commands:  
for  
example, ^D ^A ^KB ^F ^KK marks the current word as a block. (If  
you don't  
want to include spaces/punctuation, see the macro "WFreq" in the  
next  
section.) Similarly, ^QS ^KB ^X ^KK marks the current line as a  
block.  
4. Function keys can be used as an alternative to AltG for  
entering  
graphics; just program them with the actual characters, entered  
via [Alt] +  
numeric keypad, and then they won't depend on the graphics set  
(.VDG) in use  
at the time. The file WS4.VDF includes a row of individual  
graphic keys, and  
EXAMPLES.VDF has four box-drawing keys: the top-left corner plus a  
horizontal  
bar; ^I followed by the top right and a vertical bar; etc. (Line  
graphics  
are represented here by the characters "+-|".)  
key1: +-  
key2: ^I+|  
key3: ^I+-  
key4: ^I+|  
To draw a box with them, press the first key, extend the line with  
^\, press  
the next key, extend with ^\, and so on.  
MACRO PROGRAMMING EXAMPLES  
1. This macro ("BofP" in EXAMPLES.VDF) moves to the start of  
the current  
paragraph, by continuing to move back through the file until it  
finds a line  
that doesn't end with a space (soft CR):  
^QS ^S^S Esc=_[ ^D^D  
Like the rest of the examples in this section, it's best stored  
Quiet, No-  
Repeat to a function key.  
2. Moving to the start of the current sentence ("BofS") is a  
bit more  
complicated, but here is a macro program to do it, with some  
commentary:  
Esc~.1 ^S  
Esc1 Esc~.<  
^D Esc=_2 Esc=^M2  
;move left if already on period  
;move left to previous period  
;accept if followed by space or  
return,  
left  
^S^S Esc!1  
; otherwise ignore and continue  
Esc2 ^D Esc=_2 Esc=^M2 ;move right over any  
space/returns  
; to start of sentence  
3. If you want to produce a "pure ASCII" file for software  
that can't  
accept control codes (other than CR,LF) or IBM graphics, here is a  
macro to  
filter these out before you save to disk (use file modes /A,U,N):  
Esc** Esc*f  
afterward)  
;formatting off (restore status  
^QR  
;go to top of file  
EscB Esc>~X  
;delete anything above "~"  
(graphics)  
Esc=^MN  
Esc<_X  
;accept carriage returns  
;but delete anything else below "  
" (ctrls)  
EscN ^D Esc!B  
EscX ^G Esc!B  
;(accept)  
;(delete)  
The macro will terminate when it attempts to move beyond the end  
of the file  
or segment (see SEGMENTATION).  
4. Here is a macro that eliminates unwanted blank lines from  
a file;  
every sequence of up to 10 blank lines will be reduced to just  
one, by  
repeated use of find/replace:  
Esc$@ Esc(10) Esc1 ^QA ^M^M^M [Enter] ^M^M [Enter] GN [Enter]  
Esc-] Esc!1  
5. This macro ("CtrLn") moves the cursor to the center of the  
line, using  
the counter variable to figure the line length, then move back  
only halfway:  
^QS Esc(0)  
Esc1 Esc+ ^D  
;start at left, zero counter  
;loop: move right, increment  
counter  
Esc~^M1  
Esc2 Esc-] Esc-] ^S  
; (until you come to the CRLF)  
;loop: move left, decrementing  
count TWICE  
Esc!2  
; (macro ends when it goes to  
zero)  
6. This macro ("WFreq") counts and reports how frequently the  
word at the  
cursor occurs in the file:  
^D^A Esc<@> ^KB ^F ^S  
Esc<@< ^D ^KK  
;mark current word as block  
; (word only, no  
spaces/punctuation)  
Esc(0)  
;zero counter  
^QF^[ [Enter]GCW[Enter] ;find string (error if not found  
at all)  
Esc$E Esc3 Esc+ ^L Esc!3 ;count and find each occurrence  
EscE ^QB^KH Esc(H)  
report count  
;return to word, unmark, and  
^[ brings the marked word into the ^QF prompt; Esc(H) shows the  
count in the  
header when finished (don't run this Quiet, or you won't see it).  
7. Many programming languages use nested sets of parentheses,  
like "{}"  
in C. This macro, when the cursor is placed on an open bracket "  
{", will  
move ahead to find the closed bracket "}" that matches it:  
Esc~{] Esc(0)  
;must be on bracket now; zero  
counter  
Esc1 Esc~{2 Esc+ Esc!3 ;increment for every "{"  
encountered  
Esc2 Esc~}3 Esc-]  
when zero  
Esc3 ^D Esc!1  
;decrement for every "}", quit  
;keep moving along  
8. Here is a very basic macro ("HTML-") to strip out hypertext  
markup  
codes from .HTM files, including all "tags" enclosed in angle  
brackets "<>",  
leaving only easily readable text. (You can easily rework this  
macro to suit  
your own taste, for example to preserve the contents of URLs or  
certain other  
tags before deleting the rest.)  
Esc** Esc*f  
Esc1 Esc$2  
;formatting off  
;trap errors each time to  
continue  
^QA<br>[Enter]^M[Enter]gc[Enter]  
Esc2 Esc$3  
^QA<p[Enter]^M<p[Enter]gc[Enter]  
Esc3 Esc$4  
;translate linebreaks  
;add them here too  
^QF<[Enter]g[Enter] ^KB  
^QF>[^Enter] ^D ^KK^KY  
Esc!3 Esc4 Esc$5  
;find, block mark, and delete  
every  
none  
; other <tag>, repeating till  
^QA&nbsp;[Enter]_[Enter]gc[Enter]  
Esc5 Esc$6  
^QA[Tab][Enter][Enter]g[Enter]  
Esc6 ^QR Esc$0  
;translate spaces  
;remove TABs  
Esc7 Esc~_8 ^T  
Esc8 ^X Esc!7 Esc0 ^QR  
;remove leading spaces  
;done, return to top  
9. This macro illustrates the use of segment-navigation  
tests. It makes  
a list at the end of the file from which it's invoked of the first  
lines of  
all the other files currently being edited.  
Esc| ^QC  
EscL AltN  
Esc.]  
;mark original file, and go to end  
;loop: advance to next seg  
;quit if back to original seg; done!  
;skip all but first segs of multiseg  
Esc[L  
files  
^QR ^KB ^X ^KK  
AltY Esc/ AltP  
^QC Esc/  
;mark first line of file  
;copy it to here  
;and return  
Esc!L  
;continue loop  
10. This macro program ("Sort") uses the Esc@ function (see  
SORTING  
below) in a very simple algorithm to arrange the lines of a file  
in  
alphabetical order by their initial characters:  
^QC^QS^E  
;start on last line of file  
Esc1 Esc$E ^QS^E^KB  
;main loop: set error jump  
for cleanup,  
^QS^X^KK Esc$3  
; mark previous line  
Esc2 Esc@3 ^QS^X Esc!2  
Esc3 ^KV ^QP Esc!1  
;sort loop: find its place  
;put it there, return to its  
position  
EscE ^KH  
;done, remove markers  
Sorting is a complex subject, due to the need for speed; this  
approach is  
reasonably fast when stored to a Quiet function key, especially  
when the file  
happens already to be partially ordered, as is often the case.  
The macro  
works up from the bottom, applying the Esc@ test repeatedly to  
find where  
each new line goes; ^QP returns to the top of the sorted section,  
to  
continue. Esc$3 ensures that if the ^X hits the end, the macro  
won't  
terminate but the line will just be put there. Esc$E ensures that  
when the  
^E hits the top, the macro cleans up and exits gracefully.  
You can use block zoom (^KZ) to sort just a section of a file,  
or  
experiment with variations on this macro to sort in reverse order;  
on fields  
other than column 1; with multiline records; etc.  
. ---------------------- G. ADDING FEATURES: MAIL MERGE -----------  
------------  
Many extra features commonly included in large word processors  
aren't  
built into VDE. But as the examples above have shown, macro  
programming and  
function keys actually allow you to develop your own custom editor  
commands,  
using existing ones as building blocks. With macros, you can add  
new  
features yourself, and design them to work exactly the way you  
want.  
To demonstrate that this isn't really difficult at all,  
consider "Mail  
Merge": automatic production of many copies of a document, with  
insertions at  
certain points taken from a data list. The classic example is a  
form letter  
for multiple recipients. Suppose we compose such a letter,  
putting a  
distinctive little marker like "@@N" where the name should go, and  
"@@A" in  
place of the address:  
@@N  
@@A  
29 February 1993  
Dear @@N,  
We are pleased to announce the opening of...  
And in another file we have our mailing list, whether typed by  
hand or  
generated from a database program. Various formats are possible;  
let's  
suppose that each "entry" is a name and address, of varying  
numbers of lines,  
terminated by an empty line. So the file might begin:  
C.J. Aubergine  
<- first line of file  
221-A Slumgullion Road  
Hoagie, IL 63213  
<- blank line between  
each entry  
Margarita Empanada  
P.O. Box 3172  
Sopapilla, CA 91306  
Prof. Dr. K. Hasenpfeffer  
Schlagsahnestr. 11  
D-1380 Rotkohl  
GERMANY  
(etc...)  
It would be nice to have a function key programmed so that one  
press  
could print off a whole series of letters, one for each entry in  
the list,  
with the appropriate address and salutation. You can probably see  
how you'd  
go about the job manually, though it would be incredibly tedious:  
find each  
"@@" marker in the letter file, switch to the mailing list, mark  
and copy the  
corresponding data, switch back and paste it in place of the  
marker, print  
the letter, then reload the letter template and start all over  
again with the  
second name... So one approach to creating a mail-merge macro  
would be to  
switch on macro recording (^M^M) while assembling and printing the  
first  
letter yourself, ending when you're ready to begin again with the  
second.  
You could store the resulting macro to a key, and execute it  
repeatedly  
(assuming you managed to get everything just right).  
Alternatively, you could plan ahead and design a macro program  
with  
appropriate labels and jumps to execute the entire process  
automatically.  
The following macro ("Merge" in EXAMPLES.VDF) will work with files  
as  
described above, when installed (No-repeat) on a function key.  
Brief  
comments have been added for explanation. Before running the  
macro, you must  
be viewing the letter file (which must have been saved to disk),  
with the  
address list loaded as a second file, and the cursor at the top of  
both  
files. If you want to test it without wasting paper, redirect  
your printer  
output to a disk file instead, or substitute Esc; or Esc? for the  
print  
command so you can just view each version of the letter on screen  
as it's  
finished. It's striking what can be accomplished with such a  
modest macro.  
Esc$3 ^QF@@^[Enter]  
if none  
Esc$$ ^D^D Esc=A1 Esc~N[  
neither)  
;Find next marker, skip to print  
;Was it @@A or @@N? (skip if  
AltN ^KB^QD^KK AltY  
^QS AltN Esc!2  
entry  
;Request was for Name,  
; so mark and copy first line of  
Esc1  
; (always leaving cursor at start  
of entry)  
AltN ^X^KB^QF^M^M^[Enter] ^KK ;Request was for Address,  
AltY ^QB^E AltN ; so mark and copy the rest of the  
entry  
Esc2  
^A^G^G^G  
;Back to the letter: delete  
marker,  
AltP Esc![  
next  
; paste in the data, and go on to  
Esc3  
^KP[Enter]  
;Letter is ready, so print it  
^KL^F[Enter]  
; and reload original copy with @@  
markers  
AltN ^QF^M^M^[Enter] ^D^D  
Esc<_]  
;Position to next entry in list  
;Quit if no more entries,  
AltN Esc![  
; otherwise do it all over again  
This example has been kept simple to illustrate the basic  
approach; you  
could easily adapt it to put only the first name in the  
salutation, or to use  
database lists in comma-delimited format, or to work with larger  
files (as  
written, it assumes single segments). You can tailor your own  
mail-merge  
feature to suit your requirements.  
. ========================== 9. MACRO REFERENCE  
=============================  
AUTOEXEC MACRO - VINST can designate one function key definition  
"autoexec",  
meaning that it will execute automatically whenever you first  
enter VDE.  
This feature can be used in a variety of ways, for example:  
1. An autoexec macro can effectively change even  
default settings not available as VINST options. (For  
certain settings specific to each file, only the first  
file  
would be affected.)  
2. You can turn VDE into a translation or  
modification  
utility by specifying a key definition (.VDF) file on the  
command line containing an autoexec macro that changes  
file  
modes or alters the text in some way and then exits.  
See also SYNTAX, FUNCTION KEYS, DATA FILES. (Note: if an  
autoexec macro  
exists, you cannot use a utility that stuffs input into the DOS  
keyboard  
buffer before running VDE.)  
CHAINING OR CALLING (Esc&,&&) - Esc&, followed by a key name like  
"!F1", will  
"chain" (jump) to another function key. Use "!,^,@" for Shift,  
Ctrl, Alt;  
and after the "F", a single digit "1-9", or "A-C" for 10-12.  
("0" is also  
accepted for 10.) Examples: Esc&F2 chains to F2; Esc&^FB  
chains to Ctrl-  
F11. Esc&& works similarly but just "calls" the other key,  
returning when  
finished to the original one. Calls may be nested at most 4  
deep.  
COUNTER VARIABLE (Esc(),+,-) - Esc(n) sets the counter value to  
"n". Esc+  
simply increments the value; Esc- (minus) followed by a label  
is a  
conditional jump, decrementing the counter and if it became  
zero, jumping  
to that label (or "[" or "]" for the start or end, or "@" for  
no jump).  
The counter can effectively run "negative", though it's  
actually an  
unsigned integer: if you decrement it from 0, it becomes 65535  
then 65534  
(for -1, -2); if you increment it from 65535, it becomes 0.  
It's not  
reset after a macro runs, and can be passed to another macro  
later.  
Two special commands can also be used with the counter  
value:  
Esc(T) - write counter value into Text at cursor position  
Esc(H) - display counter value briefly in Header  
DEFINE OR RECORD MACRO (^M,^M^M) - To define a macro, press ^M and  
enter  
keystrokes at the prompt; for full instructions, see DEFINING  
MACROS.  
Finish with ^[Enter] to repeat the macro immediately, or  
[Enter] for  
choices for using or storing it to a function key.  
Even if you didn't store your last macro when you  
originally defined  
it, you can still edit, re-use or store it subsequently by  
using ^R  
(replay) at the ^M prompt.  
As an alternative to composing macros at the ^M command  
prompt, you  
can simply record one as you go about a task. Press ^M TWICE  
(that is, a  
second time at the prompt) to activate recording; type away;  
then press ^M  
again to conclude. While recording, a quote mark (") is  
visible in the  
upper right (prefix) area of the header. End recording by  
pressing ^M  
once more. If you make an error while recording, press [Esc]  
at the  
resulting prompt to quit.  
ERROR HANDLING (Esc$,Esc%) - Esc$ can specify a label where macro  
execution  
should continue if any error occurs (instead of terminating).  
Thus, after  
the command Esc$E, any command resulting in an error (like "Not  
Found")  
will cause a jump to label E, and cancel the error. You can  
also use the  
special characters "[","]" to jump to the beginning or end of  
the macro,  
or "@" to simply ignore errors (not jumping anywhere), or "$"  
to return to  
the normal state of halting on any error.  
Note that when a macro running through text hits the top or  
end of a  
file, it's actually halted by an internal error code that  
doesn't display,  
so this behavior is also affected by Esc$.  
Esc% simply causes an error ("Not Available") if the  
current file has  
multiple segments; this can be used to safely abort macros that  
wouldn't  
work properly in such a file. (See SEGMENTATION)  
FUNCTION KEYS ([F1]..[F12], EscA-Z,0-9) - Macros can be stored to  
function  
keys, either alone or with Shift, Ctrl, or Alt (!,^,@) for a  
total of 48  
function keys. These keys can be labeled for easy recognition  
(see KEY  
LABELS). You can also assign a letter or digit to invoke a  
definition  
with the [Esc] key: while your Address might be on ^[F3], EscA  
could be  
easier to remember. For details, see STORING MACROS.  
(Note: users of early versions of VDE will recall EscA-Z as  
its  
original set of macro keys, distinct from the PC Function-keys  
added  
later; they now function simply as mnemonic aliases.)  
FUNCTION KEY LABELS (^OU) - To help you remember the purposes of  
function  
key definitions, ^OU toggles the display of a label line at the  
bottom of  
the screen. When a key is defined, its number appears on the  
label line,  
followed by the label (if any) entered when the key was stored.  
The label display is sensitive to keyboard shift status; if  
you press  
and hold Shift, Ctrl, or Alt for a moment, the labels will  
change  
accordingly. On screens of fewer than 96 columns, there isn't  
room to  
show all 12 labels at once; you can scroll the display to show  
the rest of  
the labels by holding any two of Shift/Ctrl/Alt together.  
Since a single  
digit is used for the key number, key 10 displays as "0"; 11  
and 12  
display as "1" and "2" again, but are easily distinguished from  
keys 1 and  
2 by their position, offset to the right.  
KEY DEFINITION FILES (AltU) - These files save function key  
definitions and  
labels, and should be given a file type of ".VDF" (for an  
entire set of  
keys) or ".VDK" (for a single key). You can load a .VDF file,  
along with  
your text file(s) to edit, from the command line (see SYNTAX).  
You can  
also load or save .VDF or .VDK files with the AltU command  
while editing  
(see DATA FILES).  
[VINST can also create key files or install them in your  
copy of VDE;  
see DEFAULT FUNCTION KEYS.]  
LABELS AND JUMPS (Esc0..Z,Esc!) - In a macro, Esc0..Z are simply  
labels  
"0..Z". They have no effect, but can be jumped to by other  
commands.  
Esc! followed by 0..Z is a jump instruction, causing macro  
execution  
to resume with the command following that label: for example,  
Esc!2 jumps  
to label 2 (Esc2). "[" and "]" can also be used to jump to the  
macro's  
beginning or end (meaning quit).  
Labels can also be referenced by the test commands, which  
perform  
conditional jumps (see TESTS AND LOOPS).  
PAUSE OR USER INPUT (Esc;,Esc?,Esc:) - Esc; gives a brief pause  
before macro  
execution continues, so the user can see what's happening on  
screen. Use  
two or more for a longer pause.  
Esc? accepts text or commands from the keyboard during  
macro  
execution. The header's "!" flag turns into "?" when user  
input is  
expected. Anything except macro and function key commands may  
be used.  
[Esc] terminates input, returning control to the macro.  
^[Break] aborts.  
Esc: makes the following command take its input from the  
keyboard; the  
macro resumes when that command is completed. Examples:  
Esc:^QF allows  
you to type in the string to find; Esc:Esc! actually lets you  
type the  
label to jump to.  
PROMPT AUTOMATION (^F,^[,^R) - It's worth pointing out the  
usefulness of  
several control codes that operate at command prompts (see  
PROMPTS) for  
automating operation in macros. ^F allows you to reference the  
current  
filename in VDE file commands or DOS commands run from AltR.  
^[ provides  
the current block text as prompt input, allowing the use of  
commands like  
find/replace on whatever is there. ^R replays whatever was the  
previous  
input to this type of command (file, search, macro, etc).  
SEGMENT NAVIGATION (Esc|,\,/,[,],.) - Three Esc commands, useful  
from the  
keyboard or in macros, allow switching directly between  
particular files  
(or segments of large files) among those being edited. Esc|  
initially  
marks one to return to, and Esc\ returns to it (repeatedly if  
desired).  
Alternatively, Esc/ goes to the previously marked one while  
also marking  
the one it just left, so it can alternate between a pair.  
Three test/jump commands are provided to help macros find  
their way  
around multisegment files. Esc. (Esc-period) followed by a  
label (0..Z or  
[,]) tests whether the current segment is the marked one, and  
jumps if so;  
thus a macro can (for example) tell when it has cycled through  
all files  
being edited. Esc[ will jump if the current file has previous  
segments,  
and Esc] if it has following ones; thus a macro can tell  
whether an AltN/B  
command would remain within the same file before using it.  
(Note: if you  
mean to skip to the next file without worrying whether the  
current one is  
multisegmented, just use ^QC AltN or ^QR AltB.)  
SORTING (Esc@) - Esc@ is essentially a version of Esc< for entire  
strings,  
rather than individual characters: it performs a string  
comparison (and  
conditional jump) between text in a marked block and text at  
the cursor.  
As with Esc<, the comparison goes alphabetically (by ASCII  
values),  
proceeding character by character until a difference is found.  
If the  
block string has a value less than or equal to the cursor  
string, which is  
to say that it could belong "at" the cursor location, the jump  
is  
performed (perhaps to code that will put it there); if greater,  
not (and  
one might move on down the list). Esc@ scans up to 24  
characters, is  
case-insensitive, and treats accented letters in the code range  
80-A5h as  
their ordinary letter equivalents.  
Rather than having one specific sorting command built into  
VDE, the  
Esc@ comparison can be used to implement any sorting method you  
require.  
For example, the macro program "Sort" described under EXAMPLES  
above does  
the most common task, arranging the lines of a file  
alphabetically. Many  
other variations can be imagined: reverse sort, sort on other  
fields, sort  
records of several lines, etc.  
TESTS AND LOOPS (Esc=,~,<,>) - Esc= and Esc~ perform tests on the  
character  
at the current cursor position. They can be used in two ways:  
1. Followed by a character, then a label (0..Z or  
[,]), they're conditional jumps: go to the label IF the  
cursor character does (or for "~", does NOT) match the one  
specified.  
2. Followed by a character, then ">" or "<", they're  
search loops: keep moving right or left as long as the  
cursor character does (or for "~", does NOT) match.  
Similarly, Esc< and Esc> test the cursor character's ASCII  
value and  
act according to whether it's less or greater than the  
specified value.  
(See ASCII table in VINST.TXT)  
Note: place and block markers, since they aren't text  
characters at  
all, will fail any test. If you need to check for their  
presence, you can  
use Esc>^@ (that's 00h, entered ^P@) since no actual character  
could be <0  
and fail this test.  
TOGGLE CONTROL (Esc*) - Toggle (on/off) commands are problematic  
when used  
in macros and function keys; ^V, for example, might turn Insert  
either on  
or off, depending on whether it was off or on already. The  
Esc* command  
provides a solution, by letting a macro specify an exact state  
for each  
toggle. Esc* must be followed by a LETTER to identify a  
toggle, UPPERcase  
to turn it ON or LOWERcase to turn it OFF. (A few options have  
a third  
state as well.) For example, Esc*i sets INSERT OFF, regardless  
of its  
previous state. The toggles are:  
Autoindent  
(^OA)  
'a'=off 'A'=on  
* clipBoard translation  
Column block (^KN,I)  
'b'=off 'B'=on  
'c'=off 'C'=on 'O'=replace  
Doublespace  
autoFormat  
Hyphenation  
Insert  
(^OS)  
(^OM)  
(^OH)  
(^V)  
'd'=off 'D'=on  
'f'=off 'F'=on  
'h'=off 'H'=on  
'i'=off 'I'=on 'W'=word  
'j'=off 'J'=on 'R'=remove  
'l'=off 'L'=on  
Justification (^OJ)  
* Load excluded files  
* Match hard CRs exactly 'm'=off 'M'=on  
Proportional (^OK)  
* Single line reformat  
'p'=off 'P'=on  
's'=off 'S'=on  
* Trim spaces from nondocs 't'=off 'T'=on  
* Unload speller from memory 'U,u' (either)  
'v'=off 'V'=on  
Variable tabs (^OV)  
margin release (^OX)  
hard reformat (^OY)  
'x'=off 'X'=on  
'y'=off 'Y'=on  
The cases marked "*" actually don't correspond to standard user  
commands;  
instead, they give access to more of VDE's internal settings  
and defaults.  
(These "fine tuning" commands are listed in the ^JF help menu,  
and their  
usage is described where appropriate in the COMMAND REFERENCE.)  
Of course, once the macro ends, there's another problem: it  
may not  
leave common toggle states the way it found them. Therefore  
one last  
special command, Esc**, saves the current Insert, AutoFormat,  
and Margin-  
Release status for automatic restoration when a macro ends.  
These are the  
three toggles that macros most often have to change in order to  
work  
properly; if you use Esc** first, subsequent changes to them  
(Esc*i etc)  
will be undone when the macro terminates.  
VALUE ADJUSTMENT (Esc#) - It can be very useful for a macro to  
adjust a value  
without having to know what it previously was: to indent both  
margins 10  
columns, for example, whatever they were. The Esc# command  
makes this  
possible: it must be followed by a LETTER to identify the  
value, a NUMBER  
from 1 to 99, and finally a "+" or "-" sign. The adjustments  
are:  
Left margin  
Right margin (^OR)  
Page length (^OP)  
(^OL)  
'L'  
'R'  
'P'  
Example: Esc#L10+ increases the left margin by 10 columns.  
Like the Esc*  
toggles, these commands are primarily intended for, but not  
limited to,  
use in macros.  
. ======================= 10. TECHNICAL INFORMATION  
=========================  
ACCESSORY PROGRAMS - The VDE Macro Compiler "VMC", by Evan  
Slawson, is a  
utility that translates function key files (*.VDF) from the  
binary format  
used by VDE/VINST to an easily read and edited text file. (It  
can also be  
used on .VDK files if you first rename them to .VDF, and don't  
define any  
keys other than [F1].) The "VPC" program, by Manfred Jainz,  
does the same  
trick for printer driver files (*.VDP). My CTRLCAPS TSR allows  
the  
[CapsLock] key to act as Ctrl on DOS systems. These and other  
programs  
can be downloaded from the VDE Editor site.  
For academic and technical writing, I once wrote a  
footnote-endnote  
formatting utility called "wsNOTE" for WordStar files; although  
designed  
to work with WordStar, it can also be used with VDE in /W  
mode. (Note  
that because VDE doesn't support dot commands, you must delete  
all these  
to accurately preview or print the output from wsNOTE with  
VDE.)  
It's often possible to use software other than VDE's own  
integrated  
speller for spell checking, thesaurus, or grammar; programs  
known to work  
with VDE include Webster's Professional, American Heritage  
Dictionary,  
Turbo Lightning (Borland), MicroSpell (Trigram), and Wordfinder  
(Microlytics), as well as shareware programs like ShareSpell  
(Acropolis).  
Older programs that operate as TSRs (like Lightning) may  
require that VDE  
be installed for "XT" keyboard type. Standalone programs (like  
ShareSpell) require you to save your file in an appropriate  
format, then  
run the program, a process you can automate with a function key  
definition  
using AltR and ^F for the current filename (see PROMPTS).  
CLIPTEXT - Horst Schaeffer's tiny Windows utility CLIPTEXT  
(available at the  
VDE Editor site) is necessary to provide Clipboard  
functionality for VDE's  
^[ and ^] keys under Windows NT/2K/XP. It writes the Clipboard  
to (or  
reads it from) a temporary disk file that VDE can read or  
write. You can  
also use it in other ways yourself, according to its  
instructions. (The  
format that works best for that is /T.) In order for VDE to  
use it  
automatically, CLIPTEXT.EXE must simply be placed in a  
directory on your  
DOS PATH so that it runs when "CLIPTEXT" is typed at the  
command prompt.  
(Note: due to a problem with Windows, after the ^[, ^] keys  
have run  
CLIPTEXT, VDE can't tell whether you may still be holding down  
[Ctrl] for  
more commands. If you should see a small error message "Ctrl  
key?" in the  
header upon your next keystroke, just tap any Ctrl/Alt/Shift  
key before  
continuing.)  
CTRL KEY (CAPS LOCK) - VDE's WordStar-style commands make  
extensive use of  
the [Ctrl] key, which was located on the home row next to [A]  
on the  
original IBM PC keyboard; but later ("enhanced"?) AT keyboards  
have put  
[CapsLock] there instead, making [Ctrl] less accessible and  
commands like  
^Q awkward to use. A few AT keyboards have been made that  
allow  
rearranging these keys, but most don't.  
On a DOS system, the functions of these two keys can be  
swapped by  
loading a TSR utility like my own CTRLCAPS. Because Windows  
doesn't let  
DOS software fully intercept keystrokes, such an approach is  
inadvisable  
under Windows -- the CapsLock status or the keyboard light may  
vary  
unpredictably. Use a Windows-based method instead for  
consistent  
performance. Under Win9x, install a device driver like  
CTRL2CAP.VXD (from  
sysinternals.com) to intercept and translate keystrokes.  
Under WinNT/2K/XP, the proper technique is to remap the  
scancodes of  
those keys in the Registry. If you really know what you're  
doing, you can  
use RegEdit to navigate to the key  
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard  
Layout  
and define a new value "Scancode Map", of type REG_BINARY,  
containing the  
following data:  
00 00 00 00 00 00 00 00 03 00 00 00 1D 00 3A 00  
3A 00 1D 00 00 00 00 00  
Then reboot your computer for this to take effect. (If you  
ever want to  
undo this, find that "Scancode Map" value again and delete it.)  
If all this sounds too tricky, just download CTRL_XP.ZIP  
from the VDE  
Editor site. It contains a simple .REG file that you just have  
to click  
on to apply to your Registry. But first, be sure that you  
really do want  
to swap these two keys: you can't just click something to undo  
it again,  
that Registry value must be manually found and deleted.  
DIRECTORIES - At any VDE filename prompt, you can always specify a  
path as  
well. Otherwise, the default directory assumed by the file  
commands  
(^KL,^KR,^KE,^KF,^KJ; AltL) is that of the current file; when  
editing  
multiple files, this can differ from one to the next. The path  
doesn't  
display in the header, but is shown by the AltK or ^KF  
commands.  
The current DOS directory remains unchanged, and is shown  
by the AltR  
command, for which it remains the default. (It can be changed  
at the AltR  
prompt.) You will return to this directory upon exiting VDE.  
THE "VDE DIRECTORY": Sometimes other files associated with  
VDE need to  
be found in order to perform certain functions: AltU (or ";" on  
the  
command line) needs .VDx data files; AltH,J require the speller  
overlay  
and dictionary files. In order for VDE to locate these files  
easily they  
should all be kept in the "VDE directory", which you can  
specify with the  
command "SET VDE=" in your AUTOEXEC.BAT file (i.e. SET  
VDE=C:\UTIL);  
otherwise, the default VDE directory is simply the one where  
the running  
copy of VDE (VDE.EXE) resides.  
If the file needed isn't found in the VDE directory, it  
will be sought  
as a last resort in the current DOS directory. If you do  
specify a path,  
the file will (only) be sought or put in that directory. If  
you use AltU  
to save a data file without specifying a path, the first file  
by that name  
found in the above search will be overwritten; if no such file  
is found, a  
new one will be written to the VDE directory.  
ERROR MESSAGES - These display briefly below the header:  
"Error" - invalid data entered, or inappropriate  
command.  
pressed.  
"Invalid Key" - an illegal command key sequence was  
"Not Available" - the required hardware or software is not  
present.  
"Invalid Filespec" - bad directory, duplicate filename, or  
excluded type.  
"No File" - requested file does not exist.  
"I/O Error" - read or write error, disk full, invalid  
drive, etc.  
"Format Error" - word too long, or margins invalid.  
"Not Found" - the object of a search was not found.  
"Block Error" - there is no marked block (or the cursor is  
in it).  
"Macro Error" - programming command misused, or recording  
overflow.  
"Graphics Overflow" - too many graphics codes in file, table is  
full.  
"Segment Near Full" - this segment now has less than 1k of memory  
free.  
"Out of Memory" - the segment has too little room for this  
operation.  
KEYBOARD VARIANTS - Some non-US keyboards differ in the  
arrangement of  
certain special symbols. If the following keystrokes don't  
seem to work  
as VDE commands (or parts thereof), check your keyboard  
instructions to  
find which key (or combination) produces the required code  
instead.  
___KEY_____DEC_HEX___|___KEY____DEC_HEX___|___KEY____DEC_HEX__  
^\  
28 1C  
|
|
|
"
#
$
34 22  
35 23  
36 24  
|
|
|
&
^
~
38 26  
94 5E  
126 7E  
^^ (^6) 30 1E  
^_ (^-) 31 1F  
MEMORY - VDE requires a minimum of about 140k free RAM; the number  
and size  
of files you can edit depends on the additional amount of  
conventional  
memory you have free. (VDE doesn't use EMS/XMS memory.) The  
available  
memory may be limited if you're running VDE in a shell from  
another  
program, or have lots of memory-resident software (TSRs)  
loaded; you can  
check it with AltK. The speller requires an additional 90k;  
running a DOS  
command (AltR) requires enough to load COMMAND.COM and whatever  
program  
you intend to run. If you're running short of memory, try  
exiting files  
you no longer need, cutting an empty block to empty the copy  
buffer (^KB  
^KK AltC), or unloading the speller (Esc*U).  
PROMPTS - At prompts for numeric or text input, like "Column:" or  
"Find  
text:", the following special keys operate:  
Reposition cursor: [<], [>]  
Delete character: [BkSp], [Del]  
Finish entry: [Enter] (or ^[Enter] to avoid  
further prompting  
Abort operation: ^[Break]  
in  
many cases)  
Enter text from macro: [F1]-[@F12]  
Replay last entry: ^R  
(only at beginning of input  
line)  
Include current filename: ^F \  
Include text from block: ^[  
Erase entire entry: ^Y  
\(these don't have immediate  
/ effect at "Macro:" prompt)  
Escape from prompt: [Esc] /  
Enter one of above codes: ^P  
Enter graphic: AltG  
Notes: "^[" means Ctrl-[, not [Esc]. When editing input  
with the  
arrow keys, any characters typed are inserted, and [Enter] can  
be used at  
any time. In most cases, to make these keys part of input  
themselves, you  
must precede them with ^P (including ^P itself). At prompts  
where [Del]  
and [>] can be entered, they don't require ^P when the cursor  
is at the  
end of the input line. At the Print prompt, the [<],[>] arrows  
can be  
used to scroll the option menu only when the cursor is at the  
end of the  
input line.  
SEGMENTATION - Macros that assume that each text segment being  
edited is a  
separate file may not work properly if used in a large  
multisegment file.  
This is true of a few examples given here, and perhaps other  
macros  
written before VDE could edit larger files; they should be re-  
examined  
(see LARGE FILES for compatibility issues) and either modified,  
used  
differently, or avoided in such a context, as necessary. Macro  
tests are  
provided to find your way around a multisegment file (see  
NAVIGATION).  
You can use Esc% to keep a macro that can't handle large files  
from  
running in them at all (see ERROR HANDLING).  
There are two basic reasons why a macro might fail in a  
multisegment  
file: FIRST, it may assume that all processes work smoothly  
throughout an  
entire file, whereas some don't. Any macro that runs through a  
file and  
halts upon hitting the end will also halt at a segment  
boundary; you can  
revise it, or simply move on manually and use it again. You  
can get block  
moves to work across segments too by substituting AltC,AltP for  
^KV.  
Instead of relying on ^QP to return to a position possibly in  
another  
segment, you can leave behind a marker code or string to search  
for.  
SECOND, a macro that cycles between different files may  
assume that  
every AltN/B command is moving to another file, when in fact it  
may only  
move to another segment of the current one. You can fix this  
by using the  
combinations ^QC AltN or ^QR AltB instead of AltN/B alone to  
guarantee  
entry into a different file, and the Esc/,\ commands or a  
searchable  
marker in order to return to a particular file segment.  
USB PRINTERS - DOS software like VDE can't directly use USB  
printers. You  
can install third-party software that captures and redirects  
DOS print  
output to a USB port, and for those with a Windows-only  
printer, also  
translates it so that it will print. (Some examples are  
DOSPRN, DOS2USB,  
and WINPRINT.) Or if you're willing to work a bit, you can get  
Windows  
NT/2K/XP to do all this itself. (The exact steps described  
here are for  
XP.) There are two possible approaches.  
1. PRINTER POOLING - This simple method may work if your  
computer  
actually has a working parallel port, now unused. Go to  
Control Panel:  
Printers, right-click your printer, select Properties, click  
Ports. Add a  
check by LPT1, and make sure USB is also still checked. Check  
the box  
"Enable Printer Pooling", then click OK. You should now be  
able to print  
from DOS. If not, see the note on WINDOWS-ONLY PRINTERS  
below. If it  
still doesn't work, go back and undo these changes, and use the  
next  
method instead.  
2. NETWORK SHARING - This works even on newer computers  
with no  
parallel port. The basic instructions should suffice if your  
printer  
ISN'T Windows-only, it plugs into YOUR computer, and you ARE on  
a network,  
even if it's just your own modem/router. (Otherwise, read on  
below for  
additional notes.)  
Go to Control Panel: Printers, right-click your printer,  
select  
Sharing. If Share isn't already enabled, do so. Note its  
resource name,  
or give it one, for use as "printername" below.  
To enable DOS printing whenever desired, the command is:  
net use LPT1 \\127.0.0.1\printername  
And to disable it again:  
net use LPT1 /d  
This assumes that you have the usual LPT1 (or PRN) set as the  
port in your  
VDE printer driver. (If you know your "computer name", or want  
to look it  
up at Control Panel: System: Computer Name, you can use that in  
place of  
127.0.0.1.) Additional notes follow...  
ENABLING PERMANENTLY: To have LPT1 always available, put  
the enable  
command above in AUTOEXEC.NT. Or you can try adding on the  
option "/p=y",  
which is supposed to make the assignment "persistent" even  
after rebooting  
your computer, although that's reported not to work perfectly.  
(Neither  
of these is a good idea if you aren't always connected to a  
network,  
though -- see below.)  
WINDOWS-ONLY PRINTERS: If printing doesn't work and you  
suspect your  
printer lacks support for traditional text printing, go to  
Control Panel:  
Printers, right-click your printer, select Properties. Click  
Advanced:  
Print Processor, change the Data Type to "TEXT", click OK  
twice. If it  
works now, that's the solution. You'll have to use the SIMPLE  
printer  
driver, as VDE will be unable to control printer features.  
NETWORK PRINTERS: To assign LPT1 to a remote network  
printer instead,  
go to Control Panel: System: Network Identification, and use  
the net ID  
shown there in place of "127.0.0.1" in the sample command  
above.  
NOT NETWORKED: The "net use" command only works if you're  
actually on  
a network. If you're at the desk with a printer, you probably  
also have a  
modem/router handy, and the simplest thing might be just to  
make sure that  
connection is live before issuing "net use". If you prefer not  
to worry  
about that or don't have a network connection, you can install  
an obscure  
Windows component called Microsoft Loopback Adapter, which  
simulates being  
on a network all the time. To install the MLA, go to Control  
Panel: Add  
Hardware, click Next. Select "Already connected hardware".  
Scroll down  
and select "Add new hardware", click Next. Select "Install  
manually from  
list (Advanced)", click Next. Select "Network Adapters", click  
Next.  
Select "Microsoft" from manufacturer list, then "Microsoft  
Loopback  
Adapter" in Network Adapter list. Click Next twice, then  
Finish. To  
configure the MLA, go to Control Panel: Network Connections,  
right-click  
the MLA and select Properties. Under General, This Connection  
Uses,  
select "Internet Protocol" and click on Properties. Select  
"Use IP  
address" to assign a static IP address like 192.168.1.1, with a  
mask of  
255.255.255.0. Click OK twice and it's done.  
FIREWALL: If you're still getting errors from "net use"  
after  
following all the above tips, it's likely that your firewall  
isn't  
allowing the connection, and you'll have to manually configure  
permission  
for 127.0.0.1 or the IP address of the MLA.  
===============================[end  
VDE.TXT]=================================  
Kommentare  
Kommentare wurden aufgrund eines Netzwerkfehlers deaktiviert. Bitte aktualisieren  
Sie die Seite.  
Sie sind nicht berechtigt, Kommentare hinzuzufügen.