Uedit-Tutor Copyright (C) 1986-91, Rick Stiles ((See Uedit-Policy for purchasing info.)) **** DISCLAIMER **** I can accept no responsibility, if you crash your Amiga or lose text files with Uedit. No guarantees, either explicit or implied, are made as to Uedit's safety. If you use it, it is at your own risk. **** ********** **** Dear folks, (See Getting Started, below, for immediate instructions.) Uedit is an editor for technical users. It has many wordprocessing features. In developing and enhancing Uedit, the aims have been for the user to: o Be able to work without bumping into limits of power and capacity; o Be able to automate repetitive work, eliminate tedium, save time; o Be rid of the irritation of wasted keystrokes and stodgy performance; o Be able to customize the environment fully; o Be able to create, on the spot, new capabilities that are needed. Uedit is Shareware. You can get a copy from a friend or off a computer network and try it out, in order to decide whether to purchase the real thing or not. (See Uedit-Policy for purchasing info.) *** About This Version *** This freely distributable Shareware version has the following limitations in order to enable you to "get the flavor" and use Uedit productively and yet to encourage you to register to get the real thing: 1. It has a 4-file limit. The stacks have been omitted, because of the 4-file limit. If the stacks were included, you'd be able to edit an "infinite" number of files (to limit of memory) and maintain an arbitrary number of buffers and numbers on the stacks. 2. It will not let you save a full or partial configuration to disk. Thus you can customize while you're using Uedit, create and compile new commands, even compile an entire config file, but cannot save a custom environment to disk for permanent use. 3. It won't let you save a learned sequence to disk. You can use learn mode as much as you want but cannot store the learned sequences for permanent use. 4. The getBufAddr/attachBuf/detachBuf functions have been omitted, so this version cannot exchange buffers with external programs or other copies of Uedit running on your Amiga. About Uedit You can try Uedit immediately without reading beyond this paragraph. The menus, HyperText Help, and Teach Mode should be enough for most users to get going. When you use Teach Mode, be sure to try the shift/alt/ctrl/Amiga shift keys, to find out what the various combinations do with the keys and mouse-clicks and gadgets in the message line. Abort out of Teach Mode with Amiga-ESC. Goals in writing Uedit were openness, flexibility, power, friendliness - above all to give Freedom of Choice to the user. Being able to edit 100 files (or more) is only the beginning of the depth Uedit has got. Learn Mode adds a new dimension, providing instant automation for people who hate reading instructions and only want to know enough to get the job done. The command language adds another dimension, letting you rewrite Every command, even the gadget and mouse button commands - on the fly. Example: Put the cursor anywhere before the following command and press F6. Now press Esc. Then there is the overall configurability and customizability, being able to swap and kill keys, change colors, customize the menus, etc. Then there is the ability to switch configurations, changing the personality of Uedit in seconds, without interrupting editing. Then there is the fact that it sleeps so that other tasks run efficiently and it can start other tasks and load in their results so that you can use them. The ARexx interface allows you to send commands or text to Uedit from CLI or from host programs, thereby controlling Uedit from outside. It allows Uedit to exchange data with ARexx host programs. The "infinite" buffer and number stacks enable you to edit as many files or hold onto as many buffers or numbers as memory will hold. Spooled file saving and spooled printing let you continue editing while saving and printing are in progress or when Uedit is in tiny window. You can click the title bar and go to tiny window even during an operation, and the operation continues while in tiny window. The spell-checking version of Uedit (see Uedit-Policy) allows you to spell- check documents, build dictionaries, create and use dictionary supplements, and so on. Features Uedit has too many features to go into here. To name just a few, it has on- line Help facility as well as Teach Mode that teaches the purpose of keys, gadgets, clicks, and menu selections. It has split windows, colored (hilite and invert) regions, interlace screen and RGB color tuning, mouse-scrolling and mouse cursor-placement, full sets of cut/copy/paste/clear capabilities for regular, inverted, or hilited as well as columnar text. It lets you edit up to 100 or more files at once, has paragraph reformatting, page-making commands, printer selection and controls, undo-deletes, search- replace, edit-while-you-print up to 12 documents or regions, ctrl-click- loading of any filename anywhere, an interface that lets you use ARexx, and much more. The main reason that Uedit's features can't be listed is that the user can create new ones anytime. New commands can be typed into any buffer. They are compiled in a fraction of a second typically, when you put the cursor in front of them and press f6. The command development and debugging work environment is extremely fast. New commands can be tested immediately after they have been written or changed. Ignore the Technical Aspects In order to discover how easy Uedit is to use productively, ignore anything technical in this tutorial for the moment. Just use the program like you would any editor or wordprocessor. Uedit was written for ordinary people, not for hackers, although it is true that most users are technical. You don't need to memorize anything technical in order to do powerful and automatic things. For instance, learn mode couldn't be simpler to use and it doesn't require any technical grasp or memorization. Yet it offers benefits that rival those of the command language and overall customizability of the program. Just try Uedit as an ordinary editor first, and see how you like it. And remember: Almost anything you don't like can be changed by the user. Getting Started Workbench and CLI: You can run Uedit immediately in Workbench by clicking its icon. You can run it immediately in CLI by typing "Run UES file1 file2 file3 etc". To be able to run UES from any directory, run CLI and type the following: Copy UES C: Copy NoName.info S: Copy Data! S: Copy Help! S: Copy Key-Help S: Now you can run Uedit from any directory. NoName.info must be in S:, if you are going to select "Make icons" so that Uedit will create file icons for you. (You can create your own custom NoName.info icon, if you wish.) Data! and Help! must either be in S: or in your current working directory. Here is what the key-prefixes mean in the menu selections: S=Shift, A=Alt, C=Ctrl, L=leftAmiga, R=rightAmiga. Keypad keys are abbreviated with "kp". If a menu selection says "L-0", it means that holding down the left Amiga key and pressing "0" will do the same thing as the menu entry. If it says "SA- kp7", it means hold down Shift and Alt keys and press the 7 on the keypad. Press Help or use HyperText as needed. Select "Teach keys" to learn about Uedit's keys. When finished with Teach Keys, press Amiga-ESC. (HyperSample and HyperSample.tbl must be in the current directory to use HyperText.) Amiga-ESC is Uedit's general purpose Abort key. Use it to Abort any operation. To slide Uedit's screen up/down, put the mouse at the far right of the title bar. CLI command line: The "Run UES" command line can have any number of file names in it, up to the maximum that you are configured to use. (The Shareware UES program is wired for 4 files maximum.) The following flags can be used in the CLI command line as well. The flags must come BEFORE the file names in the command line. Example: Run UES -a0x0f0f0f0f -b12345678 -lMyLearnSeq -k300 -dDataFileName -cConfigFileName file1 file2 file3 .... The -a and -b flags initialize the global variables UserGlobalA and UserGlobalB. The -l flag causes the learned sequence to be run after the files in the command line are loaded in. The -k flag causes the key with the corresponding macro-number to be executed - after the files (if any) are loaded, and after the learned sequence (if any) is run. The flags are handled in the following order: -c config file is loaded and compiled, if named. -d data file is loaded, if named & exists & -c flag not used. The named files are loaded, if any. -a and -b set the global user variables, if used. -l runs the learned sequence, if named & exists. -k runs the key, if named & exists. The function keys, F1 thru F10, do the following (with no shift keys): F1 = next file F2 = save file F3 = close file F4 = quit F5 = swap next 2 commands F6 = compile command following cursor F7 = input search text and search fwd F8 = input replace text F9 = search fwd F10 = replace & search fwd Files and buffers: Uedit has 100 buffers, which can be used for holding documents and bits and pieces of text. The lowest buffer numbers are used for holding documents. Any number of buffers may also be stored on the buffer stack. (The same is true of the number stack and the file-saving queue.) How many files Uedit will let you load in is determined by the "Max files" menu selection. (The Shareware UES is wired to 4 files max.) Directories and Files: The easiest way to load a file is to Ctrl-click its name in Uedit. There are two "current" directories: One is the Current Directory in which the Uedit program is running. This is the directory you started up in, unless you change it. (See AmigaDOS menu.) The second is the click-loading directory that Uedit currently is using. The default click-loading directory is also the directory you started up in, but you can change it as described below. If you ctrl-click a directory name such as myDir/ in any buffer, the directory name is added to the list of directories in buffer 38. If you ctrl-click in whitespace in any buffer, a split window opens up showing you the directory list (buffer 38) with the current click-loading directory hilited. In the split window (buffer 38), you can change the current directory, get a dir listing, edit or save the directory buffer, get the current directory (CD), or select a new click-loading directory. You can also get a directory listing by selecting "Directory" in the menu. The directory name you give is put into the directory list and becomes the current click-loading directory. The "Files" menu lets you load/insert/rename/restore/save/close files. Miscellaneous: To make the 4 invisible "gadgets" in the message line visible or invisible, press Ctrl-g. To make the cursor page/row/column info visible or invisible, press ctl-2. (These are in the menus: "Mark gadgets" and "Row/Column".) Scrolling: Scroll vertically by holding down the mouse button and moving the mouse. The arrow keys also do vertical and horizontal scrolling. For faster scrolls, either hold down the up/down arrow key or use Shift, Alt, or Ctrl with the arrow key. For a slower scroll, use the up/down gadgets. Moving the Cursor: Much of the time you may prefer placing the cursor by clicking the left mouse-button. The keypad keys 2, 4, 6, & 8 move the cursor up/down/left/right by word/ character/line/page depending on which shift key is used. (Teach Keys will give you the sense of the keypad keys.) Scratch deletes & Undo: Scratch deleting is what you'd normally use in meat & potatoes text work. The following keys do scratch deletes at the cursor location: Ctrl-d deletes the cursor line. Keypad-7 (unshifted) deletes word-left. Keypad-9 (unshifted) deletes word-right. Shift-kp7 deletes character left. Shift-kp9 deletes the character under the cursor. Alt-kp7 deletes to start of line. Alt-kp9 deletes to end of line. Ctrl-kp7 deletes to top of window. Ctrl-kp9 deletes to bottom of window. These are the "scratch" delete keys. When you use them, the deleted material is stored in the scratch-delete (Undo) buffer. Long as you don't move the cursor and make a delete somewhere else, you can store any number of scratch deletes. Pressing keypad-0 inserts the Undo buffer at the cursor. Thus, after doing a series of scratch deletes using the above keys, you can place the cursor somewhere, press keypad-0, and insert the deleted material. If you move the cursor and do another scratch delete, the Undo buffer is cleared before the newly deleted text is stored. You will find that you do most of your cut & paste the quick & dirty way, using scratch-deletes and the Undo key. If you select "Undo buffer" in the Split Window menu, you can monitor the contents of the Undo buffer and even type into it. To adjust the size of any split window, activate the window by clicking it with the mouse and then press lAmiga-= and adjust the size by holding the left mouse-button and moving the mouse. There can be up to 8 split windows in use. There are many ways to do cut/copy/paste operations with Uedit and to do them in parallel. You can be doing cut & paste using scratch deletes, hilite region, invert region, and columnar data, all at the same time. If these aren't enough, you've got 100 buffers to put bits and pieces into. Any number of buffers can be put onto the stack using "Push buf", so you can maintain as many files and buffers as memory will hold. (The Shareware UES program does not include the buffer & number stack functions.) Creating a hilite region: There are 3 ways to mark a hilite region. Press HELP and it will show them to you. But rather than do that, try this: Place the mouse high up in the text. Hold down the Shift key and click the mouse. Move the mouse to the lower right in the text. Hold down the Alt key and click the mouse. There should now be a hilited region. This is one method of hiliting. Try this: Select "Hilite buf" in the Split Window menu. This shows you the contents of the copied hilite buffer. Put the cursor anywhere in the colored, hilited region in the original buffer. Now press keypad-Minus, the "-" key on the keypad. This "cuts" the hilited region. The region disappears. (Don't move the cursor yet!) Note that the cut material appeared instantly in the "Copied hilite" buffer. Now press keypad-Enter. This puts the "cut" text back where it was. And it is hilited. To unhilite it, press alt-h or select "Unhilite". To get rid of a split window, click the mousebutton in it, making it the active window-split. Then select "Drop split" in the Split Window menu or press lAmiga-0. Columnar text operations: Columnar regions are rectangular. This means that when you create a hilite region to use for columnar text movement, the Start of the hilite region must be in a Lefthand column and the End of the hilite region must be in a Righthand column. No region exists if the end of the region is not in a higher column number. Place the mouse high up in the text and to the left. Press Shift and click the mousebutton. Place the mouse low down and to the right, pointing to some word in the text. Press Alt and click the button. Select "Col display" in the Edits menu. Now the region should be displayed as rectangular. Select "Col copy" in the Columnar menu. This makes a copy of the columnar region. Put the cursor anywhere with the mouse. Select "Col insert" in the Columnar menu and see what happens. To remove the inserted, hilited columnar region, select "Col cut" in the menu. (NOTE: The keypad copy/cut/paste keys kpDot, kpMinus, and kpEnter also work as columnar keys when columnar display mode is used.) You should experiment with columnar text in order to understand how to manage it. (If you altered this Uedit-Tutor file just now, select "Restore" in the Files Open menu to restore it to the original.) When using columnar display mode, TABS are shown as "box" characters. This is so that columns line up correctly when spaces and TABS are intermingled, as they often are. Tab Rulers: There are 5 tab tables in Uedit, numbered 0 to 4. You can change the tab table your document is using by selecting "Tab table" in the menu. Individual documents can use different tab tables. The tab ruler shows the tabs in the current document's tab table. Select "See ruler" to see what the tab columns are or select "Set ruler" to set the tab columns. If you have selected "Set ruler" and wish to set tabs at high columns beyond the right edge of the window, hold the mouse-button down and drag the mouse to the left, then release the button. To slide the ruler to the right, drag the mouse rightward. Tab columns can be set by clicking the mouse within 2 lines of the ruler, or by using the keys that the help message says to. Screens, colors, and RGB tuning: The "Lace/Planes" submenu lets you select from 4 screens, which use 2 or 4 colors, regular or interlace. You can see the most lines of text by using an interlace screen. Scrolling with the mouse is fastest when you use a regular 2 color screen. Half as much memory is used when you use a 2 color screen. You can tune the RGB colors of Uedit's screen by selecting "Tune RGB"; press ESC when you are finished with RGB tuning. To rotate the 4 screen colors, press alt-HELP until you see a combination that you like. Each buffer can use its own colors. If you change the colors and want the menu colors updated, select "Do menus". Printing: In the "Printing" menu, select "Print select" and put in a number 0 to 3, telling Uedit where you want your printing to go. The message line tells you what the numbers 0-3 mean: 0 = raw text out the parallel port 1 = raw text out the serial port 2 = processed text using the Amiga's printer device 3 = raw text using the Amiga's printer device If you embed Uedit's printer control codes in your text (such as for boldface, italics, etc) using the "Bracket hilite" or "Embed code" menu selections, you must set "Print select" to 2 or 3. If you embed your own custom printer codes in the text, then you can use "Print select" values 0, 1, or 3, and they will be sent to your printer in raw form. (Print-select value 2 allows the printer device to "strip out" any control codes that the Amiga printer device doesn't recognize.) (To embed CTRL characters, such as ESC, press ctl-c and then the desired character. To identify any control character in the text, put the cursor on it and press ctl-/.) Print queue: In the printing menu, you can select "Print hilite" or "Print file". Long as the print-job will fit into memory, you can queue up as many as 12 print-jobs and still go on editing while they print. You can even queue up print jobs to different printers, by changing "Print select" before selecting "Print hilite" or "Print file" for each print-job. If the print-job is too big for memory, you will have to wait until printing is finished before you can continue editing. Save on idle: By selecting "Save on idle" in the Local Modes menu, your file will be saved during pauses in your work, if it has been changed. The length of the pause can be set by selecting "Idle timer". Margins, line-length, and lines-per-page: In the Line/Page menu are selections for lines/page, line-length, top/bottom margins, and end-of-line. If you want an "inner" left margin temporarily, simply indent the text and select "Autoindent", so that succeeding lines stay at the same indentation. To control the right margin, set line-length to the desired value. If you set Left Margin in the Line/Page menu to any value greater than 0, typing will use the new left margin value. Also, reformatting paragraphs will cause them to be reformated at the new left margin value. Thus you can reformat an inset paragraph so that it is moved to the far left by setting Left Margin to 1 and reformatting it. Paragraph reformatting: To reformat a paragraph, put the cursor in the line where you want reformatting to begin. Then select "Paragraph" in the Reformats menu or press ctl-3. Paragraph reformatting ends when it reaches a blank line or a different indentation. Different indentation says that you want a different left margin, hence it is not considered part of the paragraph being reformatted. Page formatting: See the Paging menu. Pages are determined by formfeeds in the text or by the line-count, using the current lines-per-page value. To set the lines/page, see the Line-Page menu. The Page Formatting menu has selections for going to page#, going to top of page, gding to bottom of page, inserting a page-division, deleting the next page-division, and auto-inserting page-divisions in your entire document. When a page-division is inserted, the page number is automatically put in. You can erase the page number by selecting "Del page #". Page numbers are put 1/2 the bottom margin distance from the bottom of the page, where the bottom of the page is simply the lines/page setting (normally 66). (Note that these are all user-customizable commands which you can modify and recompile. Every command in Uedit is customizable.) When a page-division is inserted, the top margin for the next page is also put in, after deleting any blank lines. The formfeed causes the display to draw a line across the window, making page divisions easy to locate visually. You can find page divisions quickly by using the "Bottom page" and "Top page" menu selections. (These are lAmiga-b and lAmiga-H.) To insert a page-division and page number at the cursor, press lAmiga-v or select "Divide page". To remove a page division, put the cursor anywhere in the page above the page division and press lAmiga-d or select "Del page div". Odds and Ends To abort any operation, press Amiga-ESC. Primitive Mode is used for special text and number inputs. The Title Bar and the message line tell you what to do in Primitive Mode. If you press F7 to input a search string, you'll be in Primitive Mode. Type in the search text, then press ESC or click the mousebutton to terminate the input. In Primitive Mode, you can type in Ctrl characters (such as ctl-m for carriage return) directly. No need to press ctl-c first. You can change the Primitive Mode terminator character from ESC to some other Ctrl character (such as the Return key) by selecting "PM terminator" in the menu or by pressing ESC. You can search for two things at once by putting a "$" dollar sign between two search strings. This is the eitherOr delimiter. To cause searching to skip a particular pattern, use the "all-but" delimiter which is "~". The "?" question mark is used by search as a single-character wildcard. The "*" is used as a multi-character wildcard. You can change these special characters by selecting "Wildcards" or "Either-or" in the "Settings" menu. "Search case" toggles on/off the upper/lower case-sensitivity of searching. In the message line are fake "gadgets" (if "Mark Gadgets" is turned On), such as "Next file", "Prev file", and so on. These message-line gadgets are just like keys and mouse clicks. They can be swapped, killed, reprogrammed, learned, used in menu selections, and so on. Gadgets can be used with shift-keys, so there can be many more than 4 gadgets. Menu selections are always attached to a key, gadget or mouse-button command. If you swap a menu selection, the key you swapped it with is run when you select that menu item. Bookmarks: The Shift gadget keys allow you to place up to 8 bookmarks in any buffer and goto the next or previous bookmark. Grep: Uedit has an enhanced grep, in addition to the normal search & replace capability. The grep commands are the following: lAmiga-f7: set grep /search/replace/ string lAmiga-f9: grep search forward rAmiga-f9: grep search backward lAmiga-f10: grep replace & search forward rAmiga-f10: grep replace & search backward Uedit sleeps when it can, so that other tasks will run faster. Clicking the Title Bar switches to the tiny window. The tiny window comes up inactive, so you can type into CLI immediately. This also lets the Amiga reopen the big window in a better memory location. If Uedit runs out of memory and the "Memory..." message appears, that means it is compacting its stuff in memory, creating a larger area for the Amiga to use for graphics. If "Memory..." appears, you ought to save and close some documents. Also it's a good idea to click the Title Bar and reopen Uedit's window. Uedit sleeps between inputs. If you don't type anything for 4 seconds, it does housekeeping. If you select "Busies", you'll see which buffer is being worked on. When the housekeeping is done, it sleeps. In the window's Title Bar, brackets [buf#,flags] contain the buffer number and various flags. If Learn Mode is currently learning, "L#" appears, where # is the number of steps in the learned sequence. If you are in Teach Mode, "T" appears. If documents are queued up for printing, "P#" appears, where # is the number of print jobs yet to be done, up to 12 maximum. If file- saves are in the queue, "S#" appears, where # is the file-saves remaining. Uedit picks up font changes made with Preferences or SetFont. It speeds up the displaying of sized 8 and 11 fonts, such as Topaz 8, Clean 8, and Topaz 11, but it will let you use any font. When you first start Uedit, it uses the font that Workbench is currently using. It works with all known hardware add-ons. Some people start Uedit in their Workbench df0:S/Startup-Sequence and do everything from inside it. They let it run other tasks and continue editing or let it sleep in tiny window while they work elsewhere. To see the current settings for line-length, lines/page, tab-table, margins, Uedit Serial Number, etc, press shift-HELP or select "Show vals". This also shows you the size of the current file. Some settings are global and others are local to the current file. Changing a local setting like word-wrap changes the global setting for future files loaded in. To recover the original configuration after fooling with commands, colors, etc, select "Load data". After making any of the changes discussed here, selecting "Save data" will save all current settings to disk. (Note: Save Data is not included in the Shareware UES program.) Editing Tricks If you are like me and hate reading instructions, and expect programs to be Easy Without Reading, then Learn Mode is for you. No reading is necessary. Learn Mode uses just the normal editing stuff. It offers immense power and capacity to automate tedious, repetitive jobs. If you need to search and replace misspelled names in 300 documents, you can teach Learn Mode how to do one and let it do them all while you take a break. To set up for such automation takes only as many seconds as it takes you to do one operation yourself, showing Learn Mode what to do. Simply press ctl-s to start Learn Mode, do the sequence of operations, and press ctl-r to end Learn Mode. (If you press ctl-s a second time, it aborts and wipes out the learned sequence.) Then press ctl-r to see how it works. If you did it right and it works right, press ctl-m to set the command multiplier and then press ctl-r to run it as many times as desired. The Manual has lots of Examples and Editing Tricks which show how to take advantage of Uedit's versatility and power. It describes how to use Learn Mode to click-add numbers or click-bracket words, do a mail-merge, and so on. A useful trick is to swap "Run learn" (ctl-r) with the mouse's buttonUp operation. (A menu selection "Swap mouseUp" lets you do this swap.) Then when you click the button, buttonDown will deposit the cursor like it normally does, and buttonUp will execute a learned sequence! The learned sequence can be anything. It can, for instance, click-bracket text with printer control codes. The Manual's Editing Tricks presents such examples. Or you can swap the mouse's buttonUp operation with another key, such as the add-numbers key (ctl-=). Just select "Swap mouseUp" and press ctl-=. Then you can click-add numbers that are scattered in various documents. Pressing ctl-\ will put the running total into the text at the cursor. Learned sequences can be stored on disk as files. They are stored in your current directory. If you copy them to S:, Uedit will find them from any directory. The "Learn" menu lets you start, terminate, run, load, and save learned sequences. (Note: Save Learn is not included in the Shareware UES program.) A saved learn sequence might, for example, go to top of document and type in a header, or go to bottom of document and type your name and address. You could save it to disk and select "Load & run" in the Learn menu to run this learned sequence anytime. You can assign a special key that inserts a header in one keystroke: Config! and Data! Config! is a configuration file which is the Source of every command Uedit currently uses. (Except, of course, you can customize Uedit while you're using it.) A configuration may consist of a series of files. The current standard config consists of: Config! (defaults and menu selections) Config!M (misc) Config!P (printing & paging) Config!R (ARexx) and Config!S (spelling & split windows) Data! is a compiled copy of Config! which Uedit loads at startup. Data! should be in your S: directory or in your current directory, along with Help!, the help file. If Data! is in S:, you can run Uedit from any directory or disk drive. (Normally S: is assigned to the DF0:S subdirectory. To assign it to myDirectory, type "Assign S: myDirectory" in CLI.) To make Uedit recompile the config file, in CLI type: Run Ues -c The Config!(A-Z) have to be in your current directory or in S:. You can keep as many config and data files on hand as you want. The "Save data" and "Load data" selections in the menu let you switch configurations or save changes to Uedit that you have made while editing. Thus you can customize it while using it. (Save Data is not included in the Shareware UES program.) You can load and save data files from/to any directory and under any name. By customizing Uedit, you can turn it into an emulation of a favorite program or a disk utility or even possibly a spreadsheet. While editing, you can select "Load data" and load in an entirely different configuration, changing its appearance and behavior. If you run Uedit by typing "Run UES -dDataFile .." or "Run UES -cConfigFile .." in CLI, it will load DataFile or compile ConfigFile. You can have hundreds of commands on-line at the same time. Keys can load, compile, run, swap, and kill other keys, so there really is no limit to how many commands can be available at the press of a key. Also you can create Partial Data files which contain blocks of commands that can be loaded in collectively or individually. (Note: The saveKeys() function is not included in the Shareware UES program, but loadKeys() is included.) There can be up to 7 menus with up to 20 selections each with up to 12 submenu selections, for a total of 1680 submenu selections. The configurability of Uedit is extreme. A directory utility configuration was written that, in some respects, is more powerful and useful than directory utility programs typically are. It lets you load in up to 100 or more directory listings and copy/delete/rename files and directories. And while using it you can hold onto the files you were editing before you switched over to the dir-util config, as well as load in various files to read, edit, and save them while in the midst of directory house-cleaning. This dir-util config is available as an extra. Kurt Wessels wrote a config called UStar which emulates WordStar (tm) and Scribble! (tm). Kurt's UStar is available as an extra. Eric Kennedy wrote a VI! config which emulates the famous Unix(tm) vi editor. Unix users can feel right at home, using VI! instead of Uedit's standard configuration. VI! is available as an extra. Kent McPherson has written a Gold Key configuration that emulates the famous EDT Gold Key (tm) editor on DEC (tm) minicomputers. Others have written specialized configs for programming and emulations of popular programs. These are available as extras or from the authors or in the public domain. Acknowledgements I wish to thank the many users who have given thoughtful feedback on Uedit since it came out or have uploaded it to networks for me at their expense or helped in other generous ways. Most of the improvements since V1.0 have been because of their feedback, and Uedit's survival is due to the generous assistance of many users. Used to be, I included a list here, but I simply had to take it out. To name even one person or to try to name all who deserve it is sure to leave out somebody who really helped a lot. ***************************** Your feedback will be appreciated.