EDWIN is a programmer's editor based on the Borland Editor
Toolbox. It offers multiple editing windows and buffers, block
moves between windows, undeletion, online help, Pascal structure
editing, macro record and playback, DOS invocation from the
editor, and file size limited only by available RAM.
For IBM PC and true compatibles. Keystrokes are WordStar
compatible by default, but are fully configurable. Works with
monochrome or color cards. Requires 256K.
A. New Features
Relative to version 1.3, this version of EDWIN has the following
Whenever you are prompted for a file name, you can enter the
name of a drive, directory, or wildcarded file specification.
EDWIN will pop up a window showing the matching files, and you
can select one via the Up and Down arrows and the key.
In adding the popup directory picker, we irrevocably exceeded
Turbo's 64K code segment. As a result, EDWIN now has a single
overlay file, EDWIN.000. This file must be kept in the same
drive and directory as the other EDWIN support files. The
specific location can be specified using the installation
Scrolling performance has been improved on CGA adapters. The
screen is not updated continuously, but just once for each
6 windows are enabled. A zoom mode allows the current window
to grow to fill the full screen, hiding any other files until
zoom is toggled again.
The window status line has been redesigned. New information
includes the bytes used up to the cursor location, and a
"save flag" indicating when the file has been changed, as well
as a zoom indicator.
The text cursor now can be installed in either of two modes. A
non-blinking solid cursor of any color can be chosen.
Alternatively, the blinking hardware cursor changes size to
indicate whether the editor is in insert mode (fat cursor) or
overwrite mode (thin cursor). The BIOS is kept fully informed
of all cursor positions and modes in order to work better with
memory resident writer's assistants.
A default macro file, EDWIN.MAC, is automatically loaded into
memory when the editor is started. The EDWIN.MAC we supply
includes macros for indenting and unindenting text and
inserting standard Pascal constructs (procedure, function,
program, register set) into a program. A full blown macro
editor is incorporated into the installation program EDWINST.
This macro editor can be used at any time to generate new
macro files. The macro record mode within EDWIN is still
The keyboard remains fully reconfigurable. The installation
program now automatically generates a help file matching the
current keyboard installation. The installation program now
has an option for "fast install." This sequentially prompts
for each entry, and is the desirable method if you are
reconfiguring many keys from the WordStar version.
To save code space and add generality, the help facility now
treats the help file just like any other file or window.
Pressing the help command sequence opens a new window, reads
the help file from the installed directory, and lets you do
any EDWIN commands within that file. Note that you can modify
the file if you see fit. To exit help, press the Quit file
command (by default, ^K^Q).
The EDWIN search algorithm now allows searching for the end of
line, which is found with the key combination ^M^J
(carriage return/line feed). This makes design of certain
macros feasible, including the autoindent marked block macro
which is supplied.
A "Delete no recourse" command was added. This deletes the
current line without putting it on the undo stack. It is bound
to the Ctrl-Del key combination by default, so watch out!
If you have previously reconfigured KEY files or macro files from
earlier versions of EDWIN, these will need to be rebuilt. The
addition of new commands, and a change in the format of macro
files, make this necessary.
Other smaller improvements will become apparent when you use
A number of small bugs, and a couple of not so small ones have
been fixed. These include:
Wasteful memory allocation when many newlines are inserted
at the end of a line.
Occasional crashes or a weird flashing of the current line
after a marked or global replace.
Odd placement of the cursor on the top command line, or
mangled text messages there.
Paragraph reformat wrong for the last paragraph of a file.
Invalid parsing of filenames using the ..\ or .\ prefixes.
Block markers set incorrectly after blockreading a file
into a file.
^QL (Restore line) not setting the "modified" flag.
Multiple windows onto a single file causing a crash when
significant deletion was done in one window.
This program was written by Kim Kokkonen of TurboPower
Software and is supported on a hobby basis. We will
appreciate your suggestions and comments, but cannot promise
This program has been released to the public domain for
personal, non-commercial use only. You may use it yourself,
give it to your friends or co-workers, or distribute it for
a cost-based fee as part of a user's group or bulletin board
service. If you wish to distribute this program as part of a
commercial package, please contact us for a license
If you ask for support or updates of this program, please
expect to make enough of a donation to cover our costs. We
will ask $10 to send you the latest version of the program.
Our business number is 408-438-8608, and is answered
Monday-Friday 9AM to 5PM Pacific time. We can also be
reached via CompuServe [72457,2131].
Our real business is the development of tools for Turbo
Pascal programmers. Our products include:
TurboPower Utilities - 9 programs: Pascal Structure
Analyzer, Pretty Printer, Execution Profiler, Execution
Timer, File Compare, Regular Expression Find and Replace,
Super Directory, File Finder, Command Repeater.
Turbo EXTENDER - offers 640K code model (with overlay
support as well) for Turbo. Also large data arrays, up to
30 megabytes. Plus a disk cache toolbox, a program to
analyze overlayed Turbo programs, a Pascal source code
encryptor, and more.
T-DebugPLUS - a source level debugger for Turbo Pascal.
For sub-64K programs, the debugger integrates into the
Turbo development environment and provides the ability to
breakpoint on source statements or procedures, as well as
the ability to examine and change variables using normal
Pascal syntax. For Turbo EXTENDER programs, or for those
requiring the services of a machine level debugger, the
debugger creates a DOS-standard symbol file for the
program, allowing use of other symbolic debuggers such as
Symdeb, Atron and Periscope.
Many thanks to the following people for their aid in the
development of EDWIN: Bela Lubkin (DOS EXEC function,
Command editor, DOS Critical error handler, mucho beta
testing), Randy Forgaard (fast text search), and Brian Foley
(fast CGA screen writer). And of course to Borland for the
Editor Toolbox in the first place.
D. Table of Contents
This document is organized as follows:
3. EDWIN Overview
4. Cursor Movements
5. Quick Movements
6. Inserting and Deleting
7. Find and Replace
8. Files and DOS
10. Blocks and Markers
13. Text Processing
14. Final Notes and Cautions
EDWIN is supplied with several files which are accessed when the
editor is started up. The name and purpose of each file follows:
EDWIN.COM - the main executable file (** required)
EDWIN.000 - overlay file (** required)
EDWIN.KEY - the keyboard definition (** required)
EDWIN.MSG - text messages used during editing (** required)
EDWIN.HLP - online command summary (optional)
EDWIN.ERR - error messages (optional)
EDWIN.MAC - default macros (optional)
Those files labeled as "required" must be accessible to the
editor when it is loaded. The "optional" files will be ignored
if they are not found at load time.
The drive and directory where the support files are to be found
is configurable via the installation program, the use of which
we will now describe. All of the support files must be kept in a
EDWINST.COM is the EDWIN installation program. Before running
it, you should be sure that all of the files listed above are in
the same directory as is EDWINST.COM, and that the default drive
and directory are set to that directory as well.
EDWINST is a menu driven program and should be straightforward
to use. It offers several main categories of installation:
Screen - includes "snow control", editor colors, and cursor
Commands - includes ability to edit or fully reconfigure the
keystrokes used to activate all EDWIN commands. Also
generates the EDWIN.HLP file which will serve as an
online command summary.
Options - includes the pathname to the support files, default
settings when the editor is started, size of the
undelete stack, the terminator written at the end of
file, and the handling of tab characters on read-in
Macros - A general purpose macro editor that reads and writes
macro files in the format required by EDWIN. Use this
to maintain the default macro file, or any number of
other macro files.
There are a few interactions between these categories of which
you should be aware.
You should choose the Screen installation area first. Your
choices here may affect the speed of display of the rest of the
If you plan to reconfigure the keyboard, you should visit the
Command installation area next. The results of the
reconfiguration will affect the keys you use to install macros.
The keyboard installation will operate in either of two modes.
If you plan to change many or most of the keys, choose the "fast
full reconfiguration" mode. This one prompts sequentially for
all commands, and will save keystrokes in doing the definition.
After going through the sequential entry, you will have an
opportunity to edit any of the entries in a full-screen random
access mode. The random access mode is preferable if you are
tweaking a few commands, or adding your favorite function keys,
Each command supports a primary and secondary key sequence. You
can choose any unique set of keystrokes for all commands. Each
command is limited to 4 characters (note that extended ASCII
characters count as 2 each). EDWINST will not accept normal
alphabetic characters for commands. Note the requirements of
uniqueness - if one command is activated by , another
cannot be activated by . Otherwise EDWIN would not
know when to stop looking for command keystrokes.
One of the commands reconfigurable during keyboard installation
is the help key. If any keys are chosen for this command,
EDWINST will write a fairly large help file (EDWIN.HLP) which is
loaded into memory when EDWIN runs. The full help file uses
about 15K of RAM space while EDWIN runs. If you don't want help,
or if you need to regain the 15K of space, delete the keystroke
definitions for the help command. In this case, EDWINST will
write a minimal help file using less than 1K of RAM space.
EDWINST also writes the names of each of the default macros to
the help file, if a help key is installed. If you change the
macro definitions, you will need to return to the Command
installation area to rewrite a help file with updated
The Options and Macros areas can be visited last. The Options
area is most important because here you choose where the EDWIN
support files will be kept. By default, the support files must
be in the current drive and directory when EDWIN is started. If
you use EDWIN frequently, we recommend that you keep it and its
support files on a RAMdisk. This makes program loading almost
The Macro area can be used as a general purpose macro editor for
EDWIN even after installation work is done. The macro editor
first prompts for a macro file name, with a default of
EDWIN.MAC. Enter a non-existent file name if you wish to create
a new file of macros. You can also edit an existing file and
write the results to a different file.
After loading the macro file, you can scroll through the 10
available macros to choose which to edit. Choose one by pressing
its number or selecting it and pressing . You can leave
the macro editor at this point by pressing .
After choosing a macro, you will be prompted to enter or edit
the name of the macro. The name is simply a mnemonic string
which will appear in the online help and during later editing to
remind you of the function of the macro. It is not connected to
the keystrokes used to invoke the macro. The keystrokes used to
invoke a particular macro are chosen in the Command installation
After you enter the macro name, you can edit its contents. The
macro editor operates in two modes. The "command" mode reserves
several keys to aid in the function of the editor. The following
macro editing keys are supported:
, , and
move the editor cursor around the macro.
deletes the keystroke pointed to by the cursor.
deletes the keystroke to the left of the cursor.
clears the current macro.
copies another of the loaded macros into the current macro.
terminates editing the current macro. You will be prompted
whether to save any changes produced by editing.
toggles between insert and overwrite modes.
All other keys are inserted literally into the macro.
The key toggles between this command mode and a
"literal" mode. Once in literal mode, all keystrokes entered are
inserted literally into the macro until the key is
Note that if you have SuperKey or another memory-resident macro
processor installed, pressing any key combinations defined as
macros for that processor will insert that macro into the EDWIN
macro. Neither EDWIN nor EDWINST take over the keyboard at such
a low level as to inhibit other macro processors.
Each EDWIN macro is limited to 255 keystrokes. IBM extended
ASCII keystrokes count as two each. The current macro length is
reported in the editor status display.
After you traverse each applicable installation area, you should
choose the EDWINST option to Write the installed version out to
disk. Taking this step customizes the copy of EDWIN.COM to
operate as you have selected. If for some reason, you don't want
to save the changes, use the Quit option on the menu. Note that
the EDWIN.KEY, EDWIN.HLP, and EDWIN.MAC files may have been
previously rewritten by your choices in each installation
3. EDWIN Overview
EDWIN started as a WordStar clone (more accurately, as a Turbo
Pascal Editor clone), and the structure of the commands and the
screen were designed accordingly. As new features have been
added, the general flavor of this environment has been
EDWIN is strictly a text editor, flavored for programmers. The
minimal word processing features in EDWIN were added to satisfy
the needs of simple documentation like this text file or
comments embedded in programs.
When EDWIN is started, you will see a simple main menu. It
allows you to change default drive or directory, invoke a DOS
shell, or edit a file. You will return to this menu whenever all
files are closed and you have not chosen to return to DOS.
EDWIN can also be started by naming the files to edit on the DOS
command line. Up to three files may be specified on the command
EDWIN [file1] [file2] [file3]
Each file name may include optional drive and pathname.
One major benefit of EDWIN over its predecessors is the ability
to open windows on multiple files. This version of EDWIN can
open up to 6 windows at once. Windows can be added, sized and
closed at any time during an edit session. If two windows refer
to the same file, changes made in one of the windows will
automatically appear in the other. A "window zoom" command
causes the current window to fill the entire screen, while
leaving any other open windows hidden in the background.
The EDWIN editing screen is formatted as follows. The top line
of the screen is always reserved for command prompts, editor
status information and error messages. You will also note that a
'+' sign appears at the left edge of this command line whenever
a multi-key command has been partially entered.
EDWIN reserves one line at the top of each window for status
information about that window. This line holds the following:
current line number.
current column number.
number of characters from the cursor to the beginning of the
if word wrap mode is selected, the right margin value is
flag for insert or overwrite mode.
flag for autoindent mode.
flag for macro-recording active.
flag indicating file must be saved.
If the current filename is longer than will fit in the area
reserved for it, the leading portion of the name will be
The number of characters from the cursor to beginning of file is
the file size which would be created if that portion of the file
were saved. It includes two bytes per line for a return> sequence. It does not include any of the
memory overhead of the EDWIN internal text representation.
The "save" flag indicates that the file has been changed since
it was last stored to disk. A save is never required until you
exit the editor, but intermediate saves will protect your work
from hardware or software crashes.
The remainder of the editing screen is reserved for text.
The total file size which EDWIN can edit at any one time is
limited by available system RAM. The following overhead factors
may be of use in computing how much can be edited: For every
text line read in, EDWIN uses 24 bytes of memory. The length of
any text line can grow to 7 characters before this usage is
increased. For longer lines, EDWIN allocates memory space in 8
byte chunks. As a rough example, if EDWIN is run on a system
with 256K free memory (before running EDWIN), you will have
about 165K free memory after entering EDWIN. This free memory
will allow files of between 80K and 160K bytes to be edited,
depending on the average line length of the file.
The maximum line length of files in EDWIN is 999 characters.
Lines exceeding this length will be broken when the file is read
into the editor. The maximum number of lines in any file is
32767. Memory requirements will see to it that you never reach
By default, EDWIN is configured for online help. Pressing
function key opens a window onto a summary of commands and
macros. The help window is just like any other EDWIN window. You
can scroll around in it, search for keywords, even change it if
you wish. Use the quit file (^K^Q) command to close the help
If you know WordStar commands, you will be able to start using
EDWIN immediately. Dive in, use the help window and go for it!
The following sections describe each editing command in more
detail. Each command will be followed by its default keystroke
4. Cursor Movements Primary Keys Secondary Keys
The Abort command has nothing to do with cursor movements, but
we felt it should be covered first. Pressing the Abort command
sequence at any time in the editor will cause the current
operation to be stopped. This will be especially useful during
find/replace operations, command prompts, file reads or writes,
or other lengthy editor operations that you wish to halt
The character left command moves the cursor left one character
at a time until it reaches column 1, then it stops.
The character right command moves the cursor right, even beyond
the end of the text. It does not stop until it reaches the
maximum line length at 999 characters.
Horizontal scrolling of the screen occurs whenever the cursor
passes the left or right borders of the screen.
Word left and right move one word with each command. Words are
delimited by spaces, common punctuation, and the beginning and
end of lines. A few non-intuitive word delimiters are used for
compatibility with the Turbo editor.
Line scrolling works in the expected manner. The and
keystrokes for scrolling are activated only when
SuperKey is installed.
Page up and Page down scroll by one line less than the full
screen. For windows covering less than the full screen,
scrolling is based on the window size, not the full screen size.
5. Quick Movements Primary Keys Secondary Keys
Top of file
Bottom of file
Cursor to left side
Cursor to right side
Top of screen
Bottom of screen
Up to equal indent
Down to equal indent
Go to line
Go to column
Go to window
Previous cursor position
Whenever possible, the quick movements will avoid scrolling the
screen, and will simply reposition the cursor.
The first six of these commands should be obvious.
Up to equal indent and Down to equal indent are particularly
useful for structured programming. When these commands are
invoked, the leading indent of the current line is measured. The
cursor is then moved up or down until it reaches another line
having the same indent as the starting line, or it reaches the
beginning or end of the file. This is useful for finding matched
BEGINs and ENDs.
The Go to Commands allow direct movement to another point in a
file. EDWIN will prompt for a value after you enter the command
sequence. It accepts either absolute or relative numbers. For
example, Go to Line 100 moves directly to line number 100. Go
to Line +20 moves 20 lines toward the end of the file. Go to
Line -40 moves 40 lines toward the beginning of the file.
Regarding the Go to window command: Windows are numbered
starting with 1 for the first (topmost) window on the screen.
Previous cursor position will recall wherever the cursor was
prior to the last command. Using this command twice in
succession will return the cursor to its starting position.
6. Inserting and Deleting Primary Keys Secondary Keys
Undo last deletion
Insert control char
Delete current character
Delete left character
Delete right word
Delete line right
Delete line (no undo)
EDWIN accepts all ASCII text not otherwise defined as a command.
As a result, you can enter high-bit extended characters for
drawing boxes, or using foreign language characters. These
characters are entered by using the Alt numeric keypad sequences
as normal in DOS (note that if SuperKey is installed, you must
press left shift and Alt simultaneously).
To insert keystrokes into your text which are otherwise reserved
for commands, use the "Insert control char" command. Any
keystroke following this command will be inserted literally into
EDWIN provides two undo mechanisms. "Undo last deletion" will
recall the most recent line deleted and insert it into the text
at the current cursor position. Note that this undo operation
applies only to full line deletions. It also applies to the text
involved in block deletes.
The undo stack is limited in size. By default, the last 20 lines
of deleted text are saved on the undo stack. This limit can be
adjusted via the installation program. The fundamental size of
the undo stack is limited only be available memory.
The second undo operation is "Restore Line." This command
restores the current line of text to what it was when the cursor
first reached the line.
EDWIN does not support fixed tabs. Tab characters remaining in
the text will appear as small circles ( ). By default, tab
characters in the text are converted to spaces on standard 8
column boundaries when a file is read into EDWIN. Tabs can be
passed through without change by changing an installation
When the tab command is executed within the editor, EDWIN
performs a "Smart Tab" like that of the Turbo editor. It will
match the corresponding indent of the immediately preceding line
if any exists. Otherwise, it will match the indent of any line
The insert line command breaks the current line and leaves the
cursor position unchanged.
The delete operations are straightforward. Note the "Delete no
recourse" command, which does not store the deleted text on the
7. Find and Replace Primary Keys Secondary Keys
Find and replace
Search and apply macro
All of these commands share a common text searcher. When you run
any of the first three search commands, you will be prompted to
enter the search pattern. EDWIN does not support wildcard
searches, but you can enter any ASCII or extended ASCII text as
the search pattern. For the purposes of searching each line is
taken to end with the characters . A search
pattern consisting of just these two characters will find the
end of every line. The search algorithm looks at only one line
at a time; thus a search like "Anything" will
never produce a match.
While you are responding to the prompt for a pattern, you have a
simple line editor to use. The line editor accepts the following
recall the previous entry.
move the cursor one position left.
move the cursor one position right.
erase the current response.
move the cursor one word left.
move the cursor one word right.
delete the current character.
delete the next character left.
toggle insert/overwrite mode.
following character entered will be taken literally.
accept the entry.
Like the Turbo editor, the "cursor movements" of the line editor
cause text to the right of the cursor to disappear.
If your EDWIN installation uses the blinking hardware cursor,
the cursor size will change to indicate insert or overwrite
modes. A slightly fatter cursor indicates insert mode, while the
normal skinny cursor indicates the overwrite mode.
When entering the "end of line" search string, you must precede
the character by in order to avoid premature
termination of the entry.
Note that all command prompts in EDWIN use the same command
editor, and accept the same syntax.
The various find and replace commands in EDWIN accept modifiers
to the searching behavior, as follows:
U - search in uppercase (matching is not case sensitive).
B - search backward (toward the top of file).
W - match whole words only.
G - search throughout entire file (globally).
M - search in marked block only.
N - no prompts before replacement.
Note that the standard WordStar option of replace for "n" times
is not incorporated here. In its place is the marked block
option, which is easier to use and more reliable.
EDWIN supports three basic search modes. The first simply
searches and places the cursor on the start of whatever was
found. The second searches for the match string and then
replaces that string with another one of your choice. The final
one is new to EDWIN. It searches for the match string and then
applies a previously defined macro key sequence at the current
The Find Next command repeats the last search operation,
performing a replace or a macro invocation if that was the most
recent command type.
When a find and replace operation is run with the G option,
EDWIN will stop after each find and prompt for a response. The
following actions are acceptable:
Y - perform the replace for this instance.
N - do not perform the replace here, but continue searching.
A - perform this replace and all other that match without
Q - do not perform this replace, and quit searching.
You can break out of a find/replace operation at any time by
pressing the abort command key, by default .
8. Files and DOS Primary Keys Secondary Keys
Save and exit to DOS
Save and exit to menu
Save and continue edit
Read file into window
Write block to file
Append block to file
Invoke DOS shell
EDWIN editing operations occur completely in the memory of your
computer. Until a file is saved to disk, there is no permanent
record of your edits.
Whenever EDWIN prompts you for a file name, you can ask it for a
directory of available files. To look at all files in the
current directory, simply press . Alternatively, you can
enter any combination of drive, pathname and DOS wildcards.
After you do this, EDWIN will pop up a window showing all the
matching files. You can use the Cursor up and down arrows to
scroll through this list. When you find a file you want, press
. If none of the files is what you want, press .
There are three flavors of save command in EDWIN. You can save
and leave the editor, returning to DOS. You can save and return
to the EDWIN main menu. Or you can save and stay at the same
place in the file. Note that the final variant operates more
conveniently than the WordStar editor - your cursor is kept in
place following the save operation. EDWIN creates a backup file
(with extension .BAK) for every save that you perform.
EDWIN offers the option of abandoning any edits you have done. A
"SAVE" indicator will appear in the window status line to
indicate that you have unsaved edits. If you attempt to abandon
a file with unsaved edits, EDWIN will prompt for confirmation.
You can merge another file into the current one via the "Read
File into Window" command. The new file is read in at the
current cursor position. After this command finishes, EDWIN
leaves the block markers surrounding the newly read file.
Similarly, you can write a portion of the current file to
another file with the write block commands. The append block
command adds to an existing file, while the write block command
will always start the file from scratch. If you ask to write
block to an existing file, EDWIN will require confirmation
before it overwrites it. During append block operation, EDWIN
uses logic to avoid embedded characters in the resulting
file. Note that you can use the write block command to print a
file from within the editor - simply mark a block (the entire
file if you desire) and write it to a file named PRN, LPT1, or
Finally, EDWIN allows you to invoke a DOS shell from within the
editor. After executing this command, you will find yourself at
the standard DOS prompt. Note that for this command to be
successful, two factors are required: first, a copy of
COMMAND.COM must be available in the drive and directory
specified by the COMSPEC parameter in your DOS environment;
second, sufficient free memory must be available.
If you edit large files, or if you switch among a number of
files, it is possible that not enough memory will be available
for the DOS shell and EDWIN will inform you of this. Your only
recourse is to save all open files and exit to the main EDWIN
menu. You can invoke DOS from the main menu, or reopen your
files and still most likely be able to run DOS.
From the DOS prompt, you can run any command or program you
normally would, with a few exceptions. First, you should never
install a memory resident program from within a shell. Doing so
will most likely cause a system crash. Second, if you change
directories in the shell, you normally should return to the
directory in which the shell was invoked. Otherwise, when you
return to the editor, further saves of open files will probably
be written to the wrong directory. An exception to this rule
occurs when you have opened files using their complete pathnames
rather than using DOS shorthand to refer to the current
9. Windows Primary Keys Secondary Keys
Grow current window
Shrink current window
Zoom current window
Show help window
EDWIN's window operations will significantly improve your
productivity if you have not previously been using a windowing
editor. The ability to refer to and copy text from multiple
files makes programming much easier. This version of EDWIN
allows up to 6 windows on screen at any one time. All block
operations operate across windows as well as within a single
EDWIN windows divide the screen into horizontal strips. Each
window can control a variable number of rows, from a minimum of
two text lines to a maximum of 23. Each window starts with a
status row as described in the overview section.
Windows can be created, sized and deleted dynamically. Commands
to create and size windows are described in this section. To
remove windows, use the file save/abandon commands described in
the previous section.
When a window is added, the current window is split in half to
make space for the new window. The current window must be at
least 7 lines tall for this operation to be successful. When the
window is split, EDWIN will prompt for a new file name. See
section 7 for a description of the commands available during
entry of the file name. See section 8 for a description of the
popup directory window available at file prompts.
Note that the file name can contain a complete DOS drive and
path name. If you specify a file name that matches that of an
existing window, the new window will be "linked" to the existing
one. In this way, you can have two or more views onto a single
file. Edits made in one window will simultaneously appear in the
The Grow and Shrink window commands make the current window one
line taller or shorter for each invocation of the command.
The Switch windows command moves the cursor to the next window
down the screen. Note that EDWIN stores the current cursor
position for each window even if the cursor is not currently in
The Zoom window command is provided for the case when you have a
number of windows on screen, but wish to focus on a single
window for some time. Using the Zoom command causes the current
window to fill the entire screen. Any other windows are hidden,
but their text remains in memory. While the Zoom state is
active, an indicator will be made visible on the window status
line. To go back to the original multi-window screen, simply
execute the Zoom command again. Alternatively, saving or
abandoning the file in the Zoom window will restore the other
windows to the screen. Note that you cannot open additional
windows when the Zoom command has filled the screen with a
EDWIN uses its standard windows to provide an online help
facility. Press the help request key and EDWIN will create a new
window onto the command summary file created by the installation
program. You can then use any EDWIN command to browse, search,
or even change the help information. Use the Abandon File or
Switch Windows commands to leave the help window.
10. Blocks and Markers Primary Keys Secondary Keys
Top of block
Bottom of block
Toggle block display
Mark current word
Set marker 0 0
Set marker 9 9
Jump marker 0 0
Jump marker 9 9
Toggle marker display
EDWIN block commands operate just like those in WordStar and the
Turbo editor. A block can be marked at any column and line
position using the Begin block and End block commands. Once a
block is completely defined, the marked text will be displayed
with the special color or attribute that you have chosen at
In EDWIN, marked blocks can also be of use in Find/Replace/Macro
operations, as well as some text processing commands.
The Top of block and Bottom of block commands position the
cursor to the beginning or end of a marked block.
Copy and Move block commands will operate across windows. Delete
block will delete a marked block, even if the block is not in
the currently active window.
Toggle block display removes the special display attribute of a
marked block. It does not remove the block markers themselves.
Pressing the Toggle command again will redisplay the block. Most
block commands will not operate when the marked block is not
displayed. Only the Top of block and Bottom of block commands
are active in this case.
Mark current word is a shorthand command for marking a single
word of text.
EDWIN also supports visible text markers. It supports up to 10
markers, which will generally be installed with sequential
keystrokes as shown in the defaults above. When you set a text
marker, a numbered block will appear to overwrite the character
at the current cursor position. This block temporarily obscures
your view of that character, but does not affect the actual text
which will be stored with the file. Use the Toggle marker
display command to make all markers temporarily disappear.
The Jump marker commands will immediately jump to a previously
marked position in any window. If no such marker has been set,
EDWIN will display an error message.
You can clear a marker by jumping to it and then setting it
11. Macros Primary Keys Secondary Keys
Read macros from disk
Write macros to disk
Toggle macro record
Insert Macro 1
Insert Macro 9
Insert scrap macro
Insert scrap macro 1 time 1
Insert scrap macro 9 times 9
EDWIN supports a small but useful keyboard macro facility which
can augment the use of full-blown macro processors like
SuperKey. EDWIN can store up to 10 macros each of up to 255
characters. These macros can be stored and loaded from files, so
an effectively unlimited number of macros is available. EDWIN's
macros can store anything you type within the editor, including
text, commands, and responses to command prompts.
You can develop EDWIN macros in two ways. First, within the
editor you can turn on a "recording" mode. This simply keeps a
record of all of your keystrokes until recording is turned off
again. When recording is complete, EDWIN will prompt for a macro
number in which the keystrokes will be stored.
Second, within the EDWIN installation program is a macro editor.
You can use this editor to tweak previously recorded macros or
to develop new macros from scratch. The macros developed in this
way are stored in files that can then be loaded into EDWIN for
When EDWIN is started, it automatically looks for and loads a
file of macros called EDWIN.MAC. We supply a default set of
these macros useful to Pascal programmers. Bring up the EDWIN
help facility to see what these macros will do.
Use the Read macros from disk command to load a different macro
file. After you have generated new macros within the editor, use
the Write macros command to store them to a file. If you exit
EDWIN without storing the macros, they will be lost.
EDWIN classifies macros into two categories. First type is the
"scrap" macro. Whenever you record a new macro within EDWIN, the
recorded keystrokes overwrite the scrap macro. When the
recording is complete, EDWIN prompts to store the macro into one
of the other nine macro locations or to leave the macro in the
scrap. The other nine locations will remain undisturbed until
you explicitly overwrite them by reading a macro file or storing
another scrap macro.
EDWIN supplies special operations with the scrap macro. If you
execute the Insert scrap macro command, EDWIN will prompt for a
number of times to insert the macro, limited only by EDWIN's
internal keyboard buffer size. Or you can use the Insert scrap
"n" times command to immediately play back the macro that number
The other nine macros can be inserted one time per command using
the appropriate Insert macro "m" command.
Note that macros can invoke other macros. The only restriction
is that the scrap macro not be invoked while macro recording is
EDWIN also offers a powerful facility to "find and macro." After
a standard text search, EDWIN will apply the macro of your
choice. See section 7 for further information.
12. Toggles Primary Keys Secondary Keys
Show version number
Show available memory
Toggle insert mode
Toggle autoindent mode
EDWIN will display its current version number when you press the
version number command sequence.
You can display the bytes of memory available for text
processing with the Show memory command. Note that not all of
these bytes may be available to the DOS shell command due to
fragmentation of the internal memory used by EDWIN.
Text entry in EDWIN operates in either of two modes. In insert
mode, new text pushes old text out of the way but does not
overwrite it. In overwrite mode, old text is superceded by the
new. When the EDWIN hardware cursor is active, Insert mode is
indicated by a somewhat fatter cursor. In overwrite mode, the
cursor is of minimum thickness. Each window can have an
independent mode for insert/overwrite, and the window status
line indicates the current state.
The EDWIN autoindent mode mimics that of the Turbo editor.
Whenever a new line is inserted by pressing the cursor,
and any text to the right of the cursor, are indented to the
same level as that of the previous line. Autoindent mode is
signaled by the letters AI in the window status line.
13. Text Processing Primary Keys Secondary Keys
Set right margin
Toggle word wrap
EDWIN provides a few commands for text processing functions.
We often find it useful to be able to change the case of text
while beautifying programs or documentation. Thus there are
three commands for case changing in EDWIN. These commands
operate over the complete region of a marked block of text, if
any block is marked and visible, and if the cursor is currently
within the block. If no block is so indicated, the case changing
commands operate on the single character at the current cursor
position. Note that the Toggle case command is the safest to
use, since its actions can be undone by simply repeating the
EDWIN supports three related commands for text formatting. When
the Word Wrap mode is active, EDWIN will automatically reformat
text so that it fits neatly within a right margin. The right
margin value can be set to any value from 10 columns up to 999
columns. When text is being entered, and the current character
exceeds the right margin, EDWIN will wrap any text exceeding
the right margin onto the next line. If autoindent mode is
active, the new line will be indented identically to its
The Reformat paragraph command applies the same operation to a
complete paragraph. For EDWIN's purposes, a paragraph is any
sequence of text terminated with a blank line. EDWIN will fill
and wrap text to fill the current right margin starting from the
current line and continuing until it encounters a blank line.
14. Final Notes and Cautions
As mentioned previously, EDWIN operates with all available
system memory. If you attempt to read a file that exceeds memory
capacity, EDWIN will read in as much as fits and present an
error message stating that the entire file won't make it.
Continuing from this point is very dangerous. If you save the
file, you will overwrite the complete file with a partial
version, and lose the remainder.
If EDWIN's "Expand tabs on read" installation option is active,
you should note that any tabs in the file will be lost when the
file is rewritten to disk.
EDWIN incorporates a DOS critical error handler. This serves to
keep DOS' annoying "Abort, Retry, Ignore" from overwriting the
editor screen. Instead EDWIN's own error message will appear
whenever you attempt to write to a drive that isn't ready, or to
print to an unselected printer. In the case of the unselected
printer, there may be a substantial delay before the error
message appears. Have no fear, this is the printer timeout
period normally allowed for long printer operations like form
If the EDWIN.ERR file is not available when EDWIN starts up,
error messages will appear as numbers rather than text. Refer to
the EDWIN.ERR file for the correspondence between the numbers
and text. If you don't like the text for a particular message,
edit the EDWIN.ERR file to change it to something more
desirable. Be sure to follow the format of the existing file if
you do so.
Similarly, you can edit the EDWIN.MSG file to change various
command prompts of the editor. Unlike the ERR file, the MSG file
must be found at startup, or the editor will not continue.