Greetings! E is a little programming editor I wrote and am releasing into the public domain. It keeps the file being edited in RAM and makes use of all available standard memory, allowing editing of large files. It provides a full set of cursor movement commands, block and line move and delete functions, and find and replace operations. Block operations may be directed to use an internal buffer or another file. It's written in TASM for speed and compactness (I've included the source so you can make your own modifications if you want). E is simple enough that it doesn't need much extra documentation. Just fire it up and press F1 for help. Here's an expanded version of the help screen with some additional comments, followed by a version history. left left arrow, ^s The Ctrl-letter forms of the right right arrow, ^d cursor commands may be harder to word left ^left arrow, ^a remember, but don't require that word right ^right arrow, ^f you lift your hands from the home start of line Home keyboard position. end of line End up up arrow, ^e 'Delete to end of line' and down down arrow, ^x 'delete line' put the clipped lines page up PgUp, ^r or portions into a delete buffer page down PgDn, ^c from whence they may be undeleted start of file ^PgUp using Ctrl ^. This is the easiest end of file ^PgDn way to move a few lines: delete backspace backspace the lines, move the cursor to delete Del the new location, then undelete. delete word left ^[ delete word right ^] The block commands marked with delete to end of line ^\ a * will use a file (you'll be delete line ^- prompted for the name) if the shift undelete line ^^ key is pressed along with the Alt- toggle insert mode Ins letter combination. Otherwise an help F1 internal buffer will be used. These mark start of block @b commands only work on whole lines. copy block @c * Copy will put a copy of all marked delete block @d * lines (between the line where you insert block @i * pushed Alt B and the present cursor empty block buffer @e * location) in the buffer or a file. unmark @u Delete does a Copy and removes the find @f + original lines. Insert inserts the replace @r + contents of the file or buffer above find/replace all @= + the present line. To move text, use save and continue @s Delete then Insert. To move text save and exit @x between two files, Delete or Copy to kill save on exit @k the block buffer, Alt O to change label (0-9) @l files, then Insert. go to label (0-9) @g jump to line # @j Find and Replace will use the set tab width @t strings last entered if the shift toggle autoindent @a key is down. Replace must always be used immediately after Find. Use @ = Alt, ^ = Ctrl. Find/Replace All if you're sure you * = to/from file if shifted want to change all occurrances of a + = use previous string(s) if shifted string. Otherwise use shifted Find and Replace selectively. Alt O will save the current file and prompt for the name of a new file to be loaded. Use Alt S to save and continue, Alt X to save and exit, and Alt K followed by Alt X to discard any changes made and exit. Autoinsert mode lines up the start of each new line (after Enter) with that of the line above it. Use Alt A to toggle this on or off. When off, each new line will start at the left-hand margin. You can mark your place in the program with Alt L, which prompts you for a label from 0 to 9. Pressing Alt G, then the label number will return you to this spot. Alt J will prompt you for a line number to jump to. Whenever you are entering something in response to a prompt such as a find string or file name, entering a null string (just Enter) will cancel the command. I'd appreciate hearing about any bugs, and welcome any other comments. I may release an upgrade one of these days. To contact me, leave a message on the EXEC PC BBS (1-414-964-5160) or write me at the address below. Please enclose a stamped, self-addressed envelope if you need a reply. Sorry, I can't promise any support. Thanks for trying E! David Nye MD 4209 W Lowe's Creek Rd. Eau Claire, WI 54701 11 June, 1989 19 Aug 89 Version 0.1: You may now change E's default screen colors and tab width using debug by typing: >ren e.exe e.fix >debug -e 157e nn mm tt -w -q >ren e.fix, e.exe where nn and mm are the desired attribute bytes for text and marked text/status line respectively and tt is the tab width (all in hex). When you use Alt O to switch to another file, the contents of the block buffer are preserved and can be inserted into the other file for cut and paste operations between files (previously you had to use a scratch file). Tabs are now automatically expanded when a file is read in. I fixed a bug which caused the program to hang if you failed to specify a file to edit on the command line and another which made a little box with a circle in it appear mysteriously before certain lines of text in an edited file. ALT M (mark block) has been renamed to ALT B. Not only is B easier to reach when pressing the ALT key, but I plan to add macros in the next release and will use ALT M for that. I also think I'll add word wrap, paragraph reformatting, and ability to specify margins to make E more useful for simple documentation.