VDE266.DOC ---------- Instructions for Video Display Editor: VDE, VDE-M 2.66 (06/88) CP/M Version (c)1988, E. Meyer ============================================================================== VDE is a small, fast, powerful text editor offering: --- * full-screen editing * block operations * user area support * wordwrap and reformat * macro programs * disk file operations * margins, tabs, spacing * find and replace * WordStar compatibility * many print features * undeletion * configurable options VDE is versatile: its pure ASCII mode and definable macros make it an ideal programmer's editor; its full formatting and printing features also make it an efficient word processor. VDE is fast: it is written in Z80 assembler; it has no disk overlays; on computers that support this, it writes directly to video RAM; it edits entirely in memory. Speed is a factor that more cumbersome ("full-featured?") programs overlook. FInding a string near the end of a 50K file takes WordStar 3.3 about 14 seconds [8MHz Z80]; VDE does it in under a second. This is like moving through air instead of molasses: you will find that you can do more of your work on screen, and less on paper. VDE is designed for Z80 CP/M 2.2 and 3.0 systems; it should also work with full equivalents (eg HD64180 CPU, ZRDOS) but unfortunately not on 8080/85 systems. It is ideal for portable computers with limited disk space, and has many user configurable options. The generic version can be installed for any terminal; there is also a memory-mapped version VDE-M, which offers faster screen display if your hardware supports it. [See VINSTALL.DOC for details. Comments below in brackets "[]" point out various uses of VINSTALL.] The CP/M version of VDE is free for all to use, though I do not refuse contributions. It continues to be refined, despite the fact that available memory severely limits new features. There is also now an MSDOS version, with advanced features like dual-file editing. Primary distribution points for VDE, as of January 1988, are: (1) Glendale Littera QBBS (818)956-6164 (CP/M and MSDOS) (2) Compuserve SIGs CPMSIG (CP/M) and IBMSW (MSDOS). The most recent release can always be found on these systems. NOTE: The present version 2.66 of CP/M VDE is expected to be the LAST. The MSDOS version of VDE (currently 1.21) will continue to develop. See VDE266.UPD for further details. ================================ CONTENTS ================================== 1. INTRODUCTION: Must I read the whole manual?; Installation; Command line syntax, examples; The VDE command set. 2. COMMAND SUMMARY: a complete brief listing of all commands: Ctrl, ESC, ^K (Block), ^Q (Quick), ^O (Onscreen). 3. COMMAND DESCRIPTIONS, alphabetically by category: Auto indent mode, Block commands, Cursor movement, Deleting, Disk operations, File commands, Find/replace, Header, Information, Insert mode, Line spacing, Margins, Pagination, Place markers, Printer codes, Printing, Ruler line, Tabs, Undelete, Upper/lowercase, Window/screen, Wordwrap/reformat. 4. MACRO KEYS: Explanation, with examples: Macros, Macro keys, Macro programming. 5. GENERAL INFORMATION, alphabetically by category: Disk space, Error messages, File modes, Hyphenation, Memory, Prompts, Wordstar compatibility. 6. VDE development history. ============================= 1. INTRODUCTION ============================== MUST I READ THE WHOLE MANUAL? At first, no... eventually, yes. If you want to get a quick start, and are already familiar with the WordStar command set, you should be able to wade right in and edit files with VDE. But at some point you should read the whole manual through, to make sure you're not missing anything. (Many things are explained only once.) HINT: if you're stuck, try editing VDE.DOC, and use the ^QF (Find) command to look for phrases that might be helpful. For example, if you have a problem with margins, try... Find string: /i/margin TO INSTALL VDE, use the VINSTALL configuration program; see the accompanying file VINST.DOC. Most of the installation consists of options; you will discover how you want everything set in the course of using VDE, so don't worry about going through all of it at first. The one important thing is the computer installation: VDE comes pre-installed for a "generic terminal". You will need to re-install it for your particular computer. TO RUN VDE, you can just type "VDE"; or, you may specify a filename, which can include a CP/M drive/user, and/or be followed by a mode option. SYNTAX: A>vde {du:}{filename} {[m} "{}" = optional EXAMPLES: A>vde A>vde my.doc [w A>vde b11:prog.asm n "filename" - file to edit. Drive and/or user may be specified. If no name is given, you begin an (as yet) unnamed new file. "[m" or " m" - choice of file modes: "m" can be "W"ordstar document, "A"SCII document, or "N"ondocument. Normally defaults to "A". Must be separated from filename by a space and/or a "[". VDE can edit different types of files (see FILE MODES): nondocuments, such as program source code, or documents with formatted text. Further, for documents you can choose either pure ASCII or WordStar compatible format. If an existing file is too large to edit with VDE, you will need to break it up and edit the pieces separately. (The file size limit is typically about 55K, depending on your TPA size.) VDE gives you a certain amount of information at the top of the screen (for details see HEADER, RULER). All command prompts and messages appear temporarily in the top portion of the screen; press ESC or Space to remove them. There are help menus available if you press ^J (ESC-H). [These can be disabled to gain more memory; keep the quick reference file VDE.QRF handy if you need it.] The VDE command set uses simple one- or two-key combinations, easily found by the touch typist without distraction. Most commands are the same as in WordStar, the single most widely used word processor; if you have questions that this file can't answer, a WordStar manual may be a useful reference. But VDE is its own program, not a WordStar "clone"; there are significant differences, including an extended set of ESC-commands for functions such as macros. (Yes, VDE had macros long before WordStar 4's Shorthand.) Virtually complete compatibility with the WordStar command (sub)set can be achieved UNLESS the keys ^J,^K,^L are used as arrow keys (as on many CP/M computers). In this event VDE synonyms must be used: ESC- for the ^K- prefix; ESC-H for ^J; and ^\ for ^L. [See VINSTALL.DOC for terminal installation.] =========================== 2. COMMAND SUMMARY ============================= Notes: The "^" character indicates use of the Ctrl key: ^K = Ctrl+K. The ESC- (^K-), ^O-, and ^Q- prefixes require pressing two keys in sequence: ^OC, for instance means press ^O, then C (or ^C). Any prefix may be canceled by typing ESC or Space. I. CONTROL KEYS: single keystroke commands. ^J (ESC-H) = display Help menus. CR = Carriage return (^M). Marks a paragraph end. BS = Backspace (^H). TAB = Hard Tab mode: Tab (^I). Variable Tab mode: move to next stop. Arrow keys: WordStar: ^E up, ^X down, ^S left, ^D right. Alternate: configurable, default ^K,^J,^H,^L. ^F = move to start of next word right. ^A = move to start of next word left. ^R = scroll back one screen. ^C = scroll forward one screen. ^W = scroll back one line. ^Z = scroll forward one line. ^G = delete character to the right of the cursor. DEL = delete character to the left. [Configurable alternate.] ^U = undelete a character. ^T = delete word to right of cursor. ^Y = delete current line. ^N = insert a carriage return (break line) at present position. ^V = toggle INSERT mode on and off. ^^ = toggle case (upper/lower) of character at cursor. ^P = insert following control code in text. ^B = reformat current paragraph. ^L (^\) = repeat find/replace (Repeats last ^QF or ^QA command.) II. FILE AND BLOCK COMMANDS: first hit ^K (or ESC), then the key shown. ^K I = display file/memory Information message. ^K F = List files in disk directory. ^K E = Erase a disk file. ^K L = Load a brand new file to begin editing. ^K N = change the current file Name (affects Save, eXit). ^K S = Save the current file to disk, and continue editing. ^K D = Done. Save the file, then load a new one. ^K X = eXit: Save the file, then Quit to CP/M. ^K Q = Quit to CP/M, abandoning current file. ^K R = Read a disk file into text at cursor position. ^K P = Print the text (whole file or block). ^K B = mark the start of a Block. ^K K = mark the end of a block. ^K U = Unmark the block. ^K Y = Delete the marked block. ^K C = Copy the block text at present cursor position. ^K V = moVe the block text to the present cursor position. ^K W = Write the marked block to a disk file. III. VDE/MACRO COMMANDS: first hit ESC, then the key shown. ESC Arrows: Left/Right (including ^S/D) = shift screen horizontally by 32 columns. Up/Down (including ^E/X) = shift screen vertically by 1/4 screen. ESC TAB = move back to last tab stop. ESC M = execute a Macro string of commands. ESC # = store macro on numeric key for later recall. ESC 0..9 = use stored key. (In macro mode: jump label.) ESC !,=,~,+ = used in Macro programming (see below). ESC ; = brief pause, during Macro execution only. IV. QUICK COMMANDS: first hit ^Q, then the key shown. ^Q Arrows: Left/Right (including ^S/D) = go to start or end of line. Up/Down (including ^E/X) = go to top or bottom of screen. ^Q R = move to top of file. ^Q C = move to end of file. ^Q I = move to specified page or line number. ^Q B = move to block marker. ^Q P = move to next place marker. ^Q F = find next occurrence of a string. ^Q A = find and replace a string. ^Q Y = delete from cursor to end of current line. ^Q DEL = delete from cursor to beginning of current line. ^Q T = delete until specified character. ^Q U = undelete a line. V. ONSCREEN COMMANDS: first hit ^O, then the key shown. ^O Arrow: Up (including ^E) = make current line top of screen. ^O R = set right margin (column 1 turns off wordwrap/formatting). ^O L = set left margin. ^O X = toggle Margin Release on/off. ^O C = center current line. ^O F = align current line flush with the right margin. ^O Q = toggle header on/off. ^O T = toggle ruler line on/off. ^O D = toggle display of hard CRs on/off. ^O A = toggle Auto Indent on/off. ^O S = toggle Double Spacing on/off. ^O H = toggle hyphenation on/off. ^O V = toggle tab mode Hard/Variable. ^O I = set variable tab stop. ^O N = clear variable tab stop. ^O P = set page length (0 turns off pagination). ^O W = toggle windowing on/off (see below). ^O Z = temporarily blank the entire screen. ========================= 3. COMMAND DESCRIPTIONS ========================== AUTO INDENT MODE (^OA) - This feature is most useful for typing outlines, structured program source code, and other text where the "left margin" varies. When in Auto Indent mode, the RETURN key acts differently: If you are entering new text, it will be indented to match the previous line. Thus, whenever you change indentation, the new level is maintained automatically. If you are just moving through the file, the cursor advances past any existing indentation. BLOCK COMMANDS (^KB,K,U,Y,C,V,W,PB, ^QB) - A Block of text is delimited by two markers [normally ^B] which remain in memory until reset or deleted. ^KB marks the beginning of the block; ^KK marks the end. Markers are inserted in the text. The two markers are identical; the first one present is the start(!). ^KU unmarks the block, removing any marker(s) set. (Block markers can also be deleted individually like ordinary characters.) Markers are automatically removed as appropriate when ^KB/K are used again. The Block operation commands all require a Block to be marked: ^KY deletes the block (including markers). ^KV moves the Block text to the present cursor location, deleting the original; ^KC simply copies it, leaving the original. Neither block nor place markers are transferred. (If there isn't enough memory, write the block to a file, delete it, and read it back in: ^KW,^KY,^KR.) ^KW writes the block text to a disk file; you will be asked for the filename (and optional mode). ^KPB (^KP with B option) prints the block text only. The ^QB command, from wherever you are in the file, moves the cursor to the Block start. CURSOR MOVEMENT (Arrow keys, ^F,^A, ^QR,C,I) - VDE supports three sets of Arrow keys, which function interchangeably. The two built-in sets support the WordStar "arrow key diamond" ^E,^X,^D,^S, and the ANSI standard 3-byte sequences (ESC-[-A etc). The third set is user configurable, set by default to the CP/M standard ^K,^J,^L,^H. These keys move the cursor up, down, right, and left respectively. Preceded by ^Q-, any arrow key (except ANSI) moves more quickly: to the top or bottom of the screen, to the left or right end of the line. There are also two word movement commands: ^F moves right, to the start of the next word; ^A moves left, to the start of the last (or current) word. Both have a maximum movement of 255 characters. For quickly covering large distances, the commands ^QR and ^QC go all the way to the beginning and end of the file, respectively; ^QI goes to any specified page (or line, in non-documents). DELETING (^G,DEL, ^T, ^Y,^QY,^Q-DEL,^QT) - You can delete text one CHARACTER at a time: ^G deletes to the right of the cursor, and DEL to the left. [If you have no DEL key, you can install another equivalent.] Note that the ordinary BS (^H) does not normally delete. ^T deletes an entire WORD to the right (up to 255 characters). ^Y deletes the entire current LINE. ^QY deletes only the part of the line to the right of the cursor; ^Q-DEL deletes the part to the left. ^QT deletes UP TO a specified character. Example: "^QT." deletes to the end of the sentence. Special case: "^QT-CR" deletes to the next HARD CR, the end of the paragraph. Accidentally deleted text can usually be recovered (see UNDELETE). DISK OPERATIONS (^K-R,F,E) - ^KR READS in the contents of a disk file, inserting the text after the current cursor position. You will be asked for the name (and, optionally, mode) of the file. ^KF lists disk FILES: you may specify a drive and/or user, and the files will be listed. (The default is the directory specified with the current file.) If there is not enough room to fit all the files on the screen, you will see "..." at the end to indicate that there were still more. Press ESC or Space to continue. ^KE will ERASE a single disk file, if you need more room on the disk. (No wildcards allowed.) FILE COMMANDS (^K-N,S,X,D,Q,L) - ^KN NAMES your work. This allows you to change the filename in the header before saving. (Accepts mode option; you can also specify a mode alone, eg "/W", to change the current mode.) ^KS SAVES your work: what's in memory is written to disk under the file name in the header. (You must have a file name; one will be requested if necessary.) If that file already existed, a backup (BAK) file may be preserved. If the file has not been modified, you will be prompted to confirm that you want to resave it anyway. There are several different commands for finishing up: ^KX saves your work and then EXITS to DOS. ^KQ just QUITS. If the file has been modified, you will be prompted to confirm that you want to abandon the changes. ^KD (DONE) saves your work, then loads a new file to edit. ^KL quits the current file and LOADS a new one to begin editing. FIND, REPLACE (^Q-F,A, ^L,^\) - ^QF is the command to FIND a string. The search normally proceeds from the cursor position forward, and is case (upper/lower) sensitive. There are two options: "B" = search backwards; "I" = ignore case If used, the options must be enclosed in slashes (eg, "/bi/") before the search string. (If you want to search for a string beginning with a slash, use an (empty) option first.) In addition, a "_" [this can be reconfigured] functions as a wildcard: it will match any single character. Control codes, like ^M for newline, can be included (with the ^P prefix where needed). Examples: Find: ^MLABEL matches "LABEL" at start of line only; Find: 4__01 matches "42201", "47401", etc; Find: /i/wordstar matches "WORDSTAR", "WordStar" etc; Find: ///88 matches "/88"; Find: /ib/esc looks backwards for "Esc", "esc", etc. ^QA is the FIND/REPLACE command. It asks for a string to find, and what to change it to. (All options above apply to the search string only.) The cursor will be placed in succession on each occurrence of the string, starting at the cursor location [or, optionally, at the top of the file]. (You will see the prompt "Chg?" in the header.) To change it, press "Y"; anything else skips to the next. To change all further occurrences without being asked, press "*". ESC cancels at any time. (Note: if ^QA is used in a Macro, it will automatically assume "*" with no further input required.) ^L (or ^\, if ^L is an arrow key) repeats the last ^QF or ^QA command. For ^QA, you will be asked whether you want to replace the found string. For both, direction and case options remain unchanged. HEADER (^OQ) - VDE normally gives you a header, or status line, at the top of the screen. However, if you like you can turn the header display off with the ^OQ (Quiet) command. [The header may also be suppressed by default.] This lets you see more file text; it can also speed up operation on some slower terminals, as the position doesn't have to be continually updated. ------------------------------------------------------------------------ C0:VDE.DOC [A Pg 6 Ln 9 Cl 49 INS vt hy AI DS MR ^Q_ ------------------------------------------------------------------------ "C0:VDE.DOC [A" = Current filename and mode. "Pg 6, etc" = Current position in file by page, line, column. For "N"ondocuments, there is no page number display. If pagination (^OP) is off, you will see "Pg 0" (document) or "OP" (nondocument) here. "INS" = Insert mode on. (^V) "vt" = Variable tabs on. (^OV) "hy" = Hyphenation enabled. (^OH) Doesn't display in "N" mode. "AI" = Auto indent mode on. (^OA) "DS" = Double spacing. (^OS) "MR" = Margins released. (^OX) Doesn't display in "N" mode. "^Q_": Prefix keys (and some prompts) display here. INFORMATION (^KI) - ^KI displays an Information message with: * the VDE version and date; * whether (Y/N) the file has been changed since last saved; * the current size of the file in bytes; * the number of bytes of text memory used and free. (1024 bytes = 1K). You will note that the file uses about 20-25% less memory than its actual length; this is due to VDE's compression of text. (Note: VDE is limited to 16-bit arithmetic. In the unlikely event that file size should exceed 64K it will be shown mod 64K; just add 65536.) Block moves and copying are limited by the amount of free memory. Further, when there is less than 1K free, response time can get very slow. INSERT MODE (^V) - ^V toggles insertion on and off. If INSERT is OFF, any text to the right of the cursor is overwritten as you type. If INSERT is ON, what you type is inserted, and existing text moves to the right. LINE SPACING (^OS) - The ^OS command toggles between single and double line spacing. In double space mode, the following functions generate double carriage returns: CR (^M), Insert CR (^N), Reform (^B), Wordwrap. You can easily mix single and double spacing; the ^B command can convert between the two. Note: if you prefer to keep your actual file single spaced, you can still get a double-spaced printout by using the "D" option of the ^KP command (see PRINTING). MARGINS (^O-R,L,X,C,F) - ^OR sets the RIGHT margin, and enables wordwrap, reformatting, and centering. If set to column 1, all formatting functions are disabled (as they are in "N"ondocument mode). At the prompt "Column:" enter the column number (1-255), or just hit CR for the current cursor column. If the value entered conflicts with the current left margin, the left margin will be reset to 1. ^OL sets the LEFT margin in an identical fashion; of course, the value must always be less than the current right margin, meaning it's best to set the right margin first. ^OX temporarily RELEASES the margins (resets them to 1), allowing you to type outside them. Use ^OX again to restore the margins. ^OC CENTERS the current line with respect to the margins, if set. ^OF sets the current line FLUSH right, if the right margin is set. PAGINATION (^OP) - The ^OP command sets the page length. Enter a value from 0 to 255, or just hit CR to restore the default value. [Normally 56.] When the value is nonzero, it determines the page and line shown in the document header ("Pg xx Ln xx"), and all page functions in the Print routine (formfeeds, headers, start/stop print) are enabled. When the value is zero, pagination is off. The header will say "Pg 0 Ln xxxx", showing you the absolute line number in the file. Also, printing occurs with no page breaks or formfeeds. (This can be useful for printing small things right after each other on the same sheet; or, in conjunction with the "*" option, can print out multiple copies of index cards, labels, etc.) VDE never sends a formfeed before printing; begin your file with a ^PL if you need one. Otherwise, use of ^PL is not recommended in document files; it will render VDE's page count inaccurate. PLACE MARKERS (^PZ,^QP) - You can set any number of temporary place markers in the text with ^PZ (they will appear as ^Z). The ^QP command moves the cursor to the next place marker in the file, cycling back to the top of the file if needed. (Place markers are NOT saved to disk.) PRINTER CODES (^P) - Control codes for special effects in printing can be entered in the text with the ^P prefix. Thus pressing ^P^H (or ^PH) embeds a ^H, etc. Several standard codes are: ^H - backspace - overstrike previous character ^I - hard (ASCII) tab - printers respond variously to this ^L - formfeed (Not recommended unless pagination (^OP) disabled) (The Block marker, normally ^B, cannot be embedded; and ^Z is reserved for use as a place marker.) Control codes display on screen as capital letters, highlighted if possible. VDE assumes they are not characters, so they are not counted when reformatting text. For greater convenience, you can also arrange to have a single ^P- code produce an entire string of bytes for commonly used effects. VDE supports a subset of WordStar's printer installation, seven definable codes: four toggles, four switches. The Printer Installation in VINSTALL allows you to choose what codes you want to use, and install the actual control sequences your printer needs. The defaults are: toggles ^B, ^D, ^S, ^Y switches ^Q, ^W, ^E, ^R (In WordStar these toggles are Boldface, Doublestrike, Underline, and Ribbon/Italic, but you can make them anything you like.) "Toggles" are good for features like underline that are turned on and off. "Switches" are better for multi-valued parameters like character pitch. Example: your printer uses ESC-U-01 (and 00) to turn underlining on (and off). If you install these codes: ^S toggle on: (03)1B5501 ...and off: (03)1B5500 then all you have to type in VDE to get underlined text is: ^PS,underlined text,^PS. PRINTING (^KP) - The ^KP command Prints the file from memory. You will be asked for a set of "Options:", at which point you may enter one or more of the following, in any order: B prints only the currently marked BLOCK. P PAUSES for your keystroke before each page (sheet feed). D DOUBLE SPACES all text to be printed. Lnn sets the printer LEFT MARGIN to nn columns. [The default value can be set with VINSTALL.] ^ FILTERS control characters ^X to text "^X". *nn prints the job out nn TIMES (nn=1..255). @nn begins printing AT the nn'th page. =nn renumbers the pages beginning with nn. #nn prints only (up to) a TOTAL of nn pages. "..." uses the quoted string as a HEADER. The string, followed immediately by the page number, will print at the top right of each page near the margin. (Maximum length is 50 characters; an empty string, "", gives numbered pages with no header text.) The last four options (@,=,#,"") are NOT allowed if pagination is disabled (^OP), or if "B"lock print was chosen. Example 1: Options: L12P will print the file with a left margin of 12 columns, pausing before each page for you to press a key (other than Esc). Example 2: Options: @6#2=14"Instructions, page " will print the sixth and seventh pages of the file, but numbered 14 and 15, with the header shown. Example 3: Options: BD^*2 will print out the current marked Block twice, double spaced, with control filtering. In "W" mode, lines beginning with a "." will be regarded as WordStar dot commands, and will not print out (though they have no effect). You can abort printing at any time with ESC (this may take a moment, or a few keystrokes, depending on your BIOS). RULER LINE (^OT) - To help you align text properly, ^OT toggles display of a "ruler line" above the text on and off. In each column you will see one of several symbols: "[]" designate the current margins (if set); "-" indicates areas within the current margins, "." outside them. Also, tab stops are marked by either "T" (Variable) or "I" (Hard). Examples: ("A" mode) [-----T-----T-----------T--------------]........ ("N" mode) I.......I.......I.......I.......I.......I....... TABS (^I,ESC-TAB, ^OV,^OI,^ON) - There are two Tab modes, Variable and Hard; the ^OV command toggles between them. In Hard Tab mode the Tab key produces an actual ^I (ASCII TAB); whether this overwrites any existing text depends on the INSERT toggle. Hard Tabs display by default at fixed intervals of 8 screen columns. [This is reconfigurable to 2, 4, 16, etc.] In Variable Tab mode, the Tab key moves the cursor to the next variable tab stop. (You can always get a Hard Tab by typing ^PI.) Existing text is skipped over; spaces are added at the end of a line as needed. Up to eight tab stops may be set with ^OI and cleared with ^ON; the defaults are in columns 5, 15, 35, and 55. [These are reconfigur- able.] At the prompt, enter the column number desired, or hit RETURN for the cursor column. The ^OI command also accepts two multiple-set options: "@nn" sets tab stops every "nn" columns, while "#n1,n2,..." sets tabs at columns "n1,n2, ...". Both remove any pre-existing tabs. Typing "@" alone will simply clear all tabs. The ESC-TAB command moves backward (left) to the previous tab stop, whether variable or hard. UNDELETE (^U, ^QU) - The undelete functions can be used (repeatedly if necessary) to recover a reasonable amount of text deleted either by overtyping, or with any of VDE's delete commands, IF the cursor has not yet been moved away. ^U undeletes one character; ^QU does a whole line. Restrictions: undelete may not recover all of a Block delete unless the cursor was in or near the block deleted; and it may work imperfectly if DEL has been used several times in sequence. Further use after all deleted text is recovered will produce junk (usually duplicates of text above the cursor, which is sometimes useful). UPPER/LOWER CASE (^^) - The ^^ (ctl-caret) command changes the case of the character at the cursor, if it was a letter, and moves to the next. Useful for capitalizing a string of lowercase text, or vice versa. WINDOW AND SCREEN (^W,^Z, ESC-Arrows, ^O-Up,W,Z) - VDE supports several functions to move and alter the display screen. The ^W and ^Z commands scroll the screen up and down a line at a time, without moving the cursor (unless necessary). Preceded by ESC, any arrow (except ANSI) moves the screen rather than the cursor: the text as a whole shifts up/down 1/4 screen, or right/left 32 columns, while the cursor stays put. (The cursor must be past column 32 for horizontal shifts to work.) Preceded by ^O-, any UP arrow key (except ANSI) makes the current text line the top of the screen. The ^OW command creates a Window in the bottom half of the screen, which retains a copy of the file text starting at the current line. Editing continues normally in the top half of the screen. This is useful for comparing different sections of text within a file, or even between different files. Typing ^OW again removes the Window. (Note: Windowing is only supported for screens of 15 or more lines.) The ^OZ command temporarily zaps (blanks) the entire screen; good for avoiding CRT burn-in, or just protecting work from prying eyes or fingers. Restore the screen by pressing ESC. (Note: if Windowing was in effect, any text in the window will be lost.) WORDWRAP, REFORMAT (^B, ^OD) - WORDWRAP is automatic in Document modes ("W,A") whenever the right margin is set. Any text entered will be formatted while you type, to the current margin settings. The end of a paragraph is marked by a "HARD CR", which occurs when you press the RETURN key. (This is a CR immediately following a character of text.) In contrast, when wordwrap occurs you get a "SOFT CR" (which is actually a CR with a space before it). You can change a hard CR into a soft one, or vice versa, by deleting or adding a space at the end of the line. Hitting RETURN also hardens a soft CR. The distinction between hard and soft CRs is only important when reformatting. ^B REFORMATS from the line the cursor is on, to the end of the para- graph, according to the current margin settings and line spacing. (Thus ^B is used not only to reshape a paragraph after editing, but also to change its margins and line spacing.) Indentation can be tricky if you have a left margin set: if the current line is indented relative to the next one, VDE assumes that amount as your paragraph indentation. ^OD toggles DISPLAY OF HARD CRs. Hard CRs, otherwise invisible, can be caused to display as a "<" character. This can be useful; some may find it distracting, so it turns off. ================================ 4. MACROS ================================= MACRO (ESC-M) - A "macro" is a string of VDE commands and text that, once defined, can be repeated automatically. When you type ESC-M you will be asked for the string, then a "Repeat count". Usually you will simply type a number for the repeat count (0-9, or "*" for "indefinitely"). You will see the results as the macro executes, and you can abort it at any time by pressing ESC. (If you are sure you know what you're doing, you can speed up Macro execution by specifying "Quiet" mode: press "Q" before the repeat count. Only the header will be updated as the Macro runs.) Macros also stop any time an error occurs; the error message will be visible, and can be cleared by pressing ESC. Many commands (like Find or Reformat) are designed to generate errors at the end of the file so that an indefinite ("*") Macro containing them will halt there. Other indefinite Macros may need to be aborted manually. VDE turns INSERT OFF before running a macro, so that the same key sequence will always have the same effect. The INSERT status is restored when the macro terminates. In order to include any input line editing characters (BS, CR etc) in a macro, you must prefix them with ^P. (NOTE: To make them easier to read and understand, Macro listings will be given here as they function, not as they are typed in. ^P prefixes as needed are NOT shown. Key- strokes are separated by dashes or commas for clarity, and "_" means a space or blank.) Here are some sample Macros: 1. View a file by scrolling slowly through it: ESC-;,^C This will pause, then scroll down. (Use a repeat count of "*".) 2. Can you figure out what this one does? (Answer: .elif eht fo dne eht ta meht fo tsil a gnikam elif a fo tuo sesehtnerap ni stnemmoc ekat lliw tI) ^QR,^QF,(,CR,^G,^KB,^QF,),CR,^G,^KK,^QC,CR,^KV VDE Macros are very powerful tools, particularly given their program- mability and storage on function keys. MACRO KEY (ESC-#,0..9) - Up to 10 Macros can be stored (0..9), by entering them with the ESC-M command, then using ESC-# to save them. They can then be recalled and used simply by typing ESC-number. Example: typing ESC-#-0 will store the last Macro used as Key 0, and it can be recalled and reused at any future time simply by typing ESC-0. Ordinarily, Keys operate just like the original Macro: they will ask for "Repeat count" when executed. If you want to suppress this (giving something more like a "function key", that only executes once) you can type "N" (for No repeat) before storing the key number. Example: ESC-#-N- 0 stores a Macro in Key 0 as a no-repeat key sequence. If you also don't need to see the Key work, and want to make it faster, you can make it QUIET as well by typing "Q" instead (for Quiet) before the key number. Example: ESC-#-Q-0 stores to Key 0 as a quiet no-repeat key sequence. If the Macro (ESC-M) string is empty, using ESC-# will delete a Key definition. Using a defined Key brings its definition into the Macro buffer (whence it can be stored again if desired). Trying to use an undefined Key results in an error. There are 500 bytes total available for all 10 keys, and a 128 byte limit for any one Key. (VDE's own input line will only accept 65 bytes, but VINSTALL can handle up to the full 128.) USAGE HINT: If you want to re-use a macro without having to type it in again, use ESC-# to assign it to a key, then call it up by number. Besides simply storing Macros, here are some useful function Keys: 1. Storing different sets of margins (eg for quotes): for example, ^OL,12,CR,^OR,66,CR 2. Typing any frequently repeated phrase; "ESC-6" is much more convenient than "^PSWorld Wide Widgets Ltd. (N.A.)^PS". [VINSTALL allows you to install a default set of macro Keys. Thus VDE can be customized for any task, such as the formatting requirements of specialized writing or programming languages.] MACRO PROGRAMMING (ESC-0..9, ESC-!,=,~,+,;) - VDE has several commands which function only in a Macro string, and give you control over the execution of a macro, allowing real programming. ESC-0..9, when in a Macro, function simply as "labels" 0..9. They have no effect, but can be "jumped" to by other commands. ESC-! followed by 0..9 is a simple "jump" instruction, causing macro execution to resume with the command following the label ESC-0..9. Example: ESC!2 jumps to label 2. As two epecial cases, ESC-![ jumps to the beginning of the Macro, and ESC-!] jumps to the end (aborts). ESC-= and ESC-~, followed by a character and then a label 0..9 (or "[","]"), are conditional jumps: they jump to that label IF the character at the cursor position does (or for "~", doesn't) match that specified. Example: ESC~^M2 jumps to ESC-2 if the current character is NOT a CR. ESC-= and ESC-~, followed by a character and then ">" or "<", are search loops. They will continue to move the cursor right (or for "<", left) as long as the character at the cursor does (or for "~", doesn't) match, or until the beginning or end of the file. Example: ESC=_> moves right as long as the current character is a space. ESC-+, followed by 0..9, is used to "chain" to another macro key. In this way you can build up strings longer than the 65/128-byte limit on any one key. It does not "call" the key; there is no returning. Example: ESC+9 chains to Key 9. ESC-; (semicolon) gives a brief pause, presumably so the user can see what's happening on screen. Macro programs are stored just like any other macro string (usually with "N"o repeat count). If you program in an endless loop, you will at some point have to abort with ESC. Don't make macro programs "Q"uiet until you're sure they work. Example: here is a good macro program (best stored as a Quiet Key) to move the cursor to the start of the current sentence: ESC~.1, ^S, ESC1, ESC~.<, ESC2, ^D, ESC=_2, ESC=^M2 You could write this out in programmer's pseudo-code as: If not "." goto label1 Move left ;move left if already on period label1: While not "." move Left ;move left to previous period label2: Move right ;now move back right If " " goto label2 ; as long as you see a space If "^M" goto label2 ; or a Return (all done) ========================= 5. GENERAL INFORMATION =========================== DISK SPACE - VDE isn't disk-bound; if you run out of disk space, just insert another disk (always keep a blank FORMATTED disk around). Alternatively, you can use the ESC-F and ESC-E commands to purge unneeded files. [If you have small disks, you can also install VDE not to preserve BAK files.] Let VDE's filesize limits encourage you to break work up into files of 50K or less; larger files make inefficient use of floppy disks. ERROR MESSAGES - Press ESC or Space to continue. "Error" alone means the command used just won't work in this situation. (Example: a block command was used with no block marked.) More specific errors are: "Out of Memory" - the file, block, or key string won't fit in RAM. "Invalid Key" - an illegal command key sequence was pressed. "I/O Error" - file not found, disk full, empty/invalid drive, etc. "Cannot Reformat" - word too long, or margins invalid. "Not Found" - the object of a search was not found. "Syntax Error" - a macro programming command was misused. FILE MODES - VDE has three "file modes": "W"ordStar document, "A"NSI document, and "N"on-document. The basic difference concerns the format of disk files. In "W" mode, VDE reads and writes WordStar compatible files. VDE can edit a WordStar document, except that any right justification will be lost. WordStar can edit any VDE "W" file in Document mode. In "A" or "N" mode, VDE reads and writes text as standard ASCII 7-bit characters, a universal format accepted by virtually all software. The only difference between "A" and "N" modes lies in the default settings on loading a new file. Typically "A" mode is used for word processing, and "N" mode for programming and other technical applications. DEFAULTS FOR: Margins Tabs Hard CR disp. "A"SCII or "W"ordStar document ACTIVE VARIABLE [ON] "N"on-document DISABLED HARD OFF The file mode option can be specified along with the filename at any VDE file function prompt, allowing you to mix WordStar and ASCII disk files as needed. You can also change the current mode with the ^KN function by entering a new mode (eg, "[W") with or without a filename. You can select a default file mode, to be used when no mode is specified (originally this is "A"). Further, you can specify two filetype masks for automatic mode selection (eg, all "ASM" files as "N" mode) to override that default. [See VINSTALL.] NOTE ON ASCII FILES - The "A"SCII-document file format used since VDE 2.50, to allow accurate formatting and WordStar compatibility, distin- guishes between HARD and SOFT CRs (see WORDWRAP). Consequently, if you edit an ASCII file created by other software (including earlier versions of VDE), it may appear to be full of hard CRs, making text impossible to reformat. There are two easy ways to solve this problem: first, you can use ^QA to find "^M"s and selectively replace them with " ^M". Alterna- tively, the following Macro (best stored as a Quiet macro Key) does a good job of "softening up" paragraphs for reformatting: ^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![ HYPHENATION (^OH) - VDE can't introduce hyphens, but it does recognize them in the text, treating them as a legitimate place to break a line. (So if you have a long word close to the margin, you can insert a hyphen where you'd like the word to be broken.) Similarly, VDE can't unhyphenate. If it is trying to reformat and finds a hyphen at the end of a line, it will pause to ask you what to do with it. You will see the prompt "Chg?" in the header, and can: Press "Y" to remove the hyphen and space, joining the word; "N" to leave the hyphen, but still join the word; "ESC" to leave both the hyphen and the space alone. Typically you would choose "Y" for "soft" hyphens that you introduced to break up a word ("intro-duction"); "N" for hard hyphens that are part of a word ("vis-a-vis"); and "ESC" for punctuation (dashes -- etc). After your choice, reformatting will proceed automatically. You can toggle hyphenation on and off with ^OH. If off, hyphens are not treated differently from any other text character. [The ^OH default can be changed with VINSTALL.] INTERRUPTION - If VDE gets interrupted by a message from some other software (BIOS error, resident utilities, etc), it may lose control of the screen. The best way to restore it to normal is by blanking and restoring the screen (^OZ,ESC). PROMPTS - First, VDE has several simple prompts requiring you to confirm an action by typing "Y" or "N": "Abandon changes?" - warns the file you want to Quit has been changed. "Unchanged! save anyway?" - reminds the file you want saved isn't changed. "Delete original?" - do you want to delete block copied from 2nd file. "Chg?" - do you want to change this instance of a string? Then, there are a few special purpose prompts: "Repeat count:" - enter (optional "Q" and) repeat count for Macro. "Key number:" - enter (optional "N/Q" and) key number for Key. "Rdy" - press any key to print next page (ESC quits). Finally, there are a variety of prompts for either numeric or string input, like "Column:" or "Find string:". You are expected to type in a string (up to 65 characters). During this process, IBM PC special keys (except Del) are not recognized. The following control keys operate: Correct mistake: BS (^H), ^S, or Del Erase entire entry: ^X Abort operation: ^U Note that to get any of these codes, or a CR, into the string itself, you must precede it with ^P (this includes ^P). Examples: to find a line beginning with a "*" (find "^M,*") type ^QF,^P-CR,*,CR. Now to get this into a Macro with ESC-M, you would have to type ESC-M,^QF,^PP,^P-CR,*,^P-CR,CR. WORDSTAR COMPATIBILITY - In most respects VDE operates much like WordStar; one big difference is the absence of a "No-File" menu. You are always in edit mode; use ^KL to select a new file to edit. If the keys ^J,^K,^L are in use as CP/M arrow keys, you must use VDE's original command set to substitute for them as follows: Block prefix (^K-)... ESC- Help menu (^J)....... ESC-H Repeat find (^L)..... ^\ If these keys are NOT installed as arrow keys, they retain their WordStar functions. Then, of course, VDE lacks some WordStar commands, and has some of its own. Aside from these, there are the following differences in common commands: COMMON USE WORDSTAR 4 VDE VDE NOTES Hide block ^KH ^KU Actually unmarks block. Erase disk file ^KJ ^KE Set Place Mark ^K0..9 ^PZ Not individually numbered. Go to Place Mark ^Q0..9 ^QP Cyclic. COMMON COMMAND WORDSTAR 4 USE VDE USE ^^ Soften hard CR Transpose upper/lowercase ^KN Column block mode Rename current work ^OD Display ^P codes Display hard CRs ^OF Ruler from text Flush right ^OP Preview mode Page length ^QU Repeat align Repeat undelete Note that VDE does not implement WordStar "dot commands" in text, though in "W" mode it will avoid printing them. =============================== 6. HISTORY ================================= 1984: VDE began as my set of improvements on the tiny (4k) "VDO" memory- mapped editor by Fritz Schneider (1982), as adapted by George Peace (1984) for the Osborne Executive. 1985: The first terminal adaptation, VDE-PX for the Epson PX-8. Ongoing improvements also in parallel Osborne versions VDE-OS. 1986: The unified VDE(M) version 2.00, with generic terminal installation. Versions 2.1-2.3 added new features including macros; global replace; tighter compression; many Print options; file directory; undelete. 1987: Recent revisions, besides small fixes, add the following: 2.4 (1/87) - Improved scrolling and screen functions; more screen sizes supported; WordStar file mode; place markers; ^OZ; block print; larger macro keys; VINSTALL terminal menu. 2.5 (3/87) - User area support; variable tabs; double spacing; search wildcards; more standard block functions; improved format- ting; many additions to VINSTALL. 2.6 (7/87) - Greater WordStar compatibility; many new functions; more free RAM; faster scrolling; search options; keyboard buffer. 1988: Development through v2.64, with new functions; top margin; doublespaced printing; auto mode filetypes. 2.65 (4/88) - Auto indent; tab set enhancements; small fixes. 2.66 (6/88) - Printer left margin; small fixes. THIS SHOULD BE THE LAST RELEASE OF CP/M VDE. ENJOY! For further details on changes in the latest version, see the accompany- ing update file VDExxx.UPD. **************************************************************** ***** The VDE editor and its documentation are ***** ***** (c)1988 E. Meyer, all rights reserved. ***** ***** They may not be circulated in any incomplete or ***** ***** modified form, nor sold for profit, without ***** ***** written permission of the author. ***** **************************************************************** DISCLAIMER: You undertake to use VDE at your own risk. The author accepts no liability for any damages resulting from its use or misuse. Direct problem reports and suggestions to the author; include a stamped return envelope for a reply if desired. Thanks to the many users of VDE whose feedback has led to improvements and bug fixes in the past. Eric Meyer 427 N. Washington CompuServe [74415,1305] Bloomington, IN 47401 GEmail ERMEYER ==============================================================================