home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-07 | 47.5 KB | 1,049 lines |
- ..You must print this file in "W" mode with page length set to 54
- ..(the default) so that page numbers correspond with the Table of
- ..Contents and the Index. Use the "L" option for a left margin
- ..("L8" centers standard pitch on 8.5" wide paper), and the ""
- ..option to number pages.
-
- ZDE
-
- Z-System Display Editor
-
- Version 1.0 10 Mar 89
-
- ZDE and its documentation are copyright 1989 by Carson Wilson,
- all rights reserved. They may not be circulated in any
- incomplete or modified form without written permission of the
- author. Any commercial use of ZDE, defined as any situation
- where the duplicator receives revenue by duplicating or
- distributing ZDE by itself or in conjunction with any hardware
- or software product, is expressly prohibited unless authorized
- in writing by Carson Wilson.
-
-
- 1. Introduction.
-
- ZDE, the Z-System Display Editor, is a small, fast, powerful
- text editor based Eric Meyer's famous Video Display Editor (VDE).
- ZDE retains all features of VDE, but removes defects and supports
- special ZCPR and ZSDOS features such as named directories,
- register variables, automatic disk relog, and file datestamp
- support. The install program has also been improved (see
- ZDE10.NEW for a complete rundown of improvements). At the same
- time, I have tried to be conscientious about the balance between
- features and memory usage. If I added every new feature or
- convenience that came to mind, we would soon have a luxurious
- in-memory editor for 2 kilobyte files! Much of the following is
- adapted with permission from Eric Meyer's VDE.DOC.
-
- ZDE's native 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. Written entirely in Z80
- assembler, ZDE is F-A-S-T. There are no disk overlays, and all
- editing is done in memory. As a result, finding a string near the
- end of a 50K file takes WordStar 3.3 about 14 seconds (8MHz Z80);
- ZDE 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.
-
- Among ZDE's features are:
-
- Full-screen editing User area and named directory support
- Block operations Wordwrap and reformat
- File datestamp support Macro programs
- Disk file operations Margins, tabs, spacing
- Find and replace WordStar compatibility
- Many print features Undeletion
- Configurable options Support for all CP/M terminals
-
-
- 2. Installing ZDE.
-
- ZDE works with Z80 CP/M 2.2 and 3.0 and compatible systems.
- It is ideal for portable computers with limited disk space. There
- are many user configurable options, and ZDE can be installed for
- all CP/M terminals. If you are running ZCPR, ZSDOS or Z3PLUS, ZDE
- offers features not available with less advanced system software,
- but these system enhancements are not required.
-
- To install ZDE, use the ZDENSTAL configuration program; see
- the accompanying file ZDENSTAL.DOC. You should install ZDE for
- your computer's terminal at the earliest convenience, since this
- greatly enhances performance. There are many other installable
- options; you will discover how you want everything set in the
- course of using ZDE, so don't worry about going through all of it
- at first. For ease of reference, portions of this manual
- referring to installable options and settings are enclosed in
- square brackets ("[" and "]").
-
-
- 3. Invoking ZDE.
-
- ZDE is invoked from your system's command prompt using the
- following syntax ("ufn" means "unambiguous file name"):
-
- ZDE Begin working on a new file.
-
- ZDE ufn Edit a new or already existing file.
-
- ZDE dir:ufn Edit a new or existing file from another
- directory.
-
- ZDE ufn m Edit a file using mode "m."
- ZDE ufn[m
-
- "m" above can be either W, A, or N (see File Modes, below), and
- "dir" can be either a drive, a user area, a drive followed by a
- user area, or a ZCPR named directory. For example:
-
- ZDE A4:MYFILE.TXT N Begin working on MYFILE.TXT at user
- area 4, drive A, in non-document
- mode.
-
- The size of the file to be edited is limited by available
- memory. This will vary for different systems, but normally the
- maximum size will be between 45 and 55k. If a file is too large
- to edit, you must break it up and edit the pieces separately.
- Numerous CP/M utilities are available which will break up and
- rejoin ASCII files.
-
-
- 4. ZDE's Command Set.
-
- ZDE's commands consist of simple one- or two-key
- combinations, easily found by the touch typist without
- distraction. Most commands are the same as WordStar's. If you
- have questions that this file can't answer, a WordStar manual may
- be a useful reference. But ZDE is not a WordStar "clone"; there
- are significant differences, including an extended set of
- ESC-commands for functions such as macros (see below).
- Virtually complete compatibility with the WordStar command
- (sub)set can be achieved UNLESS the keys ^J, ^K, and ^L are used
- as arrow keys (as on many CP/M computers). In this event ZDE
- synonyms must be used: ESC- for the ^K- prefix; ESC-H for ^J; and
- ^\ for ^L (see ZDENSTAL.DOC for terminal installation).
-
- 4.1. Command Summary.
-
- Below, the "^" character indicates use of the Ctrl key: ^K =
- Ctrl+K. The ESC (^K), ^O, and ^Q prefixes require pressing two
- keys in sequence: ^O C, for instance means press ^O, then C (or
- ^C). Any prefix may be canceled by typing ESC or Space.
-
- 4.1.1. 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: insert 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).
- ^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).
-
- 4.1.2. 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.
-
- 4.1.3. Escape and 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.
-
- 4.1.4. 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 marked block.
- ^Q Q = move to next line in queue (ZCPR only).
- ^Q Z = 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 (caution--powerful!).
- ^Q U = undelete a line.
-
- 4.1.5. 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.
-
-
- 5. Command Descriptions.
-
- 5.1. Auto-Indent Mode (^O-A).
-
- Auto-Indent is useful for typing outlines, structured program
- source code, and other text where the "left margin" varies.
- Auto-Indent causes the RETURN key to act differently: If you are
- entering new text, it will be indented to match the previous line.
- If you are just moving through the file, the cursor advances past
- any existing indentation.
-
- 5.2. Block Commands (^K-B, -K, -U, -R, -Y, -W, -C, -V, -P-B,
- ^Q-B).
-
- A "block" of text is normally delimited by two markers
- [default: ^@] which remain in memory until reset or deleted.
- ^K-B marks the beginning of the block; ^K-K marks its end.
- Markers are inserted in the text. The two markers are identical;
- the first one present is the start.
- ^K-U unmarks the block, removing any marker(s) set (block
- markers can also be deleted individually as ordinary characters).
- Markers are automatically removed as appropriate when ^K-B/-K are
- used again.
- ^K-R reads in the contents of a disk file, inserting it as a
- block after the current cursor position. You will be asked for
- the name (and, optionally, mode) of the file. Other block
- operation commands all require a Block to be marked:
- ^K-Y deletes the block (including markers).
- ^K-W writes the block text to a disk file; you will be asked
- for the filename (and optional mode).
- ^K-V moves the Block text to the present cursor location,
- deleting the original; ^K-C copies it and leaves the original.
- Sometimes ZDE will run out of memory when moving blocks within a
- large file. If this occurs, just write the block to a file,
- delete it, and read it back in as: "^K-W, ^K-Y, ^K-R".
- ^K-P-B (^K-P with B option) prints the block text only.
- The ^Q-B command, from wherever you are in the file, moves
- the cursor to the Block start.
-
- 5.3. Cursor Movement (Arrow keys; ^F; ^A; ^Q-R, -C, -I).
-
- ZDE 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,
- and must be installed with ZDENSTAL. These keys move the cursor
- up, down, right, and left respectively. Note: if you install ^J,
- ^K, and ^L as arrow keys, you must use ESC- commands for help,
- file operations, and repeat find/replace, 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
- previous (or current) word. Both have maximum ranges of 255
- characters.
- For quickly covering large distances, the commands ^Q-R and
- ^Q-C go all the way to the beginning and end of the file,
- respectively, and ^Q-I goes to any specified page (or line, in
- non-documents).
-
- 5.4. Deleting (^G, DEL, ^T, ^Y, ^Q-Y, -DEL, -T).
-
- 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. ^Q-Y deletes only the
- part of the line to the right of the cursor; ^Q-DEL deletes the
- part to the left.
- ^Q-T deletes UP TO a specified character. Example: "^Q-T."
- deletes to the end of the sentence. Special case: "^Q-T-CR"
- deletes to the next HARD CR, the end of the paragraph. This is a
- powerful command, so use it with caution.
- Accidentally deleted text can usually be recovered (see
- Undelete, below).
-
- 5.5. Disk Operations (^K-F, -E).
-
- ^K-F gives an unsorted list of disk FILES: hit CR to list the
- directory specified by the current file, or specify a drive, user,
- or named directory (colon optional). 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.
- ^K-E will ERASE a single disk file to provide more room on
- the disk (no wildcards allowed).
-
- 5.6. File Commands (^K-N, -S, -X, -Q, -D, -L).
-
- ^K-N NAMES your work or changes the current file mode. You
- can change the filename in the header before saving, and/or change
- its mode to WordStar, ASCII, or Nondocument. To set the file
- mode, introduce the mode character with the left square bracket,
- e.g., "Name: MYFILE.WS [W".
- ^K-S 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 [configurable; see
- installation guide]. If you haven't changed the file, ZDE prompts
- you to confirm that you want to resave it anyway.
- There are several different commands for finishing up:
- ^K-X saves your work and then EXITS to CP/M.
- ^K-Q just QUITS. If the file has been modified, ZDE asks if
- you want to abandon the changes.
- ^K-D (DONE) saves your work, then loads a new file to edit.
- ^K-L quits the current file and LOADS a new one to begin
- editing.
-
- 5.7. Find, Replace (^Q-F, -A, ^L, ^\).
-
- ^Q-F is the command to FIND a string. The search normally
- proceeds from the cursor position forward, and is case
- (upper/lower) insensitive. There are two options: "B" = search
- backwards; "C" = case sensitive search. If used, the options
- must be enclosed in slashes (eg, "/bc/") before the search string.
- (If you want to search for a string beginning with a slash, use an
- empty (//) option first.) In addition, a ^P-Z [this can be
- reconfigured] functions as a wildcard matching any single
- character. Other control codes, like ^M for newline, can be
- included (with the ^P prefix where needed). Examples:
-
- Find: /c/^MLABEL matches "LABEL" at start of line only;
- Find: 4^Z^Z01 matches "42201", "47401", etc;
- Find: wordstar matches "WORDSTAR", "WordStar" etc;
- Find: ///88 matches "/88";
- Find: /b/esc looks backwards for "Esc", "esc", etc.
-
- ^Q-A 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 on each occurrence
- of the string successively, starting at the cursor location. You
- will see the prompt "Chg?" in the header. To replace the old
- string with the new one, press "Y"; anything else skips to the
- next. To change all further occurrences without being asked,
- press "*". ESC cancels at any time. (Note: if ^Q-A 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 ^Q-F or
- ^Q-A command. For ^Q-A, you will be asked whether you want to
- replace the found string. For both, direction and case options
- remain unchanged.
-
- 5.8. Header (^O-Q).
-
- ZDE normally gives you a header, or status line, at the top
- of the screen. However, if you like you can toggle the header
- display on and off with the ^O-Q (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.
-
- A typical header line looks something like:
- ------------------------------------------------------------------
- B0/WORK:ZDE.DOC [A Pg 8 Ln 31 Cl 53 INS vt hy AI DS MR ^Q_
- ------------------------------------------------------------------
- "B0/WORK:ZDE.DOC [A" = Current directory, filename, and mode.
- "Pg 8, etc" = Current position in file by page, line, column.
- For "N"ondocuments, there is no page number display. If
- pagination (^O-P) is off, you will see "Pg 0" (document) or "OP"
- (nondocument) here.
- "INS" = Insert mode on (^V).
- "vt" = Variable tabs on (^O-V).
- "hy" = Hyphenation enabled. (^O-H) Doesn't display in "N"
- mode.
- "AI" = Auto indent mode on (^O-A).
- "DS" = Double spacing (^O-S).
- "MR" = Margins released (^O-X). Doesn't display in "N" mode.
- "^Q_": Prefix keys (and some prompts) display here.
-
- 5.9. Information (^K-I).
-
- ^KI displays an Information message with:
-
- - the ZDE 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 ZDE's compression of text.
- (Note: ZDE 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.
-
- 5.10. 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.
-
- 5.11. Line Spacing (^O-S).
-
- The ^O-S 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 ^K-P command (see
- Printing).
-
- 5.12. Margins (^O-R, -L, -X, -C, -F).
-
- ^O-R sets the RIGHT margin, enabling wordwrap, reformatting,
- and centering. A right margin of 1 disables all formatting
- functions (same as 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, ZDE sets the left margin to 1.
- ^O-L 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.
- ^O-X temporarily RELEASES the margins (resets them to 1),
- allowing you to type outside them. Use ^O-X again to restore the
- margins.
- ^O-C CENTERS the current line with respect to the margins, if
- set. ^O-F sets the current line FLUSH right, if the right margin
- is set.
-
- 5.13. Pagination (^O-P).
-
- The ^O-P command sets the page length. Enter a value from 0
- to 255, or just hit CR to restore the default value [normally 54].
- When the value is nonzero, it determines the page and line
- shown in the document header ("Pg xx Ln xx"), and page-oriented
- Print functions (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 "*" print
- option, can be used to print out multiple copies of index cards,
- labels, etc.
- ZDE never sends a formfeed before printing; begin your file
- with a ^P-L character if you need one. Otherwise, use of ^P-L is
- not recommended in document files as it renders ZDE's page count
- inaccurate.
-
- 5.14. Place Markers and Line Queue (^P-Z, ^Q-Z, ^Q-Q).
-
- You can set any number of temporary PLACE MARKERS in the text
- with ^P-Z (they will appear as ^Z). The ^Q-Z 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.
- ZCPR users may also store a QUEUE of up to eight line numbers
- in their user-defined messages (a set of sixteen bytes of
- protected memory "available for user definition"). The ^Q-Q
- command will then cycle through the queue of line numbers,
- returning to the first location when it reaches a value of zero.
- A value greater than the number of lines in the file takes the
- cursor to the end of the file. The numbers are stored as two-byte
- inverted hexadecimal words. This facility is intended as an
- interface between other programs and ZDE for such purposes as
- storing the locations of compiler errors, however ZCPR users may
- also find it useful to POKE these locations directly before
- invoking ZDE.
-
- 5.15. 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 ^P-H)
- 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 (^O-P)
- disabled)
-
- The Block marker, normally ^@, cannot be embedded, and ^Z is
- reserved for use as a place marker. Control codes display on
- screen as capital letters, highlighted if possible. ZDE 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
- printing effects. ZDE supports a subset of WordStar's printer
- installation, seven definable codes: four toggles, four switches.
- The Printer Installation in ZDENSTAL 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 respectively, but you can make them
- anything you like. "Toggles" are good for features like underline
- and bold that are turned on and off. "Switches" are better for
- multivalued parameters like character pitch.
- Example: your printer uses ESC-U-01 (and 00) to turn
- underlining on (and off). If you install these codes with
- ZDENSTAL:
- ^S toggle on: (03)1B5501
- ...and off: (03)1B5500
-
- then all you have to type in ZDE to get underlined text is:
- ^PSunderlined text^PS.
-
- 5.16. Printing (^K-P).
-
- The ^K-P command PRINTS all or part of the file in memory.
- You will be asked for a set of "Options:", at which point you may
- enter zero 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 ZDENSTAL].
- ^ 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 (maxi-
- mum 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 (^O-P), or if "B"lock print was chosen. Examples:
-
- Options: L12P
- - Print the file with a left margin of 12 columns, pausing
- before each page for you to press a key (other than Esc).
-
- Options: @6#2=14"Instructions, page "
- - Print the sixth and seventh pages of the file, but numbered
- 14 and 15, with the header shown.
-
- Options: BD^*2
- - 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 neither print out nor affect the
- page count (they have no other effect either).
- You can abort printing at any time with ESC (this may take a
- moment, or a few keystrokes, depending on your BIOS).
-
- 5.17. Ruler Line (^O-T).
-
- To help you align text properly, ^O-T 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.......
-
- 5.18. Tabs (^I, ESC-TAB, ^O-V, ^O-I, ^O-N).
-
- There are two Tab modes: Variable and Hard, and the ^O-V
- command toggles between them. In Hard Tab mode the Tab key
- produces an actual ^I (ASCII 09); 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
- configurable to any multiple of 2].
- 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
- ^P-I). If Insert is on, spaces are inserted up to the next tab
- stop. Otherwise, existing text is skipped over, but spaces are
- still added at the end of a line as needed. Up to eight tab stops
- may be set with ^O-I and cleared with ^O-N; the defaults are in
- columns 6, 11, 16, and 21 [these are configurable]. At the
- prompt, enter the column number desired, or hit RETURN for the
- cursor column.
- The ^O-I command also accepts two multiple-set inputs: "@nn"
- sets tab stops every "nn" columns, while "#n1,n2,..." sets tabs at
- columns "n1,n2, ...". Both remove any pre-existing tabs, and
- typing "@" or "#" alone simply clears all tabs.
- The ESC-TAB command moves backward (left) to the previous
- variable or hard tab stop.
-
- 5.19. Undelete (^U, ^Q-U).
-
- The undelete functions may be used (repeatedly if necessary)
- to recover a reasonable amount of text deleted either by
- overtyping, or with any of ZDE's delete commands, IF the cursor
- has not yet been moved away. ^U undeletes one character; ^Q-U
- 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).
-
- 5.20. Upper/Lower Case (^^).
-
- The ^^ (ctl-caret) command changes the case of the character
- at the cursor, if it was a letter, and moves the cursor one
- character to the right. Useful for capitalizing a string of
- lowercase text, or vice versa.
-
- 5.21. Window and Screen (^W, ^Z, ESC-Arrows, ^O-Up, -W, -Z).
-
- ZDE 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 ^O-W command creates a WINDOW in the bottom half of the
- screen, which retains a copy of the file text starting at the
- current line, plus the current status and/or ruler line(s), if
- any. 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 ^O-W again removes
- the Window. Note: Windowing is only supported for screens of 15
- or more lines.
- The ^O-Z 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 or SPACE.
- Note: if Windowing was in effect, any text in the window will be
- lost.
-
- 5.22. Wordwrap, Reformat (^B, ^O-D).
-
- WORDWRAP is automatic in Document ("W" or "A") modes whenever
- the right margin is set. Any text entered will be formatted to
- the current margin settings as you type. 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 paragraph, according to the current margin settings and line
- spacing. ^B may be 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, ZDE assumes
- that amount as your paragraph indentation.
- ^O-D 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.
-
-
- 6. Macros.
-
- 6.1. Macro (ESC-M).
-
- A MACRO is a string of ZDE 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, if present, 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 indefinite ("*") Macros containing
- them halt there. You may need to abort other indefinite Macros
- manually.
- ZDE turns INSERT OFF before running a macro, so that the same
- key sequence will always have the same effect. 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 are given
- here as they function, not as they are typed in. ^P prefixes as
- needed are NOT shown. Keystrokes 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?
-
- ^QR, ^QF, (, CR, ^G, ^KB, ^QF, ), CR, ^G, ^KK, ^QC, CR, ^KV
-
- (Answer: .elif eht fo dne eht ta meht fo tsil a gnikam
- elif a fo tuo sesehtnerap ni stnemmoc ekat lliw tI)
-
- ZDE Macros are very powerful tools, particularly given their
- programmability and storage on function keys.
-
- 6.2. Macro Key (ESC-#, ESC-0..9).
-
- Up to 10 MACRO KEYS 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 in the ESC-0 command
- so that it can be recalled and reused at any future time simply by
- typing ESC-0.
- Ordinarily, Macro Keys operate just like the original Macro,
- asking for a "Repeat count" when executed. If you want to
- suppress this prompt (resulting in a "function key" that executes
- just once) you can type "N" (for No repeat) before storing the key
- number. Example: ESC-#-N-0 makes ESC-0 a no-repeat macro key.
- If you also don't need to see the Macro 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 ESC-0 as
- a quiet no-repeat key sequence.
- If the Macro (ESC-M) string is empty, using ESC-# will delete
- a Macro Key. Using a defined Key makes it the last macro used, so
- it can be stored again in another key if desired. Trying to use
- an undefined Macro Key results in an error.
- There are 500 bytes total available for all 10 keys, and a
- 128 byte limit for any one Key (ZDE's own input line will only
- accept 65 bytes, but ZDENSTAL 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 Macro
- Keys:
-
- 1. Storing different sets of margins (e.g., 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".
-
- 3. Swap the two characters preceding the cursor:
- ^S, ^S, ^G, ^D, ^U, ^U, ^D, ^G
-
- [ZDENSTAL allows you to install defaults for all ten Macro Keys.
- Thus a copy of ZDE can be customized for any task, such as the
- formatting requirements of specialized writing or programming
- languages.]
-
- 6.3. Macro Programming (ESC-0..9, ESC-!,=,~,+,;).
-
- ZDE has several commands which function only in a Macro
- string, and give you control over the execution of a macro,
- allowing true programming.
- ESC-0..9 function as LABELS 0..9 when entered as part of a
- Macro. They have no effect, but can be "jumped" to by other
- commands.
- ESC-! followed by 0..9 is a JUMP instruction, and causes
- macro execution to resume with the command following the label
- ESC-0..9. Example: ESC!2 jumps to label 2. As two special 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 the label
- or the start or end of the macro IF the character at the cursor
- position matches (ESC-=) or doesn't match (ESC-~) the character
- 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 left ("<") AS LONG AS the character at the cursor matches
- (ESC-=) or doesn't match (ESC-~) the specified character. Both
- search loops terminate automatically at 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, CHAINS to another macro key,
- allowing you to build macros strings longer than the storage limit
- of 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)
-
-
- 7. General Information.
-
- 7.1. Disk Space.
-
- ZDE 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
- ZDE not to preserve BAK files.]
- Let ZDE's filesize limits encourage you to break work up into
- files of 50K or less; larger files make inefficient use of floppy
- disks.
-
- 7.2. 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.
-
- 7.3. File Modes.
-
- ZDE has three FILE MODES: "W"ordStar document, "A"SCII
- document, and "N"on-document. The basic difference concerns the
- format of disk files.
- In "W" mode, ZDE reads and writes WordStar-compatible files.
- ZDE can edit a WordStar document, except that any right
- justification will be lost. WordStar can edit any ZDE "W" file in
- Document mode.
- In "A" or "N" mode, ZDE 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 mode ACTIVE VARIABLE [ON]
- "N"on-document DISABLED HARD OFF
-
- The file mode option can be specified along with the filename
- at any ZDE file function prompt, allowing you to mix WordStar and
- ASCII disk files as needed (see Invoking ZDE, above). You can
- also change the current mode with the ^K-N function by entering a
- new mode (e.g., "[W") with or without a filename.
- [ZDENSTAL allows you to 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
- (e.g., all "ASM" files as "N" mode) to override that default.]
- NOTE ON ASCII FILES - The "A"SCII-document file format used
- since VDE 2.50, to allow accurate formatting and WordStar
- compatibility, distinguishes between HARD and SOFT CRs (see
- Wordwrap, above). 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
- ^Q-A to find "^M"s and selectively replace them with " ^M".
- Alternatively, 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![
-
- 7.4. Hyphenation (^O-H).
-
- ZDE 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, ZDE 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 ^O-H. If off,
- hyphens are not treated differently from any other text character.
- [The ^O-H default can be changed with ZDENSTAL.]
-
- 7.5. Interruption.
-
- If ZDE is interrupted by messages from other software (BIOS
- error, resident utilities, etc.), it may lose control of the
- screen. The best way to return it to normal is by blanking and
- restoring the screen (^O-Z, ESC).
-
- 7.6. Prompts.
-
- First, ZDE 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). 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
-
- ^Q-F, ^P-CR, *, CR.
-
- Now to get this into a Macro with ESC-M, you would have to type
-
- ESC-M, ^Q-F, ^P-P, ^P-CR, *, ^P-CR, CR.
-
- 7.7. WordStar Compatibility.
-
- In most respects ZDE operates much like WordStar; one big
- difference is the absence of a "No-File" menu. You are always in
- edit mode; use ^K-L to select a new file to edit.
- If the keys ^J, ^K, ^L are in use as CP/M arrow keys, you
- must use ZDE'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, ZDE 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 ZDE ZDE NOTES
- Hide block ^K-H ^K-U Actually unmarks block.
- Erase disk file ^K-J ^K-E
- Set Place Mark ^K-0..9 ^P-Z Not individually numbered.
- Go to Place Mark ^Q-0..9 ^Q-P Cyclic.
-
- COMMON COMMAND WORDSTAR 4 USE ZDE USE
- ^^ Soften hard CR Transpose upper/lowercase
- ^K-N Column block mode Rename current work
- ^O-D Display ^P codes Display hard CRs
- ^O-F Ruler from text Flush right
- ^O-P Preview mode Page length
- ^Q-U Repeat align Repeat undelete
-
- Note that ZDE does not implement WordStar "dot commands" in text,
- though in "W" mode it avoids printing them.
-
-
- 8. Disclaimer.
-
- You use ZDE 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 ZDE whose feedback has led to improvements and bug
- fixes in the past.
-
- Carson Wilson Sysop: Antelope Freeway RAS
- 1359 W. Greenleaf 312-764-5162, Chicago
- Chicago, IL 60626 24 hours, 3-12-2400 baud