Newsgroups: comp.sources.misc
From: Peter Reilley <pvr@wang.com>
Subject:  v22i017:  beav - Binary file editor and viewer, Part08/09
Message-ID: <1991Aug14.200923.5971@sparky.IMD.Sterling.COM>
X-Md4-Signature: 9b1c181879979326e22b036d324a74ba
Date: Wed, 14 Aug 1991 20:09:23 GMT
Approved: kent@sparky.imd.sterling.com

Submitted-by: Peter Reilley <pvr@wang.com>
Posting-number: Volume 22, Issue 17
Archive-name: beav/part08
Environment: UNIX, AIX, MSDOS

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 8 (of 9)."
# Contents:  beav2.txt
# Wrapped by pvr@elf on Mon Aug 12 13:51:36 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'beav2.txt' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'beav2.txt'\"
else
echo shar: Extracting \"'beav2.txt'\" \(36804 characters\)
sed "s/^X//" >'beav2.txt' <<'END_OF_FILE'
X
X                      BEAV User Manual
X
X
Xof the bytes at address 10, 11, 12, and 13.   With a shift of 1
Xthat double word would be made of bytes 11, 12, 13, and 14.
XWith a shift of 2 then bytes 12, 13, 14, and 15 would be used.
XThe maximum shift in word display mode is one and the maximum
Xshift in double word mode is three.
X
X      The buffer is in effect shifted toward the beginning of the
Xbuffer with 1, 2, or 3 bytes becoming not visible.   These bytes
Xare not lost, they become visible when the shift is set to zero.
XThis command cycles through all possible shift values.   There is
Xno effect in any byte display mode or any text display mode.
X
X
X 3.6             Inserting and deleting
X
X      These commands are the core of BEAV.   These commands allow
Xthe buffer to be edited in a similar fashion to a text editor.
XBEAV has an insert mode much the same as text editors but it only
Xworks when displaying data in one of the text modes, either ASCII
Xor EBCDIC.   In other modes it doesn't make any sense to insert
Xcharacters as they are typed when there is more than one
Xcharacters per unit.   In the data modes there is a command that
Xinserts a unit of zeros into the buffer.   Similarly the delete
Xcommands always delete a unit rather than a character.   In a
Xtext mode the delete commands work as in a text editor because a
Xunit is a character.
X
X      Ctl-X I        insert-unit
X
X      Insert a zero at the cursor position.   The rest of the
Xdata moves down one place.   Thus, if double words are being
Xdisplayed, four bytes are inserted before the cursor position.
XThese bytes are initialized to zero.   This command works in all
Xdisplay modes.
X
X      Ctl-X Ctl-A    insert-toggle      Insert
X
X      In either of the two text modes this command toggles
Xbetween insert mode and overwrite mode.    In insert mode each
Xcharacter that is typed is inserted in front of the cursor and
Xthe rest of the buffer is moved down.   In overwrite mode the
Xtyped characters replace the character that is at the cursor.
XThis command has no effect in a non-text display mode.
X
X      Ctl-Q          insert-literally   Esc Q
X
X      This command sets a special temporary mode where the next
Xtyped character is inserted in the buffer no matter what the
Xcharacter is.   This allows control codes to be inserted in the
Xbuffer when in a text display mode.   Alternatively the same byte
Xcould be inserted into the buffer by using one of the data
Xdisplay modes.   It night be faster to use this command on some
Xoccasions.
X
X
X
X
X                               18
X
X                      BEAV User Manual
X
X
X      Ctl-T          unit-twiddle
X
X      The unit at the cursor is swapped with the previous unit.
X
X      Rubout         delete-back-char   Backspace
X
X      This command deletes the character before the cursor and
Xpulls the rest of the buffer back.   The cursor remains on the
Xsame character as it moves back.   It only works in the text and
Xbyte display modes.
X
X      Ctl-D          delete-forw-char   Delete
X
X      The character at the cursor is deleted and the buffer is
Xpulled back.   The cursor remains at the same position.   It only
Xworks in the text and byte display modes.
X
X      Esc Rubout     delete-back-unit   Esc Ctl-K
X
X      This command deletes the unit before the cursor and pulls
Xthe rest of the buffer back.   The cursor remains on the same
Xunit as it moves back.
X
X      Esc D          delete-forw-unit
X
X      The unit at the cursor is deleted and the buffer is pulled
Xback.   The cursor remains at the same position.
X
X      Esc W          copy-mark-to-cursor      F7
X
X      The area in the buffer from the mark to the current cursor
Xposition is copied into the kill buffer.   If the mark is not set
Xbefore this command is given an error is reported.
X
X      Ctl-W          delete-mark-to-cursor    F8
X
X      The area in the buffer from the mark to the current cursor
Xposition is deleted and placed into the kill buffer.   If the
Xmark is not set before this command is given an error is
Xreported.
X
X      Ctl-Y          yank               F6
X
X      The contents of the kill buffer is inserted into the buffer
Xat the cursor position.   The kill buffer itself is not changed.
X
X
X 3.7             Search and Replace Commands
X
X      BEAV has very powerful search and replace commands.   The
Xsearch and replace string can be entered in any of the display
Xmodes.   The search and replace strings can each be up to 256
Xbytes long.   The display mode can be changed at any time while
Xentering the string.   Wild cards can be placed down to the bit
X
X
X
X                               19
X
X                      BEAV User Manual
X
X
Xlevel on both the search and replace strings.   The wild card
Xcharacter, '?', will match any value that it is compared with.
X
X      When a wild card is placed in the replace string it leaves
Xthe destination data unchanged at that position.   Thus, if the
Xdestination contains the ASCII string '41 42 43 44' and the
Xreplace string contains '66 67 ?? 69' the result would be '66 67
X43 69'.
X
X      Wild cards can be placed in any position that makes sense.
XIf you want to use wild cards in an ASCII string then you must
Xswitch to another mode to enter them.   You can then switch back
Xto ASCII mode.   In this case a '?' will appear in the position
Xwhere the wild card has been placed but it appears exactly the
Xsame as a standard question mark.   In fact if you type a '?'
Xover the wild card there will be no apparent change.   However,
Xthe character will no longer be a wild card but a standard
Xquestion mark.   To see the true wild cards you must use a data
Xdisplay mode.   In fact if the wild card has been set on the bit
Xlevel then you must go to binary display mode to see its actual
Xposition.
X
X      The commands to change the display mode in search and
Xreplace are the same as for the window display mode.   The search
Xand replace strings can be scrolled back an forth and the cursor
Xmoved using the same commands as for the window.   While
Xperforming a replace command you can switch between the search
Xstring and replace string by using the 'move-back-page' or 'move-
Xforw-page' commands.
X
X      Esc S          search-forw        F3
X
X      Prompts for a search string then searches from the current
Xcursor position for the first match.   The cursor is positioned
Xat the first unit of the match.
X
X      Esc R          search-back
X
X      This command is the same as the previous one except that it
Xsearches backward.
X
X      Esc T          search-again       F4
X
X      This command repeats the previous search command, forward
Xor backward.   The cursor is first moved one byte in the
Xappropriate direction before the search is repeated.
X
X      Esc %          replace            F5
X
X      Prompt for search string.   After entering the search
Xstring hit return and you will be prompted for the replace
Xstring.   After entering the replace string hit return.   BEAV
Xwill then search for the first match with the search string.   If
X
X
X
X
X                               20
X
X                      BEAV User Manual
X
X
Xa match is found you will be prompted with '(R)eplace, (S)kip,
X(A)ll, (O)ne, (Q)uit'
X
X      If you type a 'R' the replace will be done at this location
Xand the search will continue.   If you type a 'S' the replace
Xwill not be done and search will continue.   If you type an 'A'
Xthe replace will be done and will be done at all future matches
Xwithout pausing for conformation.   If you type an 'O' the
Xreplace will be done at this location and the search will stop.
XIf you type a 'Q' then the search will be terminated.
X
X      Ctl-R          recall-srch-string
X
X      If you enter search or replace previously used strings can
Xbe recalled with this command.
X
X
X 3.8             Exiting BEAV
X
X      While using BEAV individual buffers may be saved to disk
Xduring the editing session.   When quitting BEAV you must save
Xall buffers or delete all buffers.   There are two commands that
Xdo this.
X
X      Ctl-C          quit-no-save       Sh-F10
X
X      If there are any unsaved buffers you will be prompted for
Xconformation before proceeding.   All buffers will be deleted
Xthen you will return to DOS.
X
X      Ctl-X Ctl-E    quit-save-all      Sh-F9
X
X      All buffers are saved before exiting to DOS.
X
X
X 3.9             Printing
X
X      The data that is being displayed in BEAV can be printed or
Xsent to a file in the same format as displayed.   If the current
Xwindow is displaying octal words and a print command is given the
Xformat of the print will be in the format of the window; that is,
Xoctal words.
X
X      Esc P          print-mark-to-cursor     Ctl-Print
X
X      To use this command you must set the mark and the cursor to
Xdefine the region that you want printed.   If the mark is not set
Xit as assumed to be at the first unit.   After you enter the
Xcommand you will be prompted with 'Print to:'.   You can enter a
Xfile name or a device name to send the print image to.   If you
Xenter 'PRN' most systems will print a hard copy.
X
X      This is useful for getting a print out of the current key
Xbindings.   To do this give the 'help' command 'F1'.   Go to the
X
X
X
X                               21
X
X                      BEAV User Manual
X
X
Xbottom of the help window using the 'move-to-end' command 'End',
Xthe mark will be assumed to be at the beginning of the buffer.
XIssue the 'print-mark-to-cursor' command.   Enter 'PRN' at the
Xprompt.   This should print the complete help buffer and will
Xreflect any changes that you have made to the key bindings.
X
X
X 3.10            Keyboard Macros
X
X      BEAV has the capability of recording key strokes as they
Xare entered and playing them back later.   This is useful for
Xrepeating multi-keystroke operations.
X
X      Ctl-X (        macro-start
X
X      Start recording key strokes.   There is no effect on the
Xoperation of the key strokes.   Any previous recorded key strokes
Xare cleared.
X
X      Ctl-X )        macro-end
X
X      Stop recording key strokes.   The key strokes are available
Xfor play back.
X
X      Ctl-X E        macro-execute
X
X      Play back the recorded key strokes.   The key strokes that
Xwere recorded are played back as if they were typed at the
Xkeyboard.
X
X
X 3.11            Key Binding
X
X      BEAV provides a user configurable interface.   The
Xinterface is controlled by a set of key bindings.   This relates
Xthe command that will be executed when a particular key stroke is
Xentered.   There are a set of default key bindings as described
Xin this manual.   These can be changed to reflect your
Xpreferences.   When a change is made it is reflected in the help
Xscreen.
X
X      Ctl-X ?        binding-for-key    Sh-F1
X
X      This command will tell you what function a certain key
Xsequence is bound to.   When this command is given you will be
Xprompted for a key stroke or key stroke sequence.   BEAV will
Xreport back with the function name.
X
X      Esc K          bind-to-key
X
X      First you will prompted for a function name.   Enter the
Xname of the function that you wish to create a new binding for.
XFunction names are the names listed in this manual that are of
Xthe form of 'move-forw-unit' or 'display-hex'.   After you enter
X
X
X
X                               22
X
X                      BEAV User Manual
X
X
Xthe name hit return.   You will be prompted for a key.   This can
Xbe in the form of a single standard key such as 'Z'.   Standard
Xkey sequences can be entered such as 'Ctl-X Z'
Xor 'Esc Z'.   Special keys can be entered such as 'F1' (function
Xkey 1) or 'Page Down'.   It is probably a good idea to not use
Xkeys that are needed for editing.   If you bound 'Z' to a
Xfunction then you would not be able to enter it as a keystroke
Xwhen using ASCII display mode.   You could still enter it using
Xthe 'insert-literally' command or doing it in one of the data
Xdisplay modes but this would be more cumbersome.
X
X      Ctl-X L        bindings-load
X
X      You are prompted for a file name that contains the key
Xbinding that you wish to set.   This file is read in and the
Xappropriate bindings are set.   The text in the binding file
Xshould be of the form;
X
X<key name>           <function name>    <key code>
X
X      For example;
X
XCtl-X Ctl-P          move-back-char     0550
XF1                   move-forw-char     04bb
XCtl-A                move-forw-unit     0141
XEsc Ctl-T            move-back-unit     0354
X
X      The easiest way of producing a valid key binding file is to
Xset the desired bindings in BEAV.   Next issue the 'help' command
X(ESC ?), then write the buffer out with the file-write command
X(Ctl-X Ctl-W).   The file created will be a valid format for
Xloading and can be edited as desired.   It is the only reliable
Xway to get the <key code> number.
X
X
X 3.12            Special Functions
X
X      These are the commands that do not logically fit under one
Xof the previous headings
X
X      Gtl-G          abort-cmd          F10
X
X      This command aborts the current command.   It can even
Xabort a partially entered command.   Thus, if you have typed an
X'Esc' as that start of a command you can type Ctl-G to return to
Xthe normal command entry mode.
X
X      Esc A          auto-save
X
X      BEAV can be set to automatically save the current buffer
Xafter a specified number of buffer editing commands are given.
XThis command first prompts for the number of operations before
Xthe save is made.   If a zero is entered at the prompt, this
X
X
X
X
X                               23
X
X                      BEAV User Manual
X
X
Xfeature is disabled.   The default condition of this command is
Xdisabled.
X
X      Esc C          compare
X
X      This is a powerful feature of BEAV.   The contents of two
Xwindows are compared byte for byte from the current cursor
Xposition in each window.   There must be exactly two windows to
Xuse this command.   These windows can be displaying the same or
Xdifferent buffers.   When a difference is found the cursor in
Xeach window is moved to that position and both windows are moved
Xaccordingly.   The display mode does not affect the operation of
Xthis command except in restricting the cursor position to whole
Xunits.
X
X      Esc X          extended-command
X
X      If any command looses its binding, this command allows the
Xunbound command to be used.   A command can loose its binding
Xbecause the binding was assigned to another command.   When this
Xcommand is given you will be prompted for a command name.   Enter
Xthe command name that you wish to execute, it will be executed as
Xif you had typed its key binding.
X
X      Esc Ctl-F      n-way-combine
X
X      The contents of other windows can be copied sequentially
Xinto the current window.   This is useful in combining odd-even
Xproms into an executable image file.   To use this command create
Xan empty window with a buffer file name of an empty or
Xnonexistent file.   Read into additional windows the files that
Xyou want to combine.   While in the empty target window, issue
Xthe n-way-combine command.   The data in the other windows will
Xbe read into the current window.   The next window lower on the
Xscreen will be read first, then the one below that, etc.
X
X      For example; if you had two files, promlow.bin and
Xpromhi.bin that you wanted to combine into a file called
Xprom.bin.   First issue the file-visit command (Ctl-X Ctl-V),
Xenter prom.bin at the prompt.   This file should be empty of non-
Xexistent.   Next read promlow.bin into a new window with the
Xfile-visit-split command (Esc U), enter promlow.bin at the
Xprompt.   Open another window for promhi.bin with the same
Xcommand.   Go to the window containing prom.bin (empty).   Issue
Xthe n-way-combine command.   BEAV will copy the first byte from
Xthe window immediately below the prom.bin window and deposit it
Xin the destination window buffer as well as advance the dot
Xposition in both windows.   It will advance to the next lower
Xwindow and copy a byte from there into the destination window and
Xadvance the dot in both windows.   This process will continue
Xuntil one of the source buffers is exhausted, or the user
Xterminates the command.
X
X
X
X
X
X                               24
X
X                      BEAV User Manual
X
X
X      The user must take care that the source buffers are in the
Xcorrect order.   They are read starting at the window immediately
Xbelow the current window.   If the target window is at the bottom
Xof the screen then it wraps to the top.   In this way any order
Xcan be used and changed at will.
X
X      Esc Ctl-S      n-way-split
X
X      This command is the mirror image of the n-way-combine.
XThe data in the current window is distributed among the rest of
Xthe window buffers displayed.   The current window buffer must be
Xthe only window buffer that contains data.   If there are two
Xother empty window buffers then the data will be divided two
Xways.   If there are five then the data will be divided five ways
X
X      Ctl-L          refresh-screen
X
X      The screen is reprinted from BEAV's internal buffer.   This
Xis useful if the display is messed up due to transmission errors.
XOn a PC this is unlikely to happen.
X
X      Esc Ctl-V      show-version
X
X      The version and date of BEAV is displayed in the command
Xline.
X
X      Ctl-X C        spawn-shell
X
X      A new MSDOS command shell is created.   You can return to
XBEAV by typing 'exit'.
X
X      Ctl-U          repeat count
X
X      This command prompts for a number to be entered.   This
Xcauses the next command given to be repeated by that number of
Xtimes.   This command cannot have it's binding changed and cannot
Xbe issued using the 'extended-command' function.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                               25
X
X                      BEAV User Manual
X
X
X4.       Alphabetical list of commands by name
X
XCommand                        Key Binding       Manual Section
X-------                        -----------       --------------
Xabort-cmd                      Ctl-G             3.12
Xabort-cmd                      Ctl-X Ctl-G       3.12
Xabort-cmd                      Esc Ctl-G         3.12
Xabort-cmd                      F10               3.12
Xauto-save                      Esc A             3.12
Xbind-to-key                    Esc K             3.11
Xbinding-for-key                Ctl-X ?           3.11
Xbinding-for-key                Sh-F1             3.11
Xbindings-load                  Ctl-X L           3.11
Xbuffer-set-file-name           Ctl-F7            3.3
Xbuffer-set-file-name           Ctl-X Ctl-F       3.3
Xbuffer-set-file-name           Sh-F7             3.3
Xbuffer-set-name                Esc Ctl-N         3.3
Xbuffer-size-lock               Ctl-X Ctl-L       3.3
Xbuffers-display                Ctl-F1            3.3
Xbuffers-display                Ctl-X Ctl-B       3.3
Xchange-buffer                  Ctl-F2            3.3
Xchange-buffer                  Ctl-X B           3.3
Xchange-to-next-buffer          Ctl-F4            3.3
Xchange-to-next-buffer          Esc +             3.3
Xchange-to-prev-buffer          Ctl-F5            3.3
Xchange-to-prev-buffer          Esc -             3.3
Xchange-window-back             Ctl-PageUp        3.5
Xchange-window-back             Ctl-X P           3.5
Xchange-window-forw             Ctl-PageDown      3.5
Xchange-window-forw             Ctl-X N           3.5
Xcompare                        Esc C             3.12
Xcopy-mark-to-cursor            Esc W             3.6
Xcopy-mark-to-cursor            F7                3.6
Xdelete-back-char               Backspace         3.6
Xdelete-back-char               Rubout            3.6
Xdelete-back-unit               Esc Ctl-K         3.6
Xdelete-back-unit               Esc Rubout        3.6
Xdelete-forw-char               Ctl-D             3.6
Xdelete-forw-char               Delete            3.6
Xdelete-forw-unit               Esc D             3.6
Xdelete-mark-to-cursor          Ctl-W             3.6
Xdelete-mark-to-cursor          F8                3.6
Xdisplay-ascii                  Esc Ctl-A         3.5
Xdisplay-binary                 Esc Ctl-B         3.5
Xdisplay-byte-shift             Ctl-A             3.5
Xdisplay-bytes                  Esc 1             3.5
Xdisplay-decimal                Esc Ctl-D         3.5
Xdisplay-double-words           Esc 4             3.5
Xdisplay-ebcdic                 Esc Ctl-E         3.5
Xdisplay-hex                    Esc Backspace     3.5
Xdisplay-octal                  Esc Ctl-O         3.5
Xdisplay-swap-order             Ctl-E             3.5
Xdisplay-words                  Esc 2             3.5
X
X
X
X                               26
X
X                      BEAV User Manual
X
X
Xextended-command               Esc X             3.12
Xfile-read                      Ctl-X Ctl-R       3.4
Xfile-read                      Sh-F2             3.4
Xfile-save                      Ctl-X Ctl-S       3.4
Xfile-save                      Sh-F3             3.4
Xfile-view                      Ctl-X V           3.4
Xfile-visit                     Ctl-X Ctl-V       3.4
Xfile-visit                     Sh-F4             3.4
Xfile-visit-split               Esc U             3.4
Xfile-write                     Ctl-X Ctl-W       3.4
Xfile-write                     Sh-F5             3.4
Xhelp                           Esc ?             3.1
Xhelp                           F1                3.1
Xinsert-file                    Ctl-F8            3.4
Xinsert-file                    Ctl-X Tab         3.4
Xinsert-file                    Sh-F8             3.4
Xinsert-literally               Ctl-Q             3.6
Xinsert-literally               Esc Q             3.6
Xinsert-toggle                  Ctl-X Ctl-A       3.6
Xinsert-toggle                  Insert            3.6
Xinsert-unit                    Ctl-X I           3.6
Xkill-buffer                    Ctl-F3            3.3
Xkill-buffer                    Ctl-X K           3.3
Xmacro-end                      Ctl-X )           3.10
Xmacro-execute                  Ctl-X E           3.10
Xmacro-start                    Ctl-X (           3.10
Xmark-set                       Esc .             3.2
Xmark-set                       F2                3.2
Xmove-back-char                 Ctl-B             3.2
Xmove-back-char                 West              3.2
Xmove-back-line                 Ctl-P             3.2
Xmove-back-line                 North             3.2
Xmove-back-page                 Esc V             3.2
Xmove-back-page                 PageDown          3.2
Xmove-back-unit                 Ctl-West          3.2
Xmove-back-unit                 Esc B             3.2
Xmove-forw-char                 Ctl-F             3.2
Xmove-forw-char                 East              3.2
Xmove-forw-line                 Ctl-N             3.2
Xmove-forw-line                 South             3.2
Xmove-forw-page                 Ctl-V             3.2
Xmove-forw-page                 PageUp            3.2
Xmove-forw-unit                 Ctl-East          3.2
Xmove-forw-unit                 Esc F             3.2
Xmove-forw-unit                 Sh-Tab            3.2
Xmove-to-beginning              Esc <             3.2
Xmove-to-beginning              Home              3.2
Xmove-to-buffer-split           Esc G             3.2
Xmove-to-byte                   Ctl-X G           3.2
Xmove-to-byte                   F9                3.2
Xmove-to-end                    End               3.2
Xmove-to-end                    Esc >             3.2
Xmove-window-down               Ctl-X Ctl-N       3.2
Xmove-window-down               Ctl-Z             3.2
X
X
X
X                               27
X
X                      BEAV User Manual
X
X
Xmove-window-up                 Ctl-X Ctl-P       3.2
Xmove-window-up                 Esc Z             3.2
Xn-way-combine                  Esc Ctl-F         3.12
Xn-way-split                    Esc Ctl-S         3.12
Xprint-mark-to-cursor           Ctl-Print         3.9
Xprint-mark-to-cursor           Esc P             3.9
Xquit-no-save                   Ctl-C             3.8
Xquit-no-save                   Ctl-F10           3.8
Xquit-no-save                   Ctl-X Ctl-C       3.8
Xquit-no-save                   Sh-F10            3.8
Xquit-save-all                  Ctl-F9            3.8
Xquit-save-all                  Ctl-X Ctl-E       3.8
Xquit-save-all                  Sh-F9             3.8
Xrecall-srch-string             Ctl-R             3.7
Xrefresh-screen                 Ctl-L             3.12
Xreplace                        Esc %             3.7
Xreplace                        F5                3.7
Xsave-all-buffers               Ctl-X Return      3.4
Xsave-all-buffers               Sh-F6             3.4
Xsave-mark-to-cursor            Esc O             3.3
Xsearch-again                   Esc T             3.7
Xsearch-again                   F4                3.7
Xsearch-back                    Esc R             3.7
Xsearch-forw                    Esc S             3.7
Xsearch-forw                    F3                3.7
Xshow-position                  Ctl-X =           3.2
Xshow-save-buf                  Esc Ctl-W         3.3
Xshow-version                   Esc Ctl-V         3.12
Xspawn-shell                    Ctl-X C           3.12
Xswap-cursor-and-mark           Ctl-X Ctl-X       3.2
Xunit-twiddle                   Ctl-T             3.6
Xwindow-delete                  Ctl-X 0           3.5
Xwindow-enlarge                 Ctl-X Z           3.5
Xwindow-link                    Esc L             3.2
Xwindow-reposition              Esc !             3.5
Xwindow-shrink                  Ctl-X Ctl-Z       3.5
Xwindow-single                  Ctl-X 1           3.5
Xwindow-split                   Ctl-X 2           3.5
Xyank                           Ctl-Y             3.6
Xyank                           F6                3.6
Xyank-buffer                    Ctl-F6            3.3
Xyank-buffer                    Esc Y             3.3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                               28
X
X                      BEAV User Manual
X
X
X5. Alphabetical list of commands by key binding
X
XCommand                        Key Binding       Manual Section
X-------                        -----------       --------------
Xdelete-back-char               Backspace         3.6
Xdisplay-byte-shift             Ctl-A             3.5
Xmove-back-char                 Ctl-B             3.2
Xquit-no-save                   Ctl-C             3.8
Xdelete-forw-char               Ctl-D             3.6
Xdisplay-swap-order             Ctl-E             3.5
Xmove-forw-unit                 Ctl-East          3.2
Xmove-forw-char                 Ctl-F             3.2
Xbuffers-display                Ctl-F1            3.3
Xquit-no-save                   Ctl-F10           3.8
Xchange-buffer                  Ctl-F2            3.3
Xkill-buffer                    Ctl-F3            3.3
Xchange-to-next-buffer          Ctl-F4            3.3
Xchange-to-prev-buffer          Ctl-F5            3.3
Xyank-buffer                    Ctl-F6            3.3
Xbuffer-set-file-name           Ctl-F7            3.3
Xinsert-file                    Ctl-F8            3.4
Xquit-save-all                  Ctl-F9            3.8
Xabort-cmd                      Ctl-G             3.12
Xrefresh-screen                 Ctl-L             3.12
Xmove-forw-line                 Ctl-N             3.2
Xmove-back-line                 Ctl-P             3.2
Xchange-window-forw             Ctl-PageDown      3.5
Xchange-window-back             Ctl-PageUp        3.5
Xprint-mark-to-cursor           Ctl-Print         3.9
Xinsert-literally               Ctl-Q             3.6
Xrecall-srch-string             Ctl-R             3.7
Xunit-twiddle                   Ctl-T             3.6
Xmove-forw-page                 Ctl-V             3.2
Xdelete-mark-to-cursor          Ctl-W             3.6
Xmove-back-unit                 Ctl-West          3.2
Xmacro-start                    Ctl-X (           3.10
Xmacro-end                      Ctl-X )           3.10
Xwindow-delete                  Ctl-X 0           3.5
Xwindow-single                  Ctl-X 1           3.5
Xwindow-split                   Ctl-X 2           3.5
Xshow-position                  Ctl-X =           3.2
Xbinding-for-key                Ctl-X ?           3.11
Xchange-buffer                  Ctl-X B           3.3
Xspawn-shell                    Ctl-X C           3.12
Xinsert-toggle                  Ctl-X Ctl-A       3.6
Xbuffers-display                Ctl-X Ctl-B       3.3
Xquit-no-save                   Ctl-X Ctl-C       3.8
Xquit-save-all                  Ctl-X Ctl-E       3.8
Xbuffer-set-file-name           Ctl-X Ctl-F       3.3
Xabort-cmd                      Ctl-X Ctl-G       3.12
Xbuffer-size-lock               Ctl-X Ctl-L       3.3
Xmove-window-down               Ctl-X Ctl-N       3.2
Xmove-window-up                 Ctl-X Ctl-P       3.2
Xfile-read                      Ctl-X Ctl-R       3.4
X
X
X
X                               29
X
X                      BEAV User Manual
X
X
Xfile-save                      Ctl-X Ctl-S       3.4
Xfile-visit                     Ctl-X Ctl-V       3.4
Xfile-write                     Ctl-X Ctl-W       3.4
Xswap-cursor-and-mark           Ctl-X Ctl_X       3.2
Xwindow-shrink                  Ctl-X Ctl-Z       3.5
Xmacro-execute                  Ctl-X E           3.10
Xmove-to-byte                   Ctl-X G           3.2
Xinsert-unit                    Ctl-X I           3.6
Xkill-buffer                    Ctl-X K           3.3
Xbindings-load                  Ctl-X L           3.11
Xchange-window-forw             Ctl-X N           3.5
Xchange-window-back             Ctl-X P           3.5
Xsave-all-buffers               Ctl-X Return      3.4
Xinsert-file                    Ctl-X Tab         3.4
Xfile-view                      Ctl-X V           3.4
Xwindow-enlarge                 Ctl-X Z           3.5
Xyank                           Ctl-Y             3.6
Xmove-window-down               Ctl-Z             3.2
Xdelete-forw-char               Delete            3.6
Xmove-forw-char                 East              3.2
Xmove-to-end                    End               3.2
Xwindow-reposition              Esc !             3.5
Xreplace                        Esc %             3.7
Xchange-to-next-buffer          Esc +             3.3
Xchange-to-prev-buffer          Esc -             3.3
Xmark-set                       Esc .             3.2
Xdisplay-bytes                  Esc 1             3.5
Xdisplay-words                  Esc 2             3.5
Xdisplay-double-words           Esc 4             3.5
Xmove-to-beginning              Esc <             3.2
Xmove-to-end                    Esc >             3.2
Xhelp                           Esc ?             3.1
Xauto-save                      Esc A             3.12
Xmove-back-unit                 Esc B             3.2
Xdisplay-hex                    Esc Backspace     3.5
XCompare                        Esc C             3.12
Xdisplay-ascii                  Esc Ctl-A         3.5
Xdisplay-binary                 Esc Ctl-B         3.5
Xdisplay-decimal                Esc Ctl-D         3.5
Xdisplay-ebcdic                 Esc Ctl-E         3.5
Xn-way-combine                  Esc Ctl-F         3.12
Xabort-cmd                      Esc Ctl-G         3.12
Xdelete-back-unit               Esc Ctl-K         3.6
Xbuffer-set-name                Esc Ctl-N         3.3
Xdisplay-octal                  Esc Ctl-O         3.5
Xn-way-split                    Esc Ctl-S         3.12
Xshow-version                   Esc Ctl-V         3.12
Xshow-save-buf                  Esc Ctl-W         3.3
Xdelete-forw-unit               Esc D             3.6
Xmove-forw-unit                 Esc F             3.2
Xmove-to-buffer-split           Esc G             3.2
Xbind-to-key                    Esc K             3.11
Xwindow-link                    Esc L             3.2
Xsave-mark-to-cursor            Esc O             3.3
X
X
X
X                               30
X
X                      BEAV User Manual
X
X
Xprint-mark-to-cursor           Esc P             3.9
Xinsert-literally               Esc Q             3.6
Xsearch-back                    Esc R             3.7
Xdelete-back-unit               Esc Rubout        3.6
Xsearch-forw                    Esc S             3.7
Xsearch-again                   Esc T             3.7
Xfile-visit-split               Esc U             3.4
Xmove-back-page                 Esc V             3.2
Xcopy-mark-to-cursor            Esc W             3.6
Xextended-command               Esc X             3.12
Xyank-buffer                    Esc Y             3.3
Xmove-window-up                 Esc Z             3.2
Xhelp                           F1                3.1
Xabort-cmd                      F10               3.12
Xmark-set                       F2                3.2
Xsearch-forw                    F3                3.7
Xsearch-again                   F4                3.7
Xreplace                        F5                3.7
Xyank                           F6                3.6
Xcopy-mark-to-cursor            F7                3.6
Xdelete-mark-to-cursor          F8                3.6
Xmove-to-byte                   F9                3.2
Xmove-to-beginning              Home              3.2
Xinsert-toggle                  Insert            3.6
Xmove-back-line                 North             3.2
Xmove-back-page                 PageDown          3.2
Xmove-forw-page                 PageUp            3.2
Xdelete-back-char               Rubout            3.6
Xbinding-for-key                Sh-F1             3.11
Xquit-no-save                   Sh-F10            3.8
Xfile-read                      Sh-F2             3.4
Xfile-save                      Sh-F3             3.4
Xfile-visit                     Sh-F4             3.4
Xfile-write                     Sh-F5             3.4
Xsave-all-buffers               Sh-F6             3.4
Xbuffer-set-file-name           Sh-F7             3.3
Xinsert-file                    Sh-F8             3.4
Xquit-save-all                  Sh-F9             3.8
Xmove-forw-unit                 Sh-Tab            3.2
Xmove-forw-line                 South             3.2
Xmove-back-char                 West              3.2
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                               31
X
X                      BEAV User Manual
X
X
X6. Release notes
X
X
X      Version 1.20 (3/10/91) of BEAV contains the following fixes
Xand enhancements;
X
X*           Under unix files are created with read/write
X      permissions.
X
X*           Fixed the bug in the terminal I/O routine that caused
X      BEAV to spin rather than give up control when waiting for a
X      character.
X
X*           Added the ANSI #define that was missing for MSDOS.
X
X*           Changed the D16 #define to a unsigned short.
X
X*           Called ttclose on error exit.
X
X*           Check and limit ncol and nrow to the actual screen
X      array size.
X
X*           Add the ability to load key bindings from a file
X      automatically under MSDOS and unix.
X
X*           Add delete current window command.
X
X*           Support VT100 type function keys.
X
X
X      Version 1.30 (7/1/91) of BEAV contains the following fixes
Xand enhancements;
X
X*           Under MSDOS and 16 bit UNIX systems the kill or copy
X      region could not be over 64K bytes.   This limit has been
X      eliminated.
X
X*           The save buffer can be made visible with the Esc Ctl-
X      W command.   The save buffer is not editable.
X
X*           All memory allocation errors now pause and ask for
X      conformation before continuing.   In previous releases only
X      an error message was printed.   Since an allocation error
X      generally means data loss, I have forced the user to
X      respond.   Memory allocation errors are not otherwise fatal
X      to BEAV, they are probably fatal to the user's data.   The
X      decision is left to the user with the appropriate warning.
X
X*           Two commands have been added to aid in working with
X      PROM files; n-way-split (Esc Ctl-S) and n-way-combine (Esc
X      Ctl-F).
X
X*           The speed of the delete-mark-to-cursor (Ctl-W)
X      command has been greatly improved.
X
X
X
X                               32
X
X                      BEAV User Manual
X
X
X
X*           All commands that can potentially take a lot of time
X      can be stopped by pressing Ctl-G.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                               33
X
X                      BEAV User Manual
X
X
X7. Source Availability
X
X      The source and MSDOS executable BEAV has been posted on
Xnews to comp.sources.misc and is archived at mail-server@pit-
Xmanager.mit.edu (18.72.1.58) in /pub/beav.   The source is named
XPart01, Part02, Part03,...   The MSDOS executable is named
Xbeav.tar.Z.
X
X      The MSDOS executable has been posted to the
Xcomp.binaries.ibm.pc news group.   This is archived at SIMTEL20
Xin PD1:<MSDOS.FILUTL>BEAV130.ZIP.
X
X      If anyone does not have access to usenet, I will mail a
Xcopy of the source on floppy for $20.00 copying charge.   The
Xfloppies can be in MSDOS file format or UNIX tar format.   I can
Xalso supply either QIC-24, QIC-120, QIC-150, or 9 track reel to
Xreel tape.   The price for the tape will include the cost of the
Xmedia.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X                               34
END_OF_FILE
if test 36804 -ne `wc -c <'beav2.txt'`; then
    echo shar: \"'beav2.txt'\" unpacked with wrong size!
fi
# end of 'beav2.txt'
fi
echo shar: End of archive 8 \(of 9\).
cp /dev/null ark8isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 9 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

-- 
>>>>>>>>>>>>>>>> Peter Reilley ..... pvr@wang.com <<<<<<<<<<<<<<<<<<<<<<<
                     Well, that about says it.

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.
