
                                   VDE.TXT
                                   -------
                       Instructions for the VDE Editor:
                          version 1.97 (25 Aug 2021)

                            (c)1987-2021, E. Meyer


        Requires:  IBM 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 VDE CAN EDIT:  Large files; File modes; Compatibility.

     4. DOS SYNTAX:  Invoking VDE from the command line.

     5. BEYOND DOS:  Using VDE under Windows, DOS emulators, 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 check, Split 
          window, Tab expansion, Tabs, Time/date, Undelete, Upper/lower case.

     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 labels, 
          Key definition files, Labels and jumps, Pause or user input, Prompt 
          automation, Segment navigation, Sorting, Tests and loops, Toggle 
          control, Value adjustment.

    10. TECHNICAL INFORMATION, alphabetically by topic:
          Accessory programs, 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 ASCII, 
          UTF-8/16, 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 flexible 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 Windows systems that are still compatible with DOS software (and in 
 fact serve quite nicely as a multitasking DOS environment), and on systems 
 that no longer are, under DOS emulators; yet it remains small and efficient 
 enough to work well on older or more limited PCs, even tiny HP 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 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 received numerous 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 MFD disk utilities, ZIP 
 serial file transfer, and useful TSRs.  He firmly believes that simple, 
 effective software should remain easily available to users of all kinds of 
 personal computers.



                               INCLUDED FILES

     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      - WordStar 4 function key definitions.
 WP.VDF       - WordPerfect function key definitions.



                         COPYRIGHT AND USAGE POLICY


             The VDE software and documentation are copyright 
         (c)1987-2009 Eric Meyer, all rights reserved.  They may be 
         freely used and distributed in complete original form, but 
         not modified or sold for profit without written permission 
         of the author.

             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 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:
           https://groups.google.com/group/vde_editor/web/home-page



 ======================  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)
     * Other novel features include autoformatting without embedded codes, 
         block zoom, split-screen viewing and comparison of file(s).  (See 
         ^KZ, AltW, AltM.)
     * Large files are broken into segments for editing entirely in memory.  
         (See LARGE FILES)
 Note that as a classic DOS application, VDE allows the use of any filename 
 whatever, assuming no association between particular file types (extensions) 
 and 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 makes 
 special provisions for Hewlett-Packard 95/100/200LX palmtops.  (Earlier 
 versions through 1.65 could also run on older, less compatible DOS 
 computers.)  It is DOS software, but will also run in 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

     VDE can be operated in two different ways: with Ctrl- and Alt-key 
 commands, or via the MenuBar.  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 basic functions you need.  Press Shift + [Esc], 
 or [F10] which is originally defined as "Menu", 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 like "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.  
 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     press [Alt] + W
                 ^C     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 
 commands were mnemonic in WordStar (e.g. "Q" for Quick move), though not all 
 could be.  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 basic WordStar-style Ctrl-key commands, VDE has many Alt- and 
 Esc-key commands for its further 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 further 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 is written to 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, SPLIT 
 WINDOW, 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 go on to 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, SPLIT WINDOW).  You can 
 suppress the header, or add a RULER LINE indicating margins and tab stops.
     Prompts 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, though that generally works poorly within a window], or the four PC 
 "arrow keys", or the WordStar "cursor diamond":
                    up                        [^]                 ^E
     TO MOVE    left  right     PRESS      [<]   [>]    OR     ^S    ^D
                   down                       [v]                 ^X
 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 marked, its text is highlighted and can be operated on 
 with a variety of commands (see BLOCK COMMANDS, AUTONUMBER, etc).  Unlike 
 most other software today, blocks in VDE remain marked indefinitely and 
 independently in each file, so you can easily perform multiple operations on 
 them, or 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; text 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 in plain text files, with no 
 formatting codes 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: where 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.)  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 (intentionally or 
 not).  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, obstructing 
 future reformatting.  (There is a way 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 special codes in the text 
 with ^P.  Some are simple switches, while the more common ones (like 
 underlining) are toggles 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 "S" toggle displays 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 or recorded, 
 can be repeated automatically.  (VDE had macros before WordStar did!)  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 
 definition directly, or record the use of keys pressed during 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 VDE 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 flowed or wrapped text with CRs 
 (and/or LF) only at the end of paragraphs that can be reformatted at will (to 
 different margins, etc); if created with a word processor it will also 
 contain embedded formatting data.  Each such 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 that 
 always remain separate, like a batch (BAT) file or programming code.


                                  FILE MODES

     VDE has no special file type of its own.  Instead it offers different 
 "file modes" for various file formats from simple DOS text to word-processor 
 documents like WordStar or WordPerfect; for a list, press ^JF.  Whenever you 
 open, edit, or save a file in VDE you can select whichever of these you like, 
 determining not only the format in which it's 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, while 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)
      There is some ambiguity to certain filemodes.  Windows Notepad for 
 example is mainly used on nondocuments, but if you turn wordwrap on, it can 
 produce flowed text.  So is /T a document or nondocument mode?  That depends 
 on the file.  Should .TXT files be read in /T mode?  If created with Notepad, 
 probably; otherwise, perhaps not.  Should this file be called VDE.TXT?  (It 
 actually used to be VDE.DOC, like most such files before Windows appropriated 
 that extension for Microsoft Word.)  Suit yourself.

                               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 basic alphabet adopted by the first personal 
 computers.  VDE offers multiple modes because such text may need to be 
 handled as a document or not, according to purpose, and because other 
 operating systems have somewhat different format standards.  DOS text files 
 may have any extension, or none; a text file can be opened in whichever of 
 these modes gives the best or desired result.  For example, this file VDE.TXT 
 was written and is best edited in mode /A as formatted DOS text, but you 
 could equally well use /D (though it contains no printing codes); some modes 
 might not preserve its format, while others would get a few special 
 characters wrong.  The optimal mode for any text file depends on its origin 
 and purpose; some experimentation may be needed before saving any changes.

     /D mode is for documents with 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 in viewing and printing any 
 control codes 00-1Fh directly (as PC graphics) rather than interpreting them 
 as printer toggles and switches.

     /U mode is for DOS/PC files stored as individual (possibly quite long) 
 lines of text.  Such lines will automatically wrap to the right margin in 
 effect when the file is opened in VDE and unwrap again on saving, but other 
 formatting features (varying margins, justification) are not supported.
     /T mode is a variation on /U, for files created by Windows programs 
 like Notepad using ANSI/Unicode encoding of extended characters.  Files 
 with a UTF-8 or -16 BOM (byte order mark) are automatically recognized 
 and will set mode /T (although VDE can only write UTF-8, not -16.)
     /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.

     /N mode (Nondocument) is for simple line-by-line DOS/PC text like batch 
 files.  Hard tabs are used by default (TAB=09h) and word-processing functions 
 like wordwrap are disabled.
     /C mode differs from /N in using variable tabs instead, and providing 
 autoindentation suitable for structured programming languages like C.

     Formatted text files not originally created with VDE are likely to have 
 hard CRs on every line, so editing may require first softening these (^OY).
     If you don't want wordwrap in file modes like /T,X that offer it, you can 
 defeat it by setting the right margin to 255 (^OR) or releasing it (^OX).
     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 (^QA) 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 standard 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 purpose, 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 (used for example by 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 once also had a 
 mode for XyWrite/NotaBene files, no longer supported.  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 and margins are 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 release margins 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 support 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 nonsequential structure 
 of Word file format, /M mode doesn't support any special features like print 
 effects or varying margins; 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.)
     Due to its difficulty, 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 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 place-holder 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 third-party converters.


                                  LARGE FILES

     Originally written in the early 1980s for computers with just 64k of RAM, 
 VDE still uses the same fast, simple method to manage text in conventional 
 memory, and so can only edit files up to a certain size (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 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 go from segment end to next segment top, or vice versa, use 
 ^[PgDn,Up].  (Any previous cursor position in the other segment can be 
 recovered with ^QP.)  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), which will be loaded 
 in three segments, to familiarize yourself with VDE's approach to editing 
 large files.  See SEGMENTATION for advice on macro compatibility issues 
 involving multisegment editing.



 =============================  4. DOS SYNTAX  ==============================


     When VDE is invoked from the DOS command line, you can name 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 with the DOSLFN 
 driver loaded, or on Windows systems (see BEYOND DOS).  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
          U = Unformatted ASCII doc.          M = Microsoft word
          T = noTepad (ANSI/Unicode)          R = Rich text (RTF)
          N = Nondocument                     L = hp Lx memo
          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 exist and how much memory was available.)  
 Options may be combined at will.

      Any filespec may be followed by a target text string or page/line number 
 in square brackets [], to POSITION the cursor when the file is loaded:
      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 (maximum 65534) 
 can be used to go to the end of the file.

      Alternatively you can 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 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 read Microsoft Word with margins 1,66, and 
    edit these three files.

  C> VDE "C:\My Documents\Annual meeting notes.wpd"/F[6]
        Edit this Windows long-named file in WordPerfect 5+ mode, starting on 
    page 6.  [You may wish to declare *.WPD as mode /F by default.]



 =============================  5. BEYOND DOS  ==============================


     VDE should be usable on any computer that provides or correctly emulates 
 the functionality of MSDOS 3, an IBM PC BIOS, and video RAM.  It runs on 
 anything from an OS/2 system to DOS emulators under Linux, Mac OS, or 
 Android, but most users will be concerned with Windows versions and the 
 series of DOS emulators developed for them.


                               MICROSOFT WINDOWS

     VDE can be run in an MSDOS or CMD window under Windows 3.x, 95/98/ME, 
 NT/2000/XP, or 32-bit Windows 7-10.  (The DOS emulators described below also 
 work under WinXP and later, if you prefer to use them.)  VDE's file mode /T 
 handles Windows text files (Notepad etc); /R is for Rich Text Format (RTF) 
 files written by Word or Wordpad; and /M reads Word documents.
     Long filenames (LFNs) are supported from Win95 on, with short DOS- 
 compatible equivalents (like LONGFI~1 for "Long file name") also provided.  
 VDE accepts either short or long form for filenames; any long name is 
 preserved when accessed by its short one.  LFNs containing spaces, commas, or 
 square brackets '[]' must be enclosed in "quotes".  Only short names are 
 displayed in the header, the ^F/^R keys at prompts, and the Browser file 
 list, though the Browser shows an item's LFN on an extra line below.  AltK 
 shows the current file's LFN (with short-form path for brevity), and the ^PF 
 code in a print header will print the LFN.  (VDE abbreviates long paths and 
 names as necessary for display.)
     IDIOSYNCRASIES: LFNs are not accepted for VDE's own data files (.VDx), 
 nor at the Browser prompt, nor with wildcards.  When creating a new file, any 
 name in 8.3-character format will be capitalized as a DOS name unless 
 enclosed in "quotes" as a Windows name.  (The header always shows caps.)  A 
 new filename not in 8.3 form will display as a pseudo-short-name with the tag 
 '~?' until the file is actually saved to disk, typically becoming '~1' 
 instead.
     (Caution: other DOS software often tends to lose LFNs when processing 
 files on Windows systems, and so shouldn't be used on such files unless you 
 know it can handle LFNs.)

     VDE's mouse support doesn't work well in a less than fullscreen window, 
 so it should be disabled with VINST.  VDE is compatible with generic Windows 
 Cut/Paste accessed by right-clicking on the header of its window, 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)  When VDE is 
 running within a window, AltE either won't work or changes the window height 
 instead of text size.

     In order to print from VDE on a Windows system, it may be necessary to 
 specify a printer port (e.g. "LPT1") in place of the generic "PRN" in your 
 printer driver (see PRINTER INSTALLATION).  Using a USB printer will require 
 capturing, pooling, or sharing output via Windows or third-party drivers (see 
 USB PRINTERS).

                                 DOS EMULATORS

     VDE can be run under the emulators DOSbox(-X), vDOS, or vDOSplus (2015 or 
 2016 fork), and this will be necessary on 64-bit Windows systems that no 
 longer support DOS software via NTVDM.  Overall these emulators work quite 
 well, with certain limitations including:
              Restricted window height - DOSbox
              No LFN support - DOSbox, vDOS
              No clipboard access - DOSbox, vDOS
              No direct printing - DOSbox, vDOS, vDOSplus 2015

     A further awkwardness is that fairly high CPU use (~25%) can occur while 
 VDE is awaiting or accepting key input via the PC BIOS.  This is related to 
 the effective clock speed of the emulator, and if it bothers you the problem 
 can be avoided by choosing vDOSplus 2015 which runs at a more moderate speed, 
 or not setting CYCLES= too high in DOSbox.  (DOSbox-X has high CPU use all by 
 itself.)  This issue also arose under NTVDM in 32-bit Windows, but there was 
 a way to mitigate it.
     Regarding long filenames and use in a screen window, see the WINDOWS 
 section above.  Special feature: in vDOSplus CONFIG, you can set WHEELMOD=6 
 to allow the mouse wheel to scroll text in VDE.  (Be sure also to take 
 advantage of LINS=50 or more, and tweak the color palette with SETCOLOR.)
     Printing from VDE is still possible in emulators that don't print 
 directly by means of the #LPT1.asc file they produce, though "Windows-only" 
 printers will require an additional utility like DOSPRINT.  For example, an 
 HP PCL6 printer can be used in vDOSplus 2015 with these CONFIG settings:
   TEMPDIR = C:\Users\You\Dir
   LPT1 = @C:\Windows\System32\cmd /c copy C:\Users\You\Dir\#LPT1.asc LPT1
 (See also USB PRINTERS)



 ==========================  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.

   [BkSp] = Delete previous character.   ^[BkSp] = delete word to left.
    [Del] = Delete current character.     ^[Del] = delete entire current word.
    [Ins] = toggle Insert/overstrike.     ^[Ins] = toggle Word Insert.

     [^], [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.    \ Keypad keys,
      [-],[+] = scroll back, forward one line.         /  NumLock off

      [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
                        or move between end of one segment and start of next.

    Shift[^],[v],[>],[<]       \  mark       (shifted arrow
    Shift[Home,End,PgUp,PgDn]  /   block      or keypad keys)


                               MENUBAR CHOICES

     Press Shift-[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}              ^KL           {Block: Begin}           ^KB
        Open}             AltL                  End}             ^KK
        Import}           ^KR                   Copy)            AltY
        Dir}              ^KF                   Paste}           AltP
        Next file}        AltN                  Goto}            ^QB
        Prev file}        AltB                  Zoom}            ^KZ
        Rename}           ^KE                   Write}           ^KW
        Save}             ^KS                   Unmark}          ^KH
        Quit}             ^KQ                   Delete}          ^KY
        Exit}             ^KX

 {Delete: Line}           ^Y            {sEarch: Find}           ^QF
          to ln Start}    ^Q[Del]                Replace}        ^QA
          to ln End}      ^QY                    rePeat}         ^L
          to Char}        ^QT                    place Set}      ^KM
          Block}          ^KY                    place Go}       ^QM
          Undelete}       ^U                     Overview}       AltO
                                                 Match}          AltM
                                                 spellCheck}     AltJ

 {formaT: Center}         ^OC           {stYle: Bold}            ^PB
          Flush}          ^OF                   Underline}       ^PS
          Double spc}     ^OS                   Italic}          ^PY
          Prop spc}       ^OK                   strikeOut}       ^PX
          Justify}        ^OJ                   suPerscript}     ^PT
          Reform}         ^B                    Subscript}       ^PV
          Auto fmt}       ^OM
          autoIndent}     ^OA

 {Set: L margin}          ^OL             {View: split Window}   AltW
       R margin}          ^OR                    Other window}   AltF
       Marg rel}          ^OX                    Header}         ^OQ
       rUler}             ^OT                    F-labels}       ^OU
       tab Set}           ^OI                    Lines}          AltE
       tab Clr}           ^ON                    Blank}          ^OZ
       Varitab}           ^OV
       Hyphens}           ^OH                    
       Pg length}         ^OP

 {Print: File}            ^KP           {Misc: Time}             AltT
         preView}         ^OD                  Date}             AltD
         Driver}          AltV                 file Info}        AltK
         pg Break}        ^PL                  Record macro}     ^M^M
         Graphic}         AltG                 Use datafile}     AltU
         overstrike Char} ^PH                  DOS Shell}        AltR
         overstrike Line} ^PM                  about VDE}        AltI


                                 COMMAND KEYS

 I. CONTROL KEYS:  press the ctrl-key combination shown.

     WordStar arrow-key diamond:
       ^E = up     ^D = right              ^F,^A = move to word right, left
       ^X = down   ^S = left

     ^W,^Z = scroll back, forward one line    ^B = reformat paragraph
     ^R,^C = page back, forward one screen    ^I = input direction

     ^G = delete character at cursor          ^Y = delete current line
     ^T = delete word to right
     ^U = undo last deletion (character, word, line, or block)

     ^V = toggle Insert mode on/off           ^N = insert CR (break line)
                                              ^_ = insert a space

     ^P = insert special code:                ^P- = soft hyphen
            ^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    ^L = repeat last find/replace
     ^\ = copy existing character             ^H = repeat in other direction

     ^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              ^KR = Read (import) a file into text
     ^KL = Load replacement file(s)       ^KJ = delete a disk file
     ^KP = Print

     ^KE = rEname current work            ^KS = Save to disk, and continue
     ^KD = Done: save & load new file     ^KX = eXit: save & quit to DOS
     ^KA = set Autosave interval          ^KQ = Quit to DOS, abandoning file
     ^KO = prOtected mode (Read/Only)

     ^KM = insert place Mark in text      ^KU = Undo all place marks

     ^KB = mark start of a Block          ^KK = mark end of a block
     ^KH = unmark the block               ^KY = Delete the marked block
     ^KC = Copy block at cursor location  ^KV = moVe block to cursor location
     ^KZ = Zoom into the marked block     ^KW = Write block to a disk file
                                          ^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      ^QI = go to specified page or line

     ^QM = go to next place Marker
     ^QP = go to Previous position in file (before last sizable move)

     ^QF = find a string                  ^QA = find and replace a string

     ^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     ^OX = toggle Margin Release on/off
     ^OC = Center text on line            ^OF = make line Flush right
     ^OW = set margins/spacing/justif. from current paragraph

     ^OA = Autoindent on/off              ^OM = autoforMat on/off
     ^OG = temporary indent               ^OY = hard reformat on/off
     ^OO = first line indent

     ^OK = proportional spacing on/off    ^OS = double Spacing on/off
     ^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          ^OU = function key labels on/off
     ^OT = ruler line display on/off      ^OB = hard CR/TAB display on/off
     ^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       AltI = VDE version Information

     AltL = Load an additional file       AltB = move Back to previous file
     AltW = split Window                  AltN = move forward to Next file
     AltF = move to other window

 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)    AltS = Save (^KS) all changed files
                                          AltX = eXit (^KX) all files
     AltZ = purge: quit unchanged files   AltQ = Quit (^KQ) all files

   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      AltV = change printer driVers
     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:
        Esc0..Z    = labels              Esc(),+,-  = counter
        Esc!       = jumps               Esc;       = pause
      Esc=,~,<,>,@ = character tests     Esc:,?     = user input
        Esc*       = toggle control      Esc&,&&    = chain/call macro
        Esc#       = adjust value        Esc$,%     = error handling
    Esc|,\,/,[,],. = segment navigation and tests

             (note also Shift-[Esc] = call up MenuBar)



 =========================  7. COMMAND REFERENCE  ============================


 AUTOFORMAT (^OM,Esc*g) - ^OM toggles AutoFormat on and off in a document.  
    When on, any changes to the text or adjustments to format cause immediate 
    reformatting of the current paragraph.  In formatted file modes, margin, 
    line spacing, and justification settings also adapt 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 format- 
    ting, 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.)
        If you need to have autoformatting without adaptive resetting of 
    margins etc, you can defeat that with Esc*g, which reverts to the simpler 
    AF behavior of VDE versions prior to 1.95.  (Esc*G restores the default.)
        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 serious 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 marks can be deleted or 
    undone with ^KH.  Markers remain in place until reset elsewhere.  (An end 
    mark disappears if you mark a beginning after it, and vice versa.)
        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, automatically 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 to accomplish 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 (as 
    shown by the indicator in the header).
        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 tables with 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 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.  [The mouse 
    won't work well within a limited window, and should be avoided or 
    disabled.]  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 of 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 segment's text, 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] 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, with no confirmation; use caution.)  Alternatively 
    you can access the FILE BROWSER by pressing [Enter] alone at the prompt or 
    entering a directory name or wildcards (and when you select a file to 
    delete, the Browser will ask "Y/N").

 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.  Due to 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, followed by the parent directory ".." 
    and all subdirectories (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 different mode is required, you can 
    press "/" then the mode letter (or [Space] to cancel a previous choice).
        Pressing [Enter] with the cursor on a directory 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 file (=^KJ)  (asks for confirmation)
    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: 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 Hidden or System attribute normally don't appear in 
    directory listings.  (Esc*L can be used to override these exclusions; see 
    TOGGLE CONTROL.)  VINST's excluded filetypes also won't be listed unless 
    specified explicitly, e.g. "*.COM".
        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;
              Find: M^_.          finds "Mr." or "Ms." or "Mt." etc.
        ^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);
           "W" = whole Word only (skip instances within larger words);
           "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 an 
    international keyboard.  In some cases only a "letter" key (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      P 14   L 11   C 48    Ins    Col    AF DS J+ PS ! ^K_
    |-----------------|--------------|------|||----|||----||----||----|-----
   (#)           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.         'DS' = Double spacing on.
    'AI' = AutoIndent on.         'J+','J-' = Right Justification modes.
    'HR' = Hard Reform on.        'MR' = Margins released.              
    'PS' = Proportional spacing on.
    '!','?','"' = Macro executing, awaiting input, or being recorded.
    '^K_' = Command key prefixes (and brief messages or prompts) display here.

        On narrower screens, an abbreviated header is shown, like this:
    ----------------------------------------
    + VDE.TXT /A      I!  P 14  L 11  C 48      "I,W" = Insert, Word Insert
    |-----------------||-----------|||------      "R" = Read/Only
   (#)         or (W,R)(?,")      (^K_)

    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]) - Shift-[Esc] calls up the MenuBar.  Press the hilighted 
    letter to select a submenu, then select the desired function.  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) are 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 or text 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      NUMBERS pages sequentially, at top right.
       C      numbers pages at bottom CENTER instead.
       =nn    RENUMBERS the printout making the first page number nn.
     "..."    uses the quoted string as a page HEADER (see details below).
       F      prints FACING pages (header/number reversed on even pages).
       S      SUPPRESSES the header/page number on the first page printed.
       P      PAUSES for your keystroke before each page prints (sheet feed).

       @nn    begins printing AT page nn of the document.
       #nn    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 printing).
       J      EJECTS the page after printing even if it otherwise wouldn't
                (when printing a block, or in zoom mode)
       Inn    expands hard tabs (into spaces) to nn column 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
                  ^S  underline                     ^N  normal pitch
                  ^Y  italic (or color)             ^Q  (user def. 1)
                  ^T  superscript                   ^W       "     2)
                  ^V  subscript                     ^E       "     3)
                  ^X  strikeout                     ^R       "     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 also), 
    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's default assumption is a fixed-pitch font, so the printed result will 
    align just as it was on screen.  If you printed the same text with a 
    proportional font instead, 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 select 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].  
    VDE can use only one proportional font at a time; to work with a different 
    one, you must load a new table (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 multiple 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.

 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 will be 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 inserted as if it had been moved as a column 
    block.  (^KR can read only as much text as will fit in the current 
    segment.)

 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 when desired 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, where these are 
    normally marked by arrow characters to distinguish them from soft CRs and 
    spaces; 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 filespec and/or mode, or you can make 
    your work "untitled" by pressing ^[Enter].  Giving a file mode alone (^KE 
    /M) is the convenient way to change only 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)     ...L-----!---!-------v-----!--------------R.......
       (nondoc)      .......|.......|.....v.|.......|.......|.......|..
        A moving pointer "v" indicates the cursor column.  "L,R" designate the 
    current margin columns; "---" shows the text area between, "..." 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.  At its DOS-like prompt (e.g. "C:\WORK>") you can enter a single 
    command to 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.
        Alternatively, you can simply press [Enter] at the prompt to open a 
    full command shell, a DOS environment where you can execute multiple 
    commands; 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 that either 
    your AUTOEXEC.BAT file includes a line like
                        SET COMSPEC=C:\COMMAND.COM
    or your CONFIG.SYS file includes a line like
                        SHELL=C:\COMMAND.COM C:\ /P
        CAUTION: never load memory-resident utilities (TSRs) within a shell 
    like AltR; 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, and then prompts for a new file to 
    edit (as in WordStar).  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 charac- 
    ters, but VDE automatically adapts to whatever text mode you run it in 
    (minimum 8 lines, 40 columns), supporting any extended screen modes (like 
    50 or 60 lines, or 96 or 132 columns) your system offers.  VDE works on 
    portable computers with small displays (like 16x40 or 18x64 on HP LX 
    palmtops); and the visually impaired 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 the 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, on systems that support this.  (This often works in fullscreen 
    DOS mode under Windows, but not within a smaller window.)
        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 accessory spelling checker (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.

 SPLIT WINDOW (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.

 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) - 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 "*".
        ^PI can also be used to insert a hard tab in a document without 
    toggling modes.  Shift[Tab] tabs backward (left to the previous tab 
    position).  ^[Tab] tabs over to the column of the next nonblank in the 
    previous line.

 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.



 ==========================  8. CREATING MACROS  =============================

                          A. KEYSTROKES AND NOTATION

     A macro is a sequence of keystrokes (text and/or VDE commands) which can 
 be repeated automatically or stored to a key for future use in order to 
 simplify frequently performed tasks.  To clarify the notation used:
     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 when defining it.  Any spaces that 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)    [BkSp] vs ^H (BS)     [Esc] vs ^[
          ^[Enter] vs ^J (LF)    [Tab]  vs ^I (TAB)
 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're 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, with the 
 underlined letters highlighted as control-codes, and epsilon indicating the 
 [Esc] key:

       Macro:  ***fQRB>~X=MN< XND!BXG!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 as a recognizable symbol, but most will simply show a 
 highlighted asterisk "*".  [VINST can show 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 a common cause 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 will 
 seem 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 
 don't need 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, a second time 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.)
     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 creates 
 an error, 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 
 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 (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 (via ^OU) 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 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 invoked by 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 permits 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 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                    ;keep looping until error
         EscE                     ;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:  +-         key3:  ^I+-
           key2:  ^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                ;move left if already on period
         Esc1 Esc~.<              ;move left to previous period
         ^D Esc=_2 Esc=^M2        ;accept if followed by space or return,
         ^S^S Esc!1               ; otherwise ignore and continue left
         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              ;formatting off (restore status afterward)
         ^QR                      ;go to top of file
         EscB Esc>~X              ;delete anything above "~" (graphics)
         Esc=^MN                  ;accept carriage returns
         Esc<_X                   ;but delete anything else below " " (ctrls)
         EscN ^D Esc!B            ;(accept)
         EscX ^G Esc!B            ;(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)               ;start at left, zero counter
         Esc1 Esc+ ^D             ;loop: move right, increment counter
         Esc~^M1                  ; (until you come to the CRLF)
         Esc2 Esc-] Esc-] ^S      ;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     ;mark current word as block
         Esc<@< ^D ^KK             ; (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)        ;return to word, unmark, and report count
 ^[ 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-]        ;decrement for every "}", quit when zero
         Esc3 ^D Esc!1            ;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                 ;formatting off
         Esc1 Esc$2                  ;trap errors each time to continue
         ^QA<br>[Enter]^M[Enter]gc[Enter]     ;translate linebreaks
         Esc2 Esc$3
         ^QA<p[Enter]^M<p[Enter]gc[Enter]     ;add them here too
         Esc3 Esc$4
         ^QF<[Enter]g[Enter] ^KB     ;find, block mark, and delete every
         ^QF>[^Enter] ^D ^KK^KY      ;  other <tag>, repeating till none
         Esc!3 Esc4 Esc$5
         ^QA&nbsp;[Enter]_[Enter]gc[Enter]    ;translate spaces
         Esc5 Esc$6
         ^QA[Tab][Enter][Enter]g[Enter]       ;remove TABs
         Esc6 ^QR Esc$0
         Esc7 Esc~_8 ^T              ;remove leading spaces
         Esc8 ^X Esc!7 Esc0 ^QR      ;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           ;mark original file, and go to end
         EscL AltN          ;loop: advance to next seg
         Esc.]              ;quit if back to original seg; done!
         Esc[L              ;skip all but first segs of multiseg files
         ^QR ^KB ^X ^KK     ;mark first line of file
         AltY Esc/ AltP     ;copy it to here
         ^QC Esc/           ;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                       ;start at end of file
         Esc0 ^E
         Esc1 Esc$E                   ;main loop: done when at top
           ^QS^E^KB^QS^X^KK           ;  mark line
           Esc@0 Esc$3 Esc!F          ;  (already where it belongs?)
         Esc2 Esc@3 EscF ^QS^X Esc!2  ;loop: find its place
         Esc3 ^KV ^QP Esc!1           ;put it there, return, repeat
         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                                29 February 1993
              @@A

              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]           ;Find next marker, skip to print if none
   Esc$$ ^D^D Esc=A1 Esc~N[      ;Was it @@A or @@N? (skip if neither)
   AltN ^KB^QD^KK AltY           ;Request was for Name,
   ^QS AltN Esc!2                ; so mark and copy first line of entry
     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![                    ; paste in the data, and go on to next
     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     ;Position to next entry in list
   Esc<_]                        ;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 text-conversion 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 (i.e. again 
    at the prompt) to activate recording; a quote mark (") will appear in the 
    prefix area of the header.  Type away, then press ^M again to conclude.  
    If you made an error, 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, 
    before resuming the macro.  Examples: Esc:^QF allows you to enter the 
    string to find; Esc:Esc! lets you type the label to jump to.

 PROMPT AUTOMATION (^F,^[,^R) - Several control codes that operate at command 
    prompts (see PROMPTS) are very useful 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 test for their presence, you can 
    use Esc>^@ (that's 00h, entered ^P@) which only they (or ^P@) could fail.

 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    'b'=off  'B'=on
              Column block  (^KN,I)    'c'=off  'C'=on  'O'=replace
              Doublespace    (^OS)     'd'=off  'D'=on
              autoFormat     (^OM)     'f'=off  'F'=on
            * adaptive margins in AF   'g'=off  'G'=on
              Hyphenation    (^OH)     'h'=off  'H'=on
              Insert         (^V)      'i'=off  'I'=on  'W'=word
              Justification  (^OJ)     'j'=off  'J'=on  'R'=remove
            * Load excluded files      'l'=off  'L'=on
            * Match hard CRs exactly   'm'=off  'M'=on
              Proportional   (^OK)     'p'=off  'P'=on
            * Single line reformat     's'=off  'S'=on
            * Trim spaces from nondocs 't'=off  'T'=on
            * Unload speller from memory        'U,u'   (either)
              Variable tabs  (^OV)     'v'=off  'V'=on
              margin release (^OX)     'x'=off  'X'=on
              hard reformat  (^OY)     '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    (^OL)     'L'
              Right margin   (^OR)     'R'
              Page length    (^OP)     '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 - Horst Schaeffer's tiny Windows utility CLIPTEXT 
    (available at the VDE Editor site) is needed to provide Clipboard access 
    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 access.  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 be placed in a directory on your DOS 
    PATH.  (Note: due to a Windows problem, after the ^[, ^] keys have run 
    CLIPTEXT, VDE can't tell whether you may still be holding down [Ctrl] for 
    more commands.  If you see an error message "Ctrl key?" in the header upon 
    your next keystroke, just tap any Ctrl/Alt/Shift key before continuing.)
        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).

 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; later ("enhanced"?) AT keyboards have put 
    [CapsLock] there instead, making [Ctrl] less accessible and commands like 
    ^Q awkward to use.  As a result, some users like to exchange the functions 
    of these two keys.  Some keyboards have firmware that allows swapping 
    them, which is the easiest solution, and may even provide replacement 
    keycaps, but many 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 
    -- the CapsLock status or keyboard light may vary unpredictably.  Use a 
    Windows-based method instead for consistent performance, like a Win9x 
    device driver.  Under WinNT and later, the proper technique is to remap 
    the scancodes of those keys in the Registry.  You can find ready-made 
    patches for this purpose online, like CTRL_XP.ZIP on the VDE Editor site.  
    They will contain a simple .REG file that you just have to click on to 
    apply to your Registry.
        If you really know what you're doing, you can use RegEdit yourself 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.)

 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.
        "Invalid Key" - an illegal command key sequence was pressed.
      "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    |    &     38  26
         ^^ (^6)   30  1E    |    #     35  23    |    ^     94  5E
         ^_ (^-)   31  1F    |    $     36  24    |    ~     126 7E

 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 room 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:   ^[    \(these don't have immediate
          Erase entire entry:   ^Y    / 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 is a separate file 
    may not work properly if used in a 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 expect all processes to 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 with a bit of work, you can get Windows NT or later 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 "net 
    use" 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, and can just 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 (find instructions online).
         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]=================================
