home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / UTILITYS / VDE26.ARC / VDE26.DOC < prev    next >
Text File  |  1990-07-21  |  40KB  |  660 lines

  1.                                   VDE26.DOC
  2.                                   ---------
  3.                     Instructions for Video Display Editor:
  4.                             VDE, VDM 2.60 (07/87)
  5.  
  6.                               (c)1987, E. Meyer
  7.  
  8. ==============================================================================
  9.  
  10.     VDE is a small, fast, powerful text editor for CP/M computers, offering:
  11.     ---
  12.   * full-screen editing      * block operations     * user area support
  13.   * wordwrap and reformat    * macro programs       * disk file operations
  14.   * margins, tabs, spacing   * find and replace     * WordStar compatibility
  15.   * many print features      * undelete ability     * configurable options
  16.  
  17.      VDE is versatile: its pure ASCII mode and definable macros make it an 
  18. ideal programmer's editor; its full formatting and printing features also make 
  19. it an efficient word processor.  VDE is a bit spartan, but it has one great 
  20. advantage over more cumbersome programs: speed.  VDE is written in Z80 
  21. assembler; it's just 12K, with no overlays; it compresses the entire file (up 
  22. to 60K or more) into memory.  Finding a string at the end of a 50K file takes 
  23. me 13.8 sec with WordStar (at 8MHz); with VDE, only the blink of an eye, 0.7 
  24. sec.  This ease of movement actually changes the way I use an editor.
  25.      VDE is designed for Z80 CP/M 2.2 and 3.0 systems; it should also work 
  26. with full equivalents (eg HD64180 CPU, ZRDOS) and emulations (eg Z80 cards in 
  27. MSDOS computers), but sorry, not on 8080/85 systems.  It is ideal for portable 
  28. computers with limited disk space.  The generic version can be installed for 
  29. any terminal; there is also a memory-mapped version VDM, which offers faster 
  30. screen display if your hardware supports it.  [See VINSTALL.DOC for details.  
  31. Comments below in brackets "[]" point out other, optional uses of VINSTALL.]
  32.  
  33. ===============================  INTRODUCTION  ===============================
  34.  
  35. VDE is invoked from CP/M:   A>vde {du:}{filename}{[m}     "{}" = optional
  36. EXAMPLES:       A>vde       A>vde my.doc[w       A>vde b11:prog.asm n
  37.  
  38.      "du:filename" - file to edit.  If drive/user omitted, defaults to current 
  39. values.  If name omitted, you begin an (as yet unnamed) new file.
  40.      "[m" or " m" - choice of file modes: can be "W"ordstar document, "A"SCII 
  41. document, or "N"ondocument.  Normally defaults to "A".
  42.  
  43.      If an existing file is too large to edit with VDE, you will get a "Memory 
  44. Error"; break up the file into two or more pieces, and edit them separately.  
  45. (The file size limit is typically about 55K, depending on your TPA size.)
  46.      VDE gives you a "status line" at the top of the screen which includes the 
  47. filename and mode, cursor position (page, line, column), various toggles if on 
  48. (INSert, DoubleSpace, MarginRelease), and prefix flag:
  49. -------------------------------------------------------------------------------
  50.  P0:VDE.DOC  [A         Pg 1     Ln 50    Cl 48     INS  DS  MR    ESC-H = help
  51.           VDE 2.60  (c)1987 E.Meyer          ||^O-  D dsp CR||ESC-   Help  Info
  52. <udrl>  |^V insert|^B reform||^Q-    |R TOF  ||<u>  L,R mrgn||<udrl> Write Prnt
  53. ^F wd rt|^N ins CR|^^ case  ||<udrl> |C EOF  || V,+,-  vtabs||Block  Read  Name
  54. ^A wd lf|^G del rt|^P ^code ||B block|F find ||X mrel|T rulr||Termin Files Load
  55. ^R pg up|DEL dl lf|^PZ place||P place|A replc||P pagn|S spcg||Unmark Erase Save
  56. ^C pg dn|^T del wd|^U undel ||DEL dl BOL| U  ||C cntr|W wndw||Copy   Macro eXit
  57. ^Z rp fi|^Y del ln|^W wait  ||Y del EOL |undl||F flsh|Z zap ||Delete Key   Quit
  58. -------------------------------------------------------------------------------
  59.      If you type ESC-H, you will also get a brief menu of the various VDE 
  60. commands.  The menu, like all command prompts and error messages, appears 
  61. temporarily in the top portion of the screen; press ESC again to remove it.  
  62. (Note: "<udrl>" and "<u>" are abbreviations for Arrow Keys: up/dn/rt/lf.)
  63.      The VDE command set is similar in many respects to WordStar's, though not 
  64. identical.  There are ESC- commands, which mostly correspond to WordStar ^K- 
  65. (Block) commands; ^Q- and ^O- commands; and other single-control-key commands. 
  66. The similarities are strong enough that a WordStar user should have no trouble 
  67. adapting to VDE.  (In fact, if you find these instructions too cryptic in 
  68. places, it may help to look at a WordStar manual.)
  69.  
  70.  
  71. =============================  COMMAND SUMMARY  ==============================
  72.  
  73. I. CONTROL KEYS:  single keystroke commands.
  74.  
  75.      CR = Carriage return (^M).  Marks a paragraph end.
  76.      BS = Nondestructive Backspace (^H).
  77.     TAB = Hard Tab mode: Tab (^I).  Variable Tab mode: move to next stop.
  78.  
  79.      Arrow keys:  WordStar: ^E up, ^X down, ^S left, ^D right.
  80.                   Alternate: configurable, default ^K,^J,^H,^L.
  81.      ^F = move to start of next word right.
  82.      ^A = move to start of next word left.
  83.      ^R = scroll upward one screen.
  84.      ^C = scroll downward one screen.
  85.  
  86.      ^G = delete character to the right of the cursor.
  87.     DEL = delete character to the left.  [Configurable alternate.]
  88.      ^U = undelete a character.
  89.      ^T = delete word to right of cursor.
  90.      ^Y = delete current line.
  91.  
  92.      ^N = insert a carriage return (break line) at present position.
  93.      ^V = toggle INSERT mode on and off.
  94.      ^^ = toggle case (upper/lower) of character at cursor.
  95.      ^P = insert following control code in text.
  96.      ^B = reformat current paragraph.
  97.      ^Z = repeat find/replace (Repeats last ^QF or ^QA command.)
  98.      ^W = wait.  (Brief pause, useful during Macros.)
  99.  
  100. II. ESCAPE COMMANDS:  first hit ESC, then the key shown.  (ESC cancels)
  101.  
  102.      ESC Arrows: Left/Right (including ^S/D) = shift horizontally 32 columns.
  103.                  Up/Down (including ^E/X) = shift vertically 1/4 screen.
  104.  
  105.      ESC F = Files.  Look at the directory of a disk.
  106.      ESC E = Erase.  Erase a disk file.
  107.      ESC L = Load.   Load a brand new file to begin editing.
  108.      ESC N = Name.   Change the current filename (affects Save, eXit).
  109.      ESC R = Read.   Read a disk file into text at cursor position.
  110.      ESC P = Print.  Print the file (or block) from memory.
  111.      ESC S = Save.   Save the current file to disk, and continue editing.
  112.      ESC X = eXit.   Save the file, then Quit to CP/M.
  113.      ESC Q = Quit.   Abandon current file and quit to CP/M.
  114.  
  115.      ESC B = Block.      Mark the start of a Block.
  116.      ESC T = Terminate.  Mark the end of a Block.
  117.      ESC U = Unmark      Unmark the Block.
  118.      ESC D = Delete.     Delete the marked Block.
  119.      ESC C = Copy.       Copy the marked Block to present cursor position.
  120.      ESC W = Write.      Write the marked Block to a disk file.
  121.  
  122.      ESC M = Macro.  Execute a string of commands repeatedly.
  123.      ESC K = Key.    Store Macro on function Key for later recall.
  124.      ESC 0..9        Use stored Key.  (In macro mode: label.)
  125.      ESC !,=,~,#     Used in Macro programming (see below).
  126.  
  127.      ESC H      Displays help menu.
  128.      ESC I      Displays information: file size and free memory.
  129.  
  130. III.  QUICK COMMANDS:  first hit ^Q, then the key shown.  (ESC cancels)
  131.  
  132.      ^Q Arrows:  Left/Right (including ^S/D) = go to start or end of line.
  133.                  Up/Down (including ^E/X) = go to top or bottom of screen.
  134.  
  135.      ^Q B = move to block marker.
  136.      ^Q P = move to next place marker.
  137.      ^Q R = move to top of file.
  138.      ^Q C = move to end of file.
  139.  
  140.      ^Q F = find next occurrence of a string.
  141.      ^Q A = find and replace a string (global).
  142.  
  143.      ^Q Y = delete from cursor to end of current line.
  144.      ^Q DEL = delete from cursor to beginning of current line.
  145.      ^Q U = undelete a line.
  146.  
  147. IV.  ONSCREEN COMMANDS:  first hit ^O, then the key shown.  (ESC cancels)
  148.  
  149.      ^O Arrow:  Up (including ^E) = make current line top of screen.
  150.  
  151.      ^O R = set right margin (column 1 turns off wordwrap/formatting).
  152.      ^O L = set left margin.
  153.      ^O X = toggle Margin Release on/off.
  154.      ^O S = toggle Double Spacing on/off.
  155.      ^O C = center current line.
  156.      ^O F = align current line flush with the right margin.
  157.      ^O D = toggle display of hard CRs on/off.
  158.      ^O T = display ruler line.
  159.  
  160.      ^O V = toggle tab mode Hard/Variable.
  161.      ^O + = set variable tab stop.
  162.      ^O - = clear variable tab stop.
  163.  
  164.      ^O P = toggle pagination on/off.
  165.      ^O W = toggle windowing on/off (see below).
  166.      ^O Z = temporarily blank the entire screen.
  167.  
  168.  
  169. ============================  EDITING COMMANDS  ==============================
  170.  
  171. BLOCK COMMANDS (ESC-B,T,U,D,C,W,PB, ^QB) - A Block of text is delimited by two 
  172.     markers, normally ^B, which remain in memory until reset or deleted.
  173.          ESC-B marks the beginning of the block.
  174.          ESC-T terminates the block.  (ESC-B must be done first.)
  175.          ESC-U unmarks the block, removing any marker(s) set.  (This can also 
  176.     be done individually with any of the character delete functions.)
  177.          The Block operation commands all require a Block to be marked, and 
  178.     the cursor to be outside the Block:
  179.          ESC-D deletes the block (including markers).
  180.          ESC-C copies the block (not including markers) to the present cursor 
  181.     location.  There is no Block Move command, but you can use ESC-C followed 
  182.     by ESC-D to delete the original.
  183.          ESC-W writes the block text to a disk file.
  184.          ESC-PB (ESC-P with B option) prints the block text.
  185.          The ^QB command moves the cursor to the Block start.
  186.  
  187. CURSOR MOVEMENT (<udrl>,^Q<udrl>,ESC<udrl>,^O<u>, ^F,^A) -  VDE supports three 
  188.     sets of Arrow keys, which function interchangeably.  The two built-in sets 
  189.     support the WordStar "arrow key diamond" ^E,^X,^D,^S, and the ANSI 
  190.     standard 3-byte sequences (ESC-[-A etc).  The third set is user config- 
  191.     urable, set by default to ^K,^J,^L,^H.  These keys move the cursor up, 
  192.     down, right, and left respectively.
  193.          Preceded by ^Q-, any arrow key (except ANSI) moves more quickly: to 
  194.     the top or bottom of the screen, to the left or right end of the line.
  195.          Preceded by ESC-, any arrow (except ANSI) moves the FRAME rather than 
  196.     the cursor:  the text as a whole shifts up/down 1/4 screen, or right/left 
  197.     32 columns, while the cursor stays put.  (In fact, vertical shifts will 
  198.     drag the cursor along if they have to; horizontal shifts won't do this.)
  199.          Preceded by ^O-, any UP arrow key (except ANSI) makes the current 
  200.     text line the top of the screen.
  201.          There are also two WORD movement commands: ^F moves right, to the 
  202.     start of the next word; ^A moves left, to the start of the last (or 
  203.     current) word.  Both have a maximum movement of 255 characters.
  204.  
  205. DELETE (^G,DEL, ^T, ^Y,^QY,^Q-DEL) -  You can delete text one CHARACTER at a 
  206.     time: ^G deletes to the right of the cursor, and DEL to the left.  [If you 
  207.     have no DEL key, you can install another equivalent.]  Note that the 
  208.     ordinary BS (^H) does not delete.
  209.          ^T deletes an entire WORD to the right (up to 255 characters).
  210.          ^Y deletes the entire current LINE.  ^QY deletes only the part of the 
  211.     line to the right of the cursor; ^Q-DEL deletes the part to the left.
  212.          Accidentally deleted text can usually be recovered (see UNDELETE).
  213.  
  214. DISK OPERATIONS (ESC-F,E,R) -  On using the ESC-F command, you will be asked 
  215.     for an (optional) drive/user, and its directory will be shown.  If there 
  216.     is not enough room to fit all the files on the screen, you will see "..." 
  217.     at the end to indicate that there were still more.  Press ESC to return to 
  218.     editing.  [ESC-F can be configured to ignore SYStem files.]
  219.          ESC-E will erase a single disk file.  (No wildcards.)
  220.          ESC-R reads in the contents of a disk file, inserting its text after 
  221.     the current cursor position.
  222.  
  223. FILE COMMANDS (ESC-S,N,Q,X,L) - ESC-S SAVES your work: what's in memory is 
  224.     written to disk under the file name in the header.  (The name cannot be 
  225.     blank.)  If that file already existed, a BAK file may be preserved.
  226.          ESC-N NAMES your work.  This allows you to change the filename in the 
  227.     header before saving.  After a name change, BAK files are not preserved.
  228.          ESC-X EXITS politely to CP/M, saving your work first.
  229.          ESC-Q just QUITS.  Since you will wind up at the CP/M prompt with any 
  230.     unsaved work lost forever, you are prompted to confirm this (Y/N).
  231.          ESC-L abandons the current file and LOADS a new one to begin editing.
  232.  
  233. FIND, REPLACE (^QF, ^QA, ^Z) -  ^QF is the command to FIND a string.  The 
  234.     search proceeds from the cursor position forward, and is normally case 
  235.     sensitive.  A "_" [this can be reconfigured] functions as a wildcard: if 
  236.     the first character in the string, upper/lower case will be ignored in 
  237.     matching the rest; otherwise, it will match any single character.  Control 
  238.     codes, like ^M for newline, can be included (with the ^P prefix where 
  239.     needed).  Examples:
  240.            Find: ^MLABEL       matches "LABEL" at start of line only;
  241.            Find: 4__01         matches "42201", "47401", etc;
  242.            Find: _wordstar     matches "WORDSTAR", "WordStar" etc;
  243.            Find: __            matches "_"!
  244.         ^QA is the global FIND/REPLACE command.  It asks for a string to find, 
  245.     and what to change it to.  The cursor will be placed in succession on each 
  246.     occurrence of the string in the file, starting at the current cursor 
  247.     position.  (You will see the prompt "Chg?" in the header.)  To change it, 
  248.     press "Y";  anything else skips to the next.  To change all further 
  249.     occurrences without being asked, press "*".  ESC cancels at any time.
  250.          ^Z repeats the last ^QF or ^QA command.  For ^QF this is simply a 
  251.     repeat find; for ^QA you will also be asked whether you want to replace 
  252.     the found string.
  253.  
  254. INSERT MODE (^V) -  ^V toggles insertion on and off (when on, the INS flag 
  255.     shows in the header).  If INSERT is OFF, any existing text to the right of 
  256.     the cursor is overwritten as you type.  If INSERT is ON, what you type is 
  257.     inserted, and existing text moves to the right.
  258.  
  259. LINE SPACING (^OS) -  The ^OS command toggles between single and double line 
  260.     spacing.  In double space mode, the following functions generate double 
  261.     carriage returns:  CR, ^N, Wordwrap, ^B.  You can easily mix single and 
  262.     double spacing; the Reform function ^B can convert between the two.
  263.  
  264. MARGINS, CENTER, FLUSH (^OR,L,X, ^OC,F) - ^OR sets the RIGHT margin, and 
  265.     turns ON wordwrap, formatting, and centering.  The default is column 1, 
  266.     which turns OFF all formatting functions.  At the prompt "Column:" enter 
  267.     the column number (1-255), or just hit RETURN for the current cursor 
  268.     column.  If this value conflicts with the left margin, the left margin 
  269.     will be reset to 1.
  270.         ^OL sets the LEFT margin in an identical fashion.  Must be to left of 
  271.     the right margin, which must have been set first.  The default is 1.
  272.         ^OX temporarily RELEASES the margins (resets them to 1), allowing you 
  273.     to type outside them.  Use ^OX again to restore the margins.
  274.         ^OC CENTERS a line with respect to the current margins, if set.
  275.         ^OF FLUSHES a line right, if the right margin is set.
  276.  
  277. MISCELLANY (^^,^W,ESC-I) -  Just to explain a few miscellaneous functions:
  278.         ^^ (ctl-caret) changes the case of the character at the cursor, if it 
  279.     was a letter, and moves to the next.  Useful for capitalizing a string of 
  280.     lowercase text, or vice versa.
  281.         ^W waits for a brief time (about two seconds, if clock speed is set 
  282.     properly).  Most useful in a Macro when you want to stop and see something 
  283.     for a moment.
  284.         ESC-I displays an information message with the current file length and 
  285.     memory usage, in bytes (1024 = 1K).  Note that when there is less than 256 
  286.     bytes free, response time can get very slow.
  287.  
  288. PAGINATION (^OP) -  The ^OP command toggles pagination.  When on, the page 
  289.     length determines the page and line shown in the header ("Pg xx Ln xx"), 
  290.     and all page functions in the Print routine (formfeeds, headers, start- 
  291.     stop print) are enabled.
  292.          When off, the header will say "Pg 0 Ln xxxx", showing you the 
  293.     absolute line number in the file.  Also, printing occurs with no page 
  294.     breaks or formfeeds.  (This can be useful for printing small things right 
  295.     after each other on the same sheet; or, in conjunction with the "*" 
  296.     option, can print out multiple copies of index cards, labels, etc.)
  297.          VDE never sends a formfeed before printing; align the paper first.
  298.          [You cannot toggle pagination on if the page length is 0.]
  299.  
  300. PLACE MARKERS (^PZ,^QP) -  You can set any number of temporary place markers 
  301.     in the text with ^PZ (they will appear as ^Z).  The ^QP command moves the 
  302.     cursor to the next place marker in the file, cycling back to the top of 
  303.     the file if needed.  (Place markers are NOT saved to disk.)
  304.  
  305. PRINTER CODES (^P) -  Control codes for special effects in printing can be 
  306.     entered in the text with the ^P prefix.  Thus pressing ^P^H (or ^PH) 
  307.     embeds a ^H, etc.  Several standard codes are:
  308.           ^H - backspace - overstrike previous character
  309.           ^I - hard (ASCII) tab - printers respond variously to this
  310.           ^L - formfeed  (Not recommended when pagination (^OP) is on)
  311.     (The Block marker, normally ^B, cannot be embedded; and ^Z is reserved for 
  312.     use as a place marker.)  Control codes display on screen as capital 
  313.     letters, highlighted if possible.  VDE assumes they are not characters, so 
  314.     they are not counted when reformatting text.
  315.          For greater convenience, you can also arrange to have a single ^P- 
  316.     code produce an entire string of bytes for commonly used effects.  VDE 
  317.     supports a subset of WordStar's printer installation, seven definable 
  318.     codes: four toggles, four switches.  The Printer Installation in VINSTALL 
  319.     allows you to choose what codes you want to use, and install the actual 
  320.     control sequences your printer needs.  The defaults are:
  321.              toggles  ^D, ^S, ^Y, ^T      switches ^Q, ^W, ^E, ^R
  322.     (In WordStar these toggles are Doublestrike, Underline, Ribbon, and Super- 
  323.     script, but you can make them anything you like.)  "Toggles" are good for 
  324.     features like underline that are turned on and off.  "Switches" are better 
  325.     for varying parameters like character pitch.
  326.          Example: your printer uses ESC-U-1 (and 0) to turn underlining on 
  327.     (and off).  The crude way to do this would be:
  328.                    ^P-ESC,U,1,underlined text,^P-ESC,U,0
  329.     The sophisticated way would be to use VINSTALL to define those strings as 
  330.     the ^S toggle, so that all you'd need would be:
  331.                    ^PS,underlined text,^PS
  332.  
  333. PRINTING (ESC-P) -  The ESC-P command Prints the file from memory.  You will 
  334.     be asked for a set of "Options:", at which point you may enter one or more 
  335.     of the following, in any order:
  336.        P      PAUSES for your keystroke before each page (sheet feed).
  337.        B      prints only the currently marked BLOCK.
  338.        ^      FILTERS control characters ^X to text "^X".
  339.        *nn    prints the job out nn TIMES (nn=1..255).
  340.        @nn    begins printing AT page nn.
  341.        #nn    prints only (up to) a TOTAL of nn pages.
  342.        "..."  uses the quoted string as a HEADER.  The string, followed 
  343.     immediately by the page number, will print at the top right of each page 
  344.     near the margin.  (Maximum length is 50 characters; use an empty string, 
  345.     "", to get numbered pages with no header text.)
  346.          The last three options (@,#,"") are NOT allowed if pagination is off 
  347.     (^OP), or if "B"lock print was chosen.
  348.           Example 1:      Options:  @6#1*2"Instructions, page"P
  349.     will print out page six of the file twice, with the header shown, pausing 
  350.     before each page until you press a key (other than ESC).
  351.           Example 2:      Options:  B^
  352.     will print out the current marked Block, with control filtering.
  353.          You can abort printing at any time with ESC (this may take a moment, 
  354.     or a few keystrokes, depending on your BIOS).
  355.  
  356. RULER LINE (^OT) -  To help you align text properly, ^OT displays a "ruler 
  357.     line" below the header.  Type ^OT again to remove it.
  358.          In each column you will see one of several symbols: "[]" designate 
  359.     the current margins; "." indicates areas outside the current margins, "-" 
  360.     within them.  Also, tab stops are marked by either "T" (Variable) or "I" 
  361.     (Hard).  Examples:
  362.         ("A" mode)      [-----T-----T-----------T--------------]........
  363.         ("N" mode)      I.......I.......I.......I.......I.......I.......
  364.  
  365. TABS (^I, ^OV,^O+,^O-) -  There are two Tab modes, Variable and Hard; the ^OV 
  366.     command toggles between them.  In Hard Tab mode the Tab key produces an 
  367.     actual ^I (ASCII TAB); whether this overwrites any existing text depends 
  368.     on the INSERT toggle.  Hard Tabs display by default at fixed intervals of 
  369.     8 screen columns.  [This is reconfigurable to 2, 4, 16, etc.]
  370.          In Variable Tab mode, the Tab key moves the cursor to the next 
  371.     variable tab stop.  Existing text is not overwritten; spaces are added at 
  372.     the end of a line as needed.  Up to eight tab stops may be set with ^O+ 
  373.     and cleared with ^O-; the defaults are in columns 5, 15, 35, and 55.  
  374.     [These are reconfigurable.]  You can always get a Hard Tab by typing ^PI.
  375.  
  376. UNDELETE (^U, ^QU) -  The undelete functions can be used (repeatedly if 
  377.     necessary) to recover a reasonable amount of text deleted either by 
  378.     overtyping, or with any of VDE's delete commands, IF the cursor has not 
  379.     yet been moved away.  ^U undeletes one character; ^QU does a whole line.
  380.          Restrictions: undelete only works with ESC-D if the cursor was 
  381.     adjacent to the block deleted; and it may work imperfectly if DEL has been 
  382.     used several times in sequence.
  383.          Further use after all deleted text is recovered will produce junk 
  384.     (usually duplicates of text above the cursor, which is sometimes useful).
  385.  
  386. WINDOW, ZAP (^OW, ^OZ) -  The ^OW command creates a Window in the bottom half 
  387.     of the screen, which retains a copy of the file text starting at the 
  388.     current line.  Editing continues normally in the top half of the screen.  
  389.     This is useful for comparing different sections of text within a file, or 
  390.     even between different files.  Typing ^OW again removes the Window. 
  391.     (Note: Windowing is only supported for screens of 15 or more lines.)
  392.          The ^OZ command temporarily zaps (blanks) the entire screen; good for 
  393.     avoiding CRT burn-in, or just protecting work from prying eyes or fingers. 
  394.     Restore the screen by pressing ESC.  (Note: if Windowing was in effect, 
  395.     any text in the window will be lost.)
  396.  
  397. WORDWRAP, REFORMAT (^B, ^OD) -  WORDWRAP is automatic whenever the right 
  398.     margin is set.  Any text entered will be formatted while you type, to the 
  399.     current margin settings.
  400.          ^B REFORMATS from the line the cursor is on, to the end of the para- 
  401.     graph, according to the current margin settings and line spacing.  (Thus 
  402.     ^B is used not only to reshape a paragraph after editing, but also to 
  403.     change its margins and line spacing.)
  404.          The end of a paragraph is marked by a "HARD CR", which occurs when 
  405.     you press the RETURN key.  (This is a CR immediately following a character 
  406.     of text.)  In contrast, when wordwrap occurs you get a "SOFT CR" (which is 
  407.     actually a CR with a space before it).  You can change a hard CR into a 
  408.     soft one, or vice versa, by deleting or adding a space at the end of the 
  409.     line.  Hitting RETURN also hardens a soft CR.  The distinction between 
  410.     hard and soft CRs is only important when using ^B to reformat.
  411.          ^OD toggles DISPLAY OF HARD CRs.  Hard CRs, otherwise invisible, can 
  412.     be caused to display as a "<" character.  This can be useful; some may 
  413.     find it distracting, so it turns off.
  414.  
  415.  
  416. ==================================  MACROS  ==================================
  417.  
  418. MACRO (ESC-M) -  A "macro" is a string of VDE commands and text that, once 
  419.     defined, can be repeated automatically.  When you type ESC-M you will be 
  420.     asked for the string, then a "Repeat count".  Usually you will simply type 
  421.     a number for the repeat count (0-9, or "*" for "global" -- actually 255 
  422.     times).  You will see the results as the macro executes, and you can abort 
  423.     it at any time by pressing ESC.
  424.          (If you are sure you know what you're doing, you can speed up Macro 
  425.     execution by specifying "Quiet" mode: press "Q" before the repeat count.  
  426.     Only the header will be updated as the Macro runs.)
  427.          Macros also stop any time an error occurs; the error message will be 
  428.     visible, and can be cleared by pressing ESC.  Many commands (like Find or 
  429.     Reformat) are designed to generate errors at the end of the file so that a 
  430.     global ("*") Macro containing them will halt there.  Other global Macros 
  431.     may need to be aborted manually.
  432.          VDE turns INSERT OFF before running a macro, so that the same 
  433.     sequence will always have the same effect.
  434.          In order to include any input line editing characters (BS, CR etc) in 
  435.     a macro, you must prefix them with ^P.  (NOTE:  To make them easier to 
  436.     read and understand, Macro listings will be given here as they function, 
  437.     not as they are typed in.  ^P prefixes as needed are NOT shown.  Key- 
  438.     strokes are separated by dashes or commas for clarity, and "_" means a 
  439.     space or blank.)
  440.          Here is an example of a macro.  Can you figure out what it does?  
  441.     (Answer:  .elif eht fo dne eht ta meht fo tsil a gnikam elif a fo tuo 
  442.     sesehtnerap ni stnemmoc lla ekat lliw tI)
  443.            ^QR,^QF,(,CR,^G,ESC-B,^QF,),CR,^G,ESC-T,^QC,CR,ESC-C,ESC-D
  444.                Onscreen you will see: QRQF(MG[BQF)MG[TQCM[C[D
  445.          VDE Macros are very powerful tools, particularly given their program 
  446.     ability and storage on function keys.
  447.  
  448. MACRO KEY (ESC-K) -  Up to 10 Macros can be stored (0..9), by entering them 
  449.     with the ESC-M command, then using ESC-K to save them.  They can then be 
  450.     recalled and used simply by typing ESC-<#>.  Example: typing ESC-K-0 will 
  451.     store the last Macro used as Key 0, and it can be recalled and reused at 
  452.     any future time simply by typing ESC-0.
  453.          Ordinarily, Keys operate just like the original Macro:  they will ask 
  454.     for "Repeat count" when executed.  If you want to suppress this (giving 
  455.     something more like a "function key", that only executes once) you can 
  456.     type "N" (for No repeat) before storing the key number.  Example:  ESC-K-N- 
  457.     0 stores a Macro in Key 0 as a once-only function key.  Similarly you can 
  458.     make it a QUIET once-only key with "Q" instead: eg ESC-K-Q-0.
  459.          If the Macro (ESC-M) string is empty, using ESC-K will delete a Key 
  460.     definition.  Using a defined Key brings its string into the Macro buffer.  
  461.     Trying to use an undefined Key results in an error.
  462.          There are 500 bytes total available for all 10 keys, and a 128 byte 
  463.     limit for any one Key.  (VDE's own input line will only accept 65 bytes, 
  464.     but VINSTALL can handle up to the full 128.)
  465.          Besides simply storing Macros, here are some useful function Keys:
  466.        1.  Storing different sets of margins (eg for quotes): for example,
  467.                              ^OL,12,CR,^OR,66,CR
  468.        2.  Typing any frequently repeated phrase; "ESC-6" is much more 
  469.     convenient than "World Wide Widgets Inc. (N.A.)".
  470.           [VINSTALL allows you to install a default set of macro Keys.  Thus 
  471.     VDE can be customized for any task, such as the formatting requirements 
  472.     of specialized writing or programming languages.]
  473.  
  474. MACRO PROGRAMMING (ESC-0..9, ESC-!,=,~,#) -  VDE has several commands which 
  475.     function only in a Macro string, and give you control over the execution 
  476.     of a macro, allowing real programming.
  477.          ESC-0..9, when in a Macro, function as "labels" 0..9.  They have no 
  478.     effect, but can be "jumped" to by other commands.
  479.          ESC-! followed by 0..9 is a simple "jump" instruction, causing macro 
  480.     execution to resume with the command following the label ESC-0..9.  As two 
  481.     epecial cases, ESC-![ jumps to the beginning of the Macro, and ESC-!] 
  482.     jumps to the end (aborts).
  483.          ESC-= and ESC-~, followed by a character and then a label 0..9 (or 
  484.     "[","]"), are conditional jumps: they jump to that label IF the character 
  485.     at the cursor position does (or for "~", doesn't) match that specified.
  486.          ESC-= and ESC-~, followed by a character and then ">" or "<", are 
  487.     search loops.  They will continue to move the cursor right (or for "<", 
  488.     left) as long as the character at the cursor does (or for "~", doesn't) 
  489.     match, or until the beginning or end of the file.
  490.          ESC-#, followed by 0..9, is used to "chain" to another macro key.  In 
  491.     this way you can build up strings longer than the 65/128-byte limit on any 
  492.     one key.  It does not "call" the key; there is no returning.
  493.          Macro programs are stored just like any other macro string (usually 
  494.     with "N"o repeat count).  If you program in an endless loop, you will at 
  495.     some point have to abort with ESC.  Don't make macro programs "Q"uiet 
  496.     until you're sure they work.
  497.          Example: you can find the start of the next sentence with the macro:
  498.                             ESC~.>,^D,ESC=_>
  499.  
  500.  
  501. ===========================  GENERAL INFORMATION  ============================
  502.  
  503. DISK SPACE -  VDE isn't disk-bound; if you run out of disk space, just insert 
  504.     another disk (always keep a blank FORMATTED disk around).  Alternatively, 
  505.     you can use the ESC-F and ESC-E commands to purge unneeded files.  [If 
  506.     you have small disks, you can also install VDE not to preserve BAK files.]
  507.          Let VDE's filesize limits encourage you to break work up into files 
  508.     of 50K or less; larger files make inefficient use of floppy disks.
  509.  
  510. FILE MODES -  In "A" or "N" mode, VDE reads and writes text as standard ASCII 
  511.     7-bit characters, a format accepted by virtually all software (including 
  512.     WordStar's Non-Document mode).  In "W" mode, VDE reads and writes WordStar 
  513.     Document files.  A WordStar Document file can be read into VDE perfectly, 
  514.     except that any right justification will be lost.  A VDE "W" file can be 
  515.     read into WordStar as a Document file nearly perfectly; you can easily 
  516.     touch up the occasional glitch.
  517.          The "N" and "A" modes both produce ASCII files, and differ only in 
  518.     the default options (margins etc) set up when a new file is loaded.  
  519.     Typically "A" is for word processing and "N" is for programs, etc.
  520.          DEFAULTS FOR:       File I/O   Margins      Tabs    Hard CR disp.
  521.        "W"ordstar document   WORDSTAR    ACTIVE    VARIABLE      ON
  522.        "A"SCII document       ASCII      ACTIVE    VARIABLE      ON
  523.        "N"on-document         ASCII     DISABLED     HARD        OFF
  524.          The file mode option can be specified along with the filename at any 
  525.     VDE file function prompt, allowing you to mix WordStar and ASCII disk 
  526.     files as needed.  You can also change the current mode with the ESC-N 
  527.     function by entering a new mode (eg, "[W") with or without a filename.
  528.          NOTE ON ASCII FILES - The "A"SCII-document file format used since VDE 
  529.     2.50, to allow accurate formatting and WordStar compatibility, distin- 
  530.     guishes between HARD and SOFT CRs (see WORDWRAP).  Consequently, if you 
  531.     edit an ASCII file created by other software (including earlier versions 
  532.     of VDE), it may appear to be full of hard CRs, making text impossible to 
  533.     reformat.  There are two easy ways to solve this problem: first, you can 
  534.     use ^QA to find "^M"s and selectively replace them with " ^M".  Alterna- 
  535.     tively, the following Macro (best stored as a Quiet macro Key) does a good 
  536.     job of "softening up" a paragraph:
  537.                ^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![
  538.  
  539. HYPHENATION -  VDE can't hyphenate, but it does recognize hyphens in the text, 
  540.     treating them as a legitimate place to break a line.  (So if you're typing 
  541.     a long word close to the margin, you can type a hyphen where you'd like 
  542.     the word to be broken.)  If VDE is trying to reformat and finds a hyphen 
  543.     at the end of a line, it will quit with an error.  You must join the lines 
  544.     (and delete the hyphen, if desired) manually, then press ^B again.
  545.  
  546. INSTALLATION -  VDE can be "installed" for different terminals, printers, etc 
  547.     (as well as various user preferences) using the VINSTALL program.  See 
  548.     VINSTALL.DOC for further details.
  549.  
  550. INTERRUPTION -  If VDE gets interrupted by a message from some other software 
  551.     (BIOS error, resident utilities, etc), it may lose control of the screen.  
  552.     The best way to restore it to normal is by blanking and restoring the 
  553.     screen (^OZ,ESC).
  554.  
  555. KEYBOARD BUFFER -  VDE 2.6 has faster scrolling; also, it now buffers its own 
  556.     keyboard input.  This means that characters typed will no longer be lost 
  557.     even on terminals with very slow displays.  If you lean on one key for 
  558.     some time you may manage to fill the buffer, and keys may be lost.
  559.  
  560. STRING INPUT -  When confronted with a prompt like "Find:", you are expected 
  561.     to type in a string (up to 65 characters).  During this process, you can 
  562.     correct mistakes with DEL, BS, or any left arrow, or ^X will delete the 
  563.     whole entry; hit CR when finished.  You can also abort the entire current 
  564.     operation with ^U.  Note that to get any of these codes into the string 
  565.     itself, you must precede it with ^P (this includes ^P).
  566.          Examples: to find a line beginning with a "*" (find "CR,*") type
  567.                      ^QF,^P-CR,*,CR.
  568.     Now to get this into a Macro with ESC-M, you would have to type (whew)
  569.                      ESC-M,^QF,^PP,^P-CR,*,^P-CR,CR.
  570.  
  571. WORDSTAR COMPATIBILITY -  The few differences between the VDE and WordStar 
  572.     command sets are often due to the fact that VDE reserves ^J,^K,^L as the 
  573.     standard CP/M arrow keys.  Except the ^K-prefix, most are minor:
  574.           COMMON FUNCTION       WS      VDE      NOTES
  575.           -----------------    ----     ---      -------------------------
  576.           Rept Find/Replace     ^L      ^Z
  577.           Partial Scroll Up     ^W      ESC<up>  Several lines at once.
  578.             "      "   Down     ^Z      ESC<dn>
  579.           Block End             ^KK     ESC-T
  580.           Delete Block          ^KY     ESC-D
  581.           Move Block            ^KV     ---      Must Copy then Delete.
  582.           Hide Block            ^KH     ESC-U    Actually unmarks block.
  583.           Erase Disk File       ^KJ     ESC-E
  584.           Set Place Mark       ^K0..9   ^PZ      Not individually numbered.
  585.           Go To Place Mark     ^Q0..9   ^QP      Cyclic.
  586.           VariTab Set,Clear   ^OI,^ON   ^O+,^O-
  587.     Note that VDE does not recognize WordStar "dot commands" in text.
  588.  
  589.  
  590. =================================  MESSAGES  =================================
  591.  
  592. PROMPTS requiring user input:
  593.       "Abandon edit?" - confirm ("Y/N") a Quit request.
  594.                "Chg?" - decide ("Y/N/*") whether to change string (ESC quits).
  595.                 "Rdy" - press any key to print next page (ESC quits).
  596.       "Repeat count:" - enter (optional "Q" and) repeat count for Macro.
  597.         "Key number:" - enter (optional "N/Q" and) key number for Key.
  598.     All other prompts - enter argument(s) for the command (see STRING INPUT).
  599.  
  600. INFORMATIONAL messages:
  601.          "I/O Working" - disk I/O or printing in progress.
  602.  
  603. ERROR messages: press ESC to continue.  "Error" alone means the command used 
  604.     just won't work in this situation.  (Example: a block command was used 
  605.     with no block marked.)  More specific errors are:
  606.         "Memory" - the file, block, or key string won't fit in RAM.
  607.            "Key" - an illegal command key sequence was pressed.
  608.            "I/O" - file not found, disk full, empty/invalid drive, etc.
  609.       "Reformat" - hyphen at end of line; or word too long.
  610.           "Find" - the search string was not found.
  611.         "Syntax" - a macro programming command was misused.
  612.  
  613.  
  614. =================================  HISTORY  ==================================
  615.  
  616. 1984:  VDE began as my set of improvements on the tiny (4k) VDO memory-mapped 
  617.     editor by Fritz Schneider (1982), as adapted by George Peace (1984) for 
  618.     the Osborne Executive.  (There are other descendents of VDO, including 
  619.     James Whorton's VDO25, with rather different features.)
  620. 1985:  The first terminal adaptation, VDE-PX for the Epson PX-8.  Ongoing 
  621.     improvements also in parallel Osborne versions VDE-OS.
  622. 1986:  The unified VDE/M version 2.00, with its generic terminal installation. 
  623.     By version 2.32, improvements had included: macros; directory; undelete; 
  624.     left margin; word functions; global replace; tighter compression; many 
  625.     useful printing options; more versatile installation with VINSTALL.
  626. 1987:  Recent revisions, besides small fixes, add the following:
  627.      2.4 (1/87) - Improved scrolling and screen functions; more screen 
  628.                  sizes supported; WordStar file mode; place markers; ^OZ; 
  629.                  block print; larger macro keys; VINSTALL terminal menu.
  630.      2.5 (3/87) - User area support; variable tabs; double spacing; search 
  631.                  wildcards; more standard block functions; improved format- 
  632.                  ting; many additions to VINSTALL.
  633.      2.6 (7/87) - Improved header; ruler; memory use message; blank filename 
  634.                  allowed; ^U input abort; ^O<u>; case insensitive searches; 
  635.                  more free RAM; wider variety of terminals; faster scrolling; 
  636.                  keyboard buffer; improvements to VINSTALL.
  637.  
  638.      ****************************************************************
  639.      *****      The VDE editor and its documentation are        *****
  640.      *****       (c)1987 E. Meyer, all rights reserved.         *****
  641.      ***** This program may be freely distributed, but not sold *****
  642.      ***** for profit without written permission of the author. *****
  643.      ****************************************************************
  644.  
  645.      Please do not circulate VDE in any incomplete or modified form, or 
  646. without the above copyright notice.  You may include additions of your own 
  647. (*.VFK files, HEX overlays, special documentation) if you wish.
  648.      Thanks to the many users of VDE whose feedback has led to improvements 
  649. and bug fixes in the past.  Answers to common questions:
  650.          (1) Source code to VDE 2.xx is not available at this time.
  651.          (2) An MSDOS version of VDE may be available later in 1987.
  652.      Direct problem reports and suggestions to me at the address below; 
  653. include a stamped return envelope for a reply if desired.
  654.  
  655.               Eric Meyer
  656.               427 N. Washington
  657.               Bloomington, IN 47401      CompuServe [74415,1305]
  658.  
  659. ==============================================================================
  660.