BEAV (08/10) ver 1.2 Binary File Editor, new release
Peter Reilley
pvr at wang.com
Thu Jun 6 23:30:30 AEST 1991
#! /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 10)."
# Contents: beav1.doc
# Wrapped by pvr at elf on Thu Mar 14 08:16:48 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'beav1.doc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'beav1.doc'\"
else
echo shar: Extracting \"'beav1.doc'\" \(32050 characters\)
sed "s/^X//" >'beav1.doc' <<'END_OF_FILE'
X
X
X
X
X
X
X
X
X BEAV
X Binary Editor And Viewer
X
X Manual Copyright 1991
X
X Version 1.20
X March 13, 1991
X
X By
X Peter Reilley
X 19 Heritage Cir.
X Hudson, N.H. 03051
X pvr at wang.com
X
X BEAV source and executable can be freely
X distributed for non-commercial purposes.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X BEAV User Manual
X
X
X
X
X Table of Contents
X
X1. Introduction
X
X2. Overview
X 2.1 Terms and Definitions
X 2.2 The Screen Format
X 2.3 Display Modes
X 2.4 Commands
X 2.5 Buffers
X 2.6 Files
X 2.7 Key Binding
X 2.8 Configuration
X
X3. Command Description
X 3.1 Help
X 3.2 Cursor Movement
X 3.3 Buffer Management
X 3.4 File Management
X 3.5 Window Management
X 3.6 Inserting and deleting
X 3.7 Search and Replace Commands
X 3.8 Exiting BEAV
X 3.9 Printing
X 3.10 Keyboard Macros
X 3.11 Key Binding
X 3.12 Special Functions
X
X4. Alphabetical list of commands by name
X
X5. Alphabetical list of commands by default key binding
X
X6. Release notes
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X - 2 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X
X1.0 Introduction
X
X BEAV is an editor that brings the features of a powerful
Xfull screen editor to the editing of binary files. It is the
Xonly editor that I know of that does that.
X
X When you need to edit a non-text file you generally have
Xtwo choices; a text editor or a file zap type editor. Each
Xchoice has significant disadvantages.
X
X Text editors expect the file to be formatted in a certain
Xway. At a minimum they expect that all lines be terminated by
Xa carriage return or line feed and be limited in length.
XThere is no line length limit with BEAV. Most text editors
Xget confused by bytes that are outside of the normal range (20
Xto 7E HEX). In BEAV no special characters such as carriage
Xreturn or line feed affect the display aside from producing
Xtheir numeric value. BEAV can edit any file no matter the
Xformat.
X
X The other choice is to use a file zap type editor which
Xcan edit a binary file without difficulty. These editors are
Xoften very limited in their features and capabilities. Most
Xfile zap programs can edit a file only in HEX or ASCII. They
Xgenerally operate on a sector basis and because of this they
Xcannot insert or delete data in the middle of the file.
X
X All these limits are eliminated in BEAV. You can edit a
Xfile in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY. You
Xcan search or search and replace in any of these modes. Data
Xcan be displayed in BYTE, WORD, or DOUBLE WORD formats. While
Xdisplaying WORDS or DOUBLE WORDS the data can be displayed in
XINTEL's or MOTOROLA's byte swap format. Data of any length
Xcan be inserted at any point in the file. The source of this
Xdata can be the keyboard, another buffer, or a file. Any data
Xthat is being displayed can be sent to a printer in the
Xdisplayed format. Files that are bigger than memory can be
Xhandled.
X
X Some users may recognize the similarity to the EMACS text
Xeditor that was written by Richard Stallman at MIT. This is
Xnot a coincidence. I attempted to keep as much of the user
Xinterface and functionality as possible given the very
Xdifferent tasks of EMACS and BEAV.
X
X
X
X
X
X
X
X
X
X
X - 3 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X2. Overview
X 2.1 Terms and Definitions
X
X Throughout this manual certain terms will be used to
Xdescribe the operation and structure of BEAV.
X
X The data that BEAV is editing is held in a buffer that is
Xstructured as a byte stream. There are many commands that
Xaffect the way that this byte stream is displayed on to the
Xscreen. Whatever display mode is chosen the data in the
Xbuffer is not effected, only the presentation.
X
X One such choice is to display the data as bytes, words,
Xor double words. That is; 8 bit values, 16 bit values, or 32
Xbit values. Whatever choice is made the value of the selected
Xsize will be displayed. These values are referred to as units
Xin this manual. Thus the 'delete-forw-unit' command deletes
Xthe unit under the cursor. If 32 bit units are being
Xdisplayed then 4 bytes will be deleted.
X
X Many commands in BEAV start by pressing the 'ESCAPE'
Xkey. When this manual refers to a command that requires that
Xthe 'ESCAPE' key be pressed it will be abbreviated with
X'Esc'. Another frequently used key stroke to start commands
Xis 'CONTROL X'. This in done by pressing the 'CONTROL' key
Xthen pressing the 'X' key at the same time. In this manual
Xthis will be abbreviated by 'Ctl-X'. Many commands contain
Xother control characters and these will be abbreviates
Xsimilarly. Thus the 'insert-unit' command will be listed as
X'Ctl-X I'. This will be entered by pressing the CONTROL key
Xand while holding it hitting the 'X' key, release the CONTROL
Xkey then hit the 'I' key.
X
X 2.2 The Screen Format
X BEAV presents information to the user in a number of
Xareas. The first is the window. There will be at least one
Xwindow displayed on the screen at all times. The window
Xconsists of two areas. The first is the display area. This
Xis where the data that is in the buffer is displayed. Most of
Xthe time the cursor will be in this area, as this is where most
Xediting is done. Each line in the display area will start
Xwith a number that indicates the offset into the buffer for
Xthis line of data. At the bottom of the display area for each
Xwindow is the status line.
X
X
X
X
X
X
X
X
X
X
X
X - 4 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X The status line presents the user with a number of
Xspecific pieces of information. The first is the program name
Xwhich is "BEAV". Next there are some flags indicating the
Xstatus of this particular buffer.
X
X The first flag indicates if the buffer has been damaged
Xby a memory allocation failure. If there is a '?' then the
Xbuffer is bad, otherwise there will be a space. Bad buffers
Xare set to read only.
X
X The next flag indicates if the buffer has been changed
Xand will need to be written out if the changes are to be
Xsaved. This flag is a '*' if the buffer has been changed,
Xotherwise there will be a space.
X
X The next flag indicates insert/overstrike mode; 'I' for
Xinsert, 'O' for overstrike. This is only meaningful in ascii
Xor ebcdic mode.
X
X Then the buffer name followed by the file name. A
Xwindow can be in read only, read/write, or read/write with size
Xlock. These will be displayed as [RO], [RW], or [WL]
Xrespectively. If auto-update is enabled then [AU] will be
Xdisplayed.
X
X Next the cursor position in bytes and the character
Xposition within the unit. The next piece of information gives
Xthe format that the data is being displayed in; HEX, OCTAL,
XDECIMAL, BINARY, ASCII, EBCDIC. If a data mode is selected
Xthen the size in bytes (1, 2, 4) is displayed. If the data is
Xbeing displayed in Intel mode then the swapped flag is
Xdisplayed, 'S'. Lastly the byte shift is displayed; 0 only
Xfor 8 bit data, 0 or 1 for 16 bit data, or 0, 1, 2 or 3 for 32
Xbit data.
X
X There can be multiple windows on the screen at the same
Xtime but each window will have a status line at the bottom.
X
X The very bottom line on the screen is the prompt line.
XThis is where you enter data that BEAV requests. If you want
Xto edit a new file you would type 'Ctl-X Ctl-V', BEAV would
Xrespond with "Visit file:" on the prompt line. The cursor
Xwould be positioned after the prompt. You would then enter
Xthe name of the file that you wished to edit.
X
X
X
X
X
X
X
X
X
X
X
X - 5 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X If you entered the command by mistake, you can abort the
Xoperation by typing a 'Ctl-G'. 'Control G' is a universal
Xabort command and can be used anywhere. If you want to
Xperform a search you will enter the search string on this
Xline. When you have entered the information that BEAV has
Xrequested hit 'Return' and the cursor will return to it's
Xoriginal position in the window display area. The prompt line
Xis also where error messages are displayed.
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 - 6 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 2.3 Display Modes
X
X The data in the buffer can be displayed in a number of
Xformats. First there is the display mode. This can be
Xeither; HEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
X
X If ASCII or EBCDIC mode is chosen then each byte in the
Xbuffer will be converted to it's ASCII or EBCDIC character and
Xdisplayed. Bytes that are outside of the standard character
Xset will be displayed as a dot. Each line will be 64
Xcharacters long. The byte value for "carriage return" and
X"line feed" will be displayed as a dot as any other
Xnon-printable characters.
X
X Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the
Xdata can be displayed in 8, 16 or 32 bit values. If 16 or 32
Xbit values are displayed the user can choose to view these
Xvalues in either the Intel format or the Motorola format. If
XIntel format is chosen then the first byte in each unit is the
Xleast significant byte when the value is calculated. Thus in
Xhex 32 bit mode a byte string of "32 7A 9F 10" would be
Xdisplayed as "109F7A32". If Motorola format is chosen this
Xvalue would be displayed as "327A9F10".
X
X There is another display format choice that affects the
X16 or 32 bit formats. This is called shift. The shift can
Xbe 0 or 1 for 16 bit modes, or 0, 1, 2, 3 for 32 bit modes.
XShift moves the zero point reference for the buffer up by the
Xselected value. The default is zero shift. If a buffer is
Xdisplaying the following 32 bit hex data;
X
X "12345678 2F4792AF 673DFEA1 88551199"
X
Xwith the shift at 0. Changing shift to 1 will produce;
X
X "3456782F 4792AF67 3DFEA188 55119955"
X
XThe data has been slid down toward the beginning of the buffer
Xby one byte. This has not changed the data in the buffer at
Xall, it has only affected the way that the data is presented on
Xthe screen. This is useful when looking at WORD or DOUBLE
XWORD data that is not aligned on two or four byte boundaries.
X
X When BEAV is first started or a new window is opened the
Xdefault format is HEXADECIMAL BYTES.
X
X
X
X
X
X
X
X
X
X
X - 7 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 2.4 Commands
X
X Commands are the means that the user controls the
Xoperation of BEAV. A command can be given by using one of two
Xmethods. The first is to use the key binding.
X
X A command can have one or more associated key bindings.
XIt can also have no key binding. There are a set of default
Xkey bindings that BEAV comes configured with. The current set
Xof key bindings can be seen by using the 'help' command. The
X'help' command is 'Esc ?' or Function Key 1 'F1' on the IBM
XPC. The help buffer can be scrolled by using the up and down
Xarrow keys. A printed copy may be obtained by going to the
Xbottom of the help buffer using the 'move-to-end' command ('Esc
X>' or the 'End' key). Then issue the 'print-mark-to-cursor'
Xcommand ('Esc P' or 'Ctl-Print') and enter 'PRN' or a file name
Xwhen prompted with "Print to:". This will output the entire
Xhelp buffer to a printer connected to the parallel interface or
Xthe specified file.
X
X The second method of issuing a command is to use the
X'extended-command' command (Esc X). You are prompted for a
Xcommand name that you want to execute. This method is useful
Xfor executing commands that have no key binding.
X
X
X 2.5 Buffers
X
X Buffers are the in memory storage for all data editing
Xand viewing. Each buffer has a name that appears in the mode
Xline. Buffers generally have a file name that is associated
Xwith them. The file name also appears in the mode line. The
Xbuffer name and the file name are independent but the buffer
Xname defaults to the file name.
X
X The buffer name is used to refer to a specific buffer.
XThe 'change-buffer' ('Ctl-X B') command will prompt you for a
Xbuffer name. After you enter a buffer name that buffer will
Xbe displayed in the current window. If there is no such
Xbuffer, one will be created and displayed (it will be empty).
X
X When BEAV is run with a file name as a command line
Xparameter, the file is read into a new buffer. The buffer name
Xwill be made the same as the file name. The file name is only
Xused when the buffer is saved. If the file name is changed
Xusing the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then
Xwhen the buffer is saved it will be saved to the new file.
X
X
X
X
X
X
X
X
X - 8 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X Buffers are dynamically allocated. They grow or shrink
Xas the size of the data they contain changes. The buffer size
Xcan be frozen using the 'buffer-size-lock' ('Ctl-X Ctl-L')
Xcommand. This prevents inserting or deleting data from the
Xbuffer but data can be modified.
X
X Buffers continue to exist even if they are not being
Xdisplayed. Buffers are saved in a linked list that can be
Xstepped through using the 'change-to-next-buffer' ('Esc +') or
X'change-to-prev-buffer' ('Esc -') commands. If the
X'change-to-next-buffer' command is given then the next buffer
Xin the list is displayed in the current window.
X
X
X 2.6 Files
X
X Files are the means of storing data on disk. Files or
Xsegments of files can be loaded into BEAV for editing or
Xviewing. The file on the disk has not been changed until BEAV
Xdoes a save to that file. When a save to a file is performed
Xthe original file contents in saved in a ".bak" file.
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 - 9 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X
X 2.7 Key Binding
X
X All commands in BEAV have a command name and a default
Xkey binding. The bindings may be changed to suit personal
Xpreference by using the 'bind-to-key' ('Esc K') command. The
Xcurrent binding of a key sequence can be displayed by using the
X'binding-for-key' ('Ctl-X ?') command.
X
X Key bindings can be loaded automatically from a file
Xnamed "beavrc". This file must be in a directory specified by
Xthe PATH environment variable. When BEAV is started this file
Xis read and the bindings are loaded. This file is a simple
Xtext file and can be edited to make changes.
X
X The beavrc file contains three columns. The first is
Xthe function name to be bound. The second is the key sequence
Xthat is bound to that function. The third is a number that
Xdefines the key code. Then the beavrc file is read in only
Xthe first and third columns are used.
X
X The simplest way to create a valid beavrc file is to
Xfirst bind the key codes to the desired functions using the
Xbind-to-key command. Next display the current bindings in a
Xwindow using the help command (Esc ?). Now save that buffer
Xto a file with the file-write command (Ctl-X Ctl-W). You will
Xbe prompted for a file name. This is a valid beavrc file.
XYou may want to edit the beavrc file to remove the commented
Xlines, those beginning with #, to make it load faster.
X
X On unix systems there can be multiple beavrc files, one
Xfor each terminal type. This is accomplished by appending the
XTERM variable to beavrc. Thus if you use both a vt100 and a
Xwyse60 terminal, you could have a beavrc.wy60 and a
Xbeavrc.vt100 bindings file. When your TERM variable is
XTERM=wy60 then the beavrc.wy60 bindings file will be used. If
Xthere is no beavrc.wy60 file then the beavrc file will be used.
X
X
X 2.8 Configuration
X
X When the MSDOS version of BEAV run it detects whether the
Xsystem is an IBM PC or a clone. If a PC is detected then a
Xset of key bindings that use the 10 function keys and the
Xrelevant keypad keys are loaded. If the system is not
Xrecognized then only the standard bindings are loaded.
X
X
X
X
X
X
X
X
X
X - 10 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X If a PC is detected the screen is managed by making BIOS
Xlevel calls that enhance performance. Otherwise, the screen
Xis controlled by making ANSI compatible calls to the operating
Xsystem. This is much slower but is not sensitive to hardware
Xconfiguration. This requires that non-standard MSDOS systems
Xsupport ANSI display controls. The following ANSI escape
Xsequences are used;
X
X Position cursor ESC [ <row> ; <column> H
X
X Erase to end of line ESC [ 0 K
X
X Erase to end of page ESC [ 0 J
X
X Normal video ESC [ 0 m
X
X Reverse video ESC [ 7 m
X
X On unix systems the termcap library is used. This
Xrequires that the TERM environment variable be set correctly.
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 - 11 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X
X3. Command Description
X
X This section describes all BEAV commands as to their
Xfunction and any side effects that they may have. The first
Xline of each description of a command will begin with the
Xdefault key binding then the command name and follows with the
Xkey binding for a PC for the MSDOS version.
X
X 3.1 Help
X
X This command returns information that will aid in the use
Xof BEAV.
X
X Esc ? help F1
X
X A new window is opened by splitting the current window
Xthen all current key bindings are displayed. This buffer is
Xlarger than can be shown at one time and must be scrolled up
Xand down to see all entries. All commands that do not alter
Xdata can be used to move around and search the help buffer.
XTo leave the help buffer use the 'window-delete' command
X('Ctl-X 0').
X
X Lines that begin with the comment character (#) are
Xcommands that have the default bindings. Lines without the
Xcomment character have been bound by the user or by processing
Xa beavrc file. The comment character helps in creating a
Xbeavrc file by identifying only those bindings that have
Xchanged.
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 - 12 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 3.2 Cursor Movement
X
X There are a number of commands that move the cursor
Xaround the current window. If the cursor bumps the top or the
Xbottom of the window the position of the window will be
Xadjusted so as to keep the cursor within the bounds. When the
Xwindow is moved in response to cursor movements it is moved by
Xabout one third of the window size. This improves performance
Xby reducing the number of window moves.
X
X Ctl-P move-back-line North (up arrow)
X Ctl-N move-forw-line South (down arrow)
X
X These commands move the cursor up one line or down one
Xline. If the cursor is on the top line in the buffer and a
X'move-back-line' command is given the cursor will jump to the
Xbeginning of the first unit in the buffer. If the cursor is
Xon the last line of the buffer and a 'move-forw-line' is given
Xthe cursor will move to the last unit in the buffer.
X
X Ctl-F move-forw-char East (right arrow)
X Ctl-B Move-back-char West (left arrow)
X
X These commands move the cursor forward or backward in the
Xcurrent line. If the cursor is at the first character in the
Xfirst unit of the line and the 'move-back-char' command is
Xgiven then the cursor will wrap to the last character of the
Xprevious line. If the cursor is at the last character of the
Xlast unit in the current line then it will wrap to the first
Xcharacter of the next line.
X
X Esc F move-forw-unit Ctl-East
X Esc B move-back-unit Ctl-West
X
X These commands are similar to the above set but they move
Xthe cursor by units rather than characters. The command
X'move-forw-unit' will position the cursor to the first
Xcharacter of the next unit. The command 'move-back-unit' will
Xmove the cursor to the first character of the previous unit.
X
X Ctl-V move-forw-page PageUp
X Esc V move-back-page PageDown
X
X These commands move the move the data in the window by
Xthe number of lines in the window less one. The cursor will
Xstay in the same position relative to the window as the data is
Xmoved.
X
X
X
X
X
X
X
X
X - 13 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X Esc < move-to-beginning Home
X Esc > move-to-end End
X
X Move the cursor to the beginning or the end of the buffer.
X
X Ctl-X G move-to-byte F9
X
X Prompt for a byte offset, then go to that position in the
Xcurrent buffer.
X
X Ctl-X Ctl-N move-window-down Ctl-Z
X Ctl-X Ctl-P move-window-up Esc Z
X
X Move the buffer in the window up or down by one line.
XThis does not effect the cursor until it hits the top or bottom
Xof the window.
X
X Esc . mark-set F2
X
X Set the mark position to the current cursor position.
XThe mark position is remembered even for nonactive windows and
Xbuffers.
X
X Ctl-X Ctl-X swap-cursor-and-mark
X
X The position of the cursor and the position of the mark
Xare swapped.
X
X Esc L window-link
X
X This command causes all windows that are displaying the
Xcontents of the current buffer to have the same cursor
Xposition. Thus if one window is scrolled then all other
Xwindows that display that buffer are scrolled so as to keep the
Xcursor in the window.
X
X Ctl-X = show-position
X
X The current position of the cursor and the mark are
Xdisplayed. The buffer size, file size and file name are also
Xshown.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X - 14 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 3.3 Buffer Management
X
X Buffers store all data that is being edited. The only
Xlimit to the number of buffers is the size of available
Xmemory. If a file is loaded into a buffer and there is
Xinsufficient memory to hold the entire file, then it will be
Xloaded until memory is exhausted. The buffer will then be set
Xto read only mode.
X
X Ctl-X Ctl-B buffers-display Ctl-F1
X
X A new window is opened and a list of all buffers in BEAV
Xis displayed. The list contains the buffer name, the file
Xname (if it exists), the buffer size, and a state flag. If
Xthe list is too large for the window, you can go to that window
Xand scroll the list.
X
X Ctl-X B change-buffer Ctl-F2
X
X This command prompts you for a buffer name. If you
Xenter the name of an existing buffer, that buffer will be
Xdisplayed in the current window. If the name does not match
Xan existing buffer, a new buffer will be created and
Xdisplayed. This buffer will be empty and will have no file
Xname.
X
X Esc + change-to-next-buffer Ctl-F4
X Esc - change-to-prev-buffer Ctl-F5
X
X The next or the previous buffer in the buffer list is
Xdisplayed in the current window. This does not effect buffers
Xthat are displayed in other windows.
X
X Esc G move-to-buffer-split
X
X Prompt for a buffer name. Then split the current window
Xand display that buffer, creating it if necessary.
X
X Esc Ctl-N buffer-set-name Esc Ctl-N
X
X The current buffer name is changed to the name that you
Xenter. This does not effect the file name.
X
X Ctl-X Ctl-F buffer-set-file-name Ctl-F7
X
X The file name of the current buffer is changed to the
Xname that you enter. This does not affect the buffer name.
X
X
X
X
X
X
X
X
X - 15 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X Ctl-X K kill-buffer Ctl-F3
X
X This command prompts you for a buffer name. This buffer
Xis then deleted. If the buffer is currently being displayed
Xyou are prompted for conformation. If the buffer has been
Xchanged you are again prompted for conformation.
X
X Ctl-X Ctl-L buffer-size-lock
X
X The buffer size is prevented from being changed. Data
Xcan be edited but only by changing the existing data. If a
Xbuffer is copied into a size-locked buffer the operation well
Xbe successful but will overwrite existing data. This command
Xtoggles between locked and unlocked.
X
X Esc Y yank-buffer Ctl-F6
X
X Data from one buffer is inserted into the current buffer
Xat the cursor position. You are prompted for the name of the
Xbuffer to copy from.
X
X Esc O save-mark-to-cursor
X
X Prompt for a buffer name. Create a new buffer with that
Xname and write the data from the mark to the cursor into that
Xbuffer.
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 - 16 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 3.4 File Management
X
X These commands control BEAV's access to files. Files
Xare loaded into buffers or are written from buffers. Commands
Xthat prompt for a file name also accept range parameters.
XRange parameters are always given in the numeric base of the
Xcurrent window. Thus if you are displaying data in decimal
Xformat then the range parameters must be entered in decimal.
X
X The size of a file read or write can be limited by
Xspecifying a range. The range parameter specifies the offset
Xinto the file, not the buffer. Range parameters can be
Xspecified in these forms;
X
X <file name> <start address>
X
X <file name> <start address> <end address>
X
X <file name> <start address> +<length>
X
X The first form causes the read or write to begin from the
X<start address> value until the end of the buffer on write or
Xthe end of the file on read.
X
X The second form reads or writes from <start address>
Xuntil <end address> non-inclusive.
X
X The third form reads or writes from <start address> for
X<length> bytes.
X
X Thus, if the command 'file-read' is given and you enter
Xat the prompt; main.obj 1000 +100. If the current display
Xmode is hex, the file "main.obj" will be read from hex byte
Xaddress 1000 to 10FF into the buffer.
X
X Ctl-X Ctl-R file-read Sh-F2
X
X Prompt for a file name and read that file into the
Xcurrent buffer. This overwrites the current contents of the
Xbuffer. The buffer name is not changed but the buffer file
Xname is set to the new file name.
X
X Ctl-X Ctl-S file-save Sh-F3
X
X Write the current buffer out to the file if it has been
Xchanged. If the buffer has not been changed then do nothing.
X
X
X
X
X
X
X
X
X
X - 17 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X Ctl-X V file-view
X
X Prompt for a file name and read file into a new buffer
Xand display in current window. Set to read-only mode.
X
X Ctl-X Ctl-V file-visit Sh-F4
X
X Prompt for a file name. If the buffer already exists
Xthen display it in the current window. Otherwise, read file
Xinto a new buffer and display in current window. If there is
Xno such file then create it.
X
X Esc U file-visit-split
X
X Same as above but split current window and display new
Xbuffer. This displays the new buffer as well as the old
Xbuffer.
X
X Ctl-X Ctl-W file-write Sh-F5
X
X Prompt for a file name, then write the current buffer to
Xthat file.
X
X Ctl-X Tab insert-file Sh-F8
X
X Prompt for a file name and insert that file into the
Xcurrent buffer at the cursor position.
X
X Ctl-X Return save-all-buffers Sh-F6
X
X Write all buffers that have been changed to their
Xrespective files.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X - 18 -
X
X
X
X
X
X BEAV User Manual
X
X
X
X 3.5 Window Management
X
X BEAV presents information to the user in one or more
Xwindows. Each window is a view into a buffer where the data
Xis actually stored. The window controls how this data is
Xformatted for display to the user. Data can be displayed as
XHEX bytes, OCTAL bytes, ASCII characters, plus many others.
XThe display format is associated with the window. Thus if a
Xnew buffer is displayed in the current window that new data
Xwill be displayed in the current windows format.
X
X The only limit to the number of windows is the screen
Xsize. A window can be no smaller than two lines. This along
Xwith the mode line associated with each window limits to eight
Xthe number of windows on an IBM PC 25 line screen.
X
X Any window can view any buffer including having many
Xwindows on the same buffer. For example, two windows can
Xdisplay the same buffer but present the data in two different
Xmodes. One window could display HEX bytes and the other could
Xdisplay ASCII characters.
X
X Ctl-P change-window-back Ctl-PageUp
X Ctl-N change-window-forw Ctl-PageDown
X
X These commands move the cursor to the next or previous
Xwindow on the screen, making it the current window.
X
X Ctl-X Z window-enlarge
X Ctl-X Ctl-Z window-shrink
X
X Enlarge or shrink the current window size by one line.
X
X Esc ! window-reposition
X
X Move window position so that the cursor is centered in
Xthe window. The cursor position in the buffer does not change.
X
X Ctl-X 2 window-split
X
X Split the current window into equal parts. Both haves
Xhave the same display mode and view the save buffer.
X
X Ctl-X 1 window-single
X
X Expand the current window to fill the entire display, all
Xother windows are removed. Make the current window the only
Xwindow displayed. This has no effect on the underlying
Xbuffers except that they may not be displayed any more.
X
X
X
X
X
X
X - 19 -
X
X
X
X
X
END_OF_FILE
if test 32050 -ne `wc -c <'beav1.doc'`; then
echo shar: \"'beav1.doc'\" unpacked with wrong size!
fi
# end of 'beav1.doc'
fi
echo shar: End of archive 8 \(of 10\).
cp /dev/null ark8isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 10 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 at wang.com <<<<<<<<<<<<<<<<<<<<<<<
Well, that about says it.
More information about the Alt.sources
mailing list