1
0
Fork 0
mirror of https://github.com/vbatts/bvi.git synced 2025-10-04 05:31:01 +00:00

bvi-1.3.0.src.tar.gz

This commit is contained in:
Gerhard Bürgmann 2001-01-15 00:00:00 +00:00 committed by Vincent Batts
commit 0220b756fa
80 changed files with 17347 additions and 0 deletions

156
html/bmore.html Normal file
View file

@ -0,0 +1,156 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: bmore</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<font color="#ffffff" class="thl">bmore<br></font>
<a class="ths" href="bmore_cmd.html">Commands</a><br>
<a class="ths" href="bmore_opt.html">Options</a><br>
<a class="ths" href="man_bmore.html">man - Page</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">bmore</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
<STRONG>bmore</STRONG> is a filter that displays the contents of a binary
file on the terminal, one screenful at a time. It normally pauses after each
screenful, and prints <B>--More--</B> at the bottom of the screen.
<STRONG>bmore</STRONG> provides a two-line over­ lap between screens for
continuity. If bmore is reading from a file rather than a pipe,
the percentage of characters displayed so far is also shown.
<P>
<STRONG>bmore</STRONG> scrolls up to display one more screen line in
response to a RETURN character; it displays another
screenful in response to a SPACE character. Other commands are listed below.
<P>
The screen is divided in three sections or panes: The byte
offset (extreme left), the hex pane (middle), and an ascii
pane (right) which shows as printable characters those
bytes in the hex pane. On an 80 column terminal there
will be sixteen hex values and their ASCII values on each
screen line. Note that (as one would expect) the first
byte has the offset 0 (zero).
<P>
<center>
<TABLE WIDTH="10" CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR><TD BGCOLOR=#ffccff><PRE CLASS="examp">
000000
00000C
000018
000024
000030
00003C
000048
000054
000060
*
00016C
000178
000184
000190
00009C</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp">
7F 45 4C 46 01 01
00 00 00 00 01 00
00 00 00 00 00 00
00 00 00 00 34 00
0C 00 09 00 00 00
00 00 00 00 55 89
53 C7 45 A4 00 00
00 00 00 83 7D 08
8C 02 00 00 E9 6F
00 00 00 00 6A 03
45 08 50 E8 FC FF
0C 85 D2 75 17 6A
E9 43 02 00 00 8D
0C 85 D2 75 0D C7</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp">
01 00 00 00 00 00
03 00 01 00 00 00
00 00 0C 07 00 00
00 00 00 00 28 00
00 00 00 00 00 00
E5 83 EC 68 57 56
00 00 C7 45 A0 01
00 75 13 6A 00 E8
02 00 00 8D B4 26
68 90 00 00 00 8B
FF FF 89 C2 83 C4
01 E8 60 02 00 00
74 26 00 8D BC 27
45 A0 00 00 00 00</PRE></TD><TD BGCOLOR=#FFCCCC><PRE CLASS="examp">
.ELF........
............
............
....4.....(.
............
....U....hWV
S.E......E..
....}..u.j..
.....o.....&
....j.h.....
E.P.........
...u.j..`...
.C....t&...'
...u..E.....</PRE></TD></TR>
<TR BGCOLOR=#FFFFCC><TD COLSPAN=4 CLASS="examp">
<font class="inv">--More--(5%) </font>
</TD></TR>
</TABLE>
</CENTER>
<p>
Equal lines will only displayed once, a star (*) is the placeholder
for one or more lines equal to the line above.
</p>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Fri Oct 13 22:30:06 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

116
html/bmore_cmd.html Normal file
View file

@ -0,0 +1,116 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Commands</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
<font color="#ffffff" class="ths">Commands<br></font>
<a class="ths" href="bmore_opt.html">Options</a><br>
<a class="ths" href="man_bmore.html">man - Page</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">bmore</font>
<br><font class="sub">Commands</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
Most commands optionally preceded by integer argument <I>k</I>. Defaults in brackets.
Star (*) indicates argument becomes new default.
<P>
<TABLE>
<TR><TH><FONT COLOR=#888888>SPACE</FONT></TH>
<TD>Display next <I>k</I> lines of bytes </TD><TD>current screen size</TD></TR>
<TR><TH>z</TH><TD>Display next <I>k</I> lines of bytes </TD>
<TD>current screen size*</TD></TR>
<TR><TH><FONT COLOR=#888888>RETURN</FONT></TH>
<TD>Display next <I>k</I> lines of bytes </TD><TD>1*</TD></TR>
<TR><TD ALIGN=CENTER><B>d</B> or <B><FONT COLOR=#888888>CTRL</FONT> D</B></TH>
<TD>Scroll <I>k</I> lines </TD><TD>current scroll size, initially 11*</TD></TR>
<TR><TD ALIGN=CENTER><B>q</B> or <B>Q</B> or Interrupt</TD>
<TD>Exit from bmore</TD></TR>
<TR><TH>s</TH>
<TD>Skip forward <I>k</I> lines of bytes </TD><TD>1</TD></TR>
<TR><TH>f</TH>
<TD>Skip forward <I>k</I> screenfuls of bytes </TD><TD>1</TD></TR>
<TR><TD ALIGN=CENTER><B>b</B> or <B><FONT COLOR=#888888>CTRL</FONT> B</B></TH>
<TD>Skip backwards <I>k</I> screenfuls of bytes </TD><TD>1</TD></TR>
<TR><TH>'</TH>
<TD>Go to place where previous search started</TD></TR>
<TR><TH>=</TH>
<TD>Display current byte number</TD></TR>
<TR><TH>/<FONT COLOR=#FF0000>regular expr</FONT></TH>
<TD>Search for <I>k</I><SUP>th</SUP> occurrence of ascii regular expr </TD><TD>1</TD></TR>
<TR><TH>\<FONT COLOR=#FF0000>regular expr</FONT></TH>
<TD>Search for <I>k</I><SUP>th</SUP> occurrence of binary regular expr </TD><TD>1</TD></TR>
<TR><TH>n</TH>
<TD>Search for <I>k</I><SUP>th</SUP> occurrence of last r.e </TD><TD>1</TD></TR>
<TR><TD ALIGN=CENTER><B>!<I>cmd</I></B> or <B>:!<I>cmd</I></B></TH>
<TD>Execute <I>cmd</I> in a subshell</TD></TR>
<TR><TH>v</TH>
<TD>Start up <B>bvi</B> at current position</TD></TR>
<TR><TH>w</TH>
<TD>Start up <B>bvi</B> reading only a screenful of bytes</TD><TD>screen</TD></TR>
<TR><TH><FONT COLOR=#888888>CTRL</FONT> L</TH>
<TD>Redraw screen</TD></TR>
<TR><TH>:n</TH>
<TD>Go to <I>k</I><SUP>th</SUP> next file</TD><TD>1</TD></TR>
<TR><TH>:p</TH>
<TD>Go to <I>k</I><SUP>th</SUP> previous file</TD><TD>1</TD></TR>
<TR><TH>:f</TH>
<TD>Display current file name and byte position</TD></TR>
<TR><TH>.</TH>
<TD>Repeat previous command</TD></TR>
</TABLE>
<P>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Fri Jun 30 22:05:32 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

133
html/bmore_opt.html Normal file
View file

@ -0,0 +1,133 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Command Line Options</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
<a class="ths" href="bmore_cmd.html">Commands</a><br>
<font color="#ffffff" class="ths">Options<br></font>
<a class="ths" href="man_bmore.html">man - Page</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">bmore</font>
<br><font class="sub">Command Line Options</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
<table>
<tr><th valign="top">-a</th><td>ASCII mode</td></tr>
<tr><th valign="top">-d</th><td>Display error messages rather than ringing the
terminal bell if an unrecognized command is used.
This is helpful for inexperienced users.
</td></tr>
<tr><th valign="top">-i</th><td>Ignore case for searching.</td></tr>
<tr><th valign="top">+<I>linenumber</i></th>
<td>Start up at <I>linenumber</i></td></tr>
<tr><th valign="top">+/<font color="#FF0000">ASCII-pattern</font></th>
<td>Start up at the line containing the regular expression
<font color="#FF0000"><b>ASCII-pattern</b></font></td></tr>
<tr><th valign="top">+\<font color="#FF0000">HEX-pattern</font></th>
<td>Start up at the line containing the regular expression
<font color="#FF0000"><b>HEX-pattern</b></font></td></tr>
</table>
<p>
This is the default display:</p>
<center>
<table width="10" cellspacing="0" cellpadding="0" border="0">
<tr><td bgcolor=#ccFFff>
<pre class="examp">
00000000 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 .ELF............
00000010 01 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 F4 60 00 00 00 00 00 00 34 00 00 00 00 00 28 00 .`......4.....(.
00000030 0F 00 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 55 89 E5 68 04 00 00 00 68 4C 00 00 00 68 00 00 U..h....hL...h..
00000050 00 00 E8 FC FF FF FF 6A 01 E8 FC FF FF FF 89 F6 .......j........
00000060 55 89 E5 83 EC 14 57 56 53 8B 7D 0C C7 45 FC 00 U.....WVS.}..E..
00000070 00 00 00 C7 45 F8 00 00 00 00 C7 45 F4 00 00 00 ....E......E....
00000080 00 BE 01 00 00 00 6A 2F 8B 07 50 E8 FC FF FF FF ......j/..P.....
00000090 83 C4 08 85 C0 74 09 40 EB 08 8D B6 00 00 00 00 .....t.@........
000000A0 8B 07 50 68 04 00 00 00 E8 FC FF FF FF 83 C4 08 ..Ph............
000000B0 68 85 00 00 00 68 04 00 00 00 E8 FC FF FF FF 83 h....h..........
000000C0 C4 08 39 75 08 0F 8E 35 01 00 00 8B 04 B7 89 45 ..9u...5.......E
000000D0 EC 8A 10 80 FA 2B 0F 84 94 00 00 00 80 FA 2D 0F .....+........-.
000000E0 85 EB 00 00 00 BB 01 00 00 00 80 78 01 00 0F 84 ...........x....
000000F0 D1 00 00 00 8B 4D EC 8A 04 0B 3C 64 74 32 7F 10 .....M....^dt2..</pre>
<font class="inv">--More--(5%) </font>
</td></tr></table>
</center><p>
With the <tt><b>-a</b></tt> option the display looks like this:
</p>
<center>
<table width="10" cellspacing="0" cellpadding="0" border="0">
<tr><td bgcolor=#ccFFcc>
<pre class="examp">
00000000 .ELF....................@...4... .......4. ...(.........4...4...
00000040 4...............................................................
00000080 .....1...1...............1..............,................4......
000000C0 .................................... ... .........../lib/ld-linu
00000100 x.so.2..............GNU.................%...8.......4... .......
00000140 ........,.......6.......................3...!...........%...1...
00000180 ....7..............."...........2...&...+...)...................
000001C0 ................................................................
00000200 ................................................................
00000240 ............................#...........(...................'...
00000280 *...$.......-.../.......0.......5...................U...........
000002C0 .... .......................g.......(...........................
00000300 ............t...-...........5...............o...............$...
00000340 ........................$...............4...............D...H...
00000380 ....y...T...............d...............t...........1...d.......
000003C0 ................................-...................j...........</pre>
<font class="inv">--More--(18%) </font>
</td></tr></table>
</center>
<p> &nbsp;</p>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Fri Oct 13 21:38:17 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

11
html/bvi.css Normal file
View file

@ -0,0 +1,11 @@
TD {font-family: Helvetica, Arial, sans-serif;}
TH {font-family: Helvetica, Arial, sans-serif;}
STRONG {color:red;}
.thl {font-family: Helvetica, Arial Narrow, sans-serif; font-size: 12pt; font-weight: bold; text-decoration:none;}
.ths {font-family: Helvetica, Arial Narrow, sans-serif; font-size: 10pt; text-decoration:none;}
.btop {text-decoration:none; color:black;}
.examp {font-family: Courier, monospace;}
.inv {font-family: Courier, monospace; color: rgb(255,255,255); background-color: rgb(0,0,0);}
.head {font-family: Helvetica, Arial, sans-serif; font-size: 22pt; font-weight: bold; text-decoration:none;}
.sub {font-family: Helvetica, Arial, sans-serif; font-size: 16pt; font-weight: bold;}
.new {font-family: Times, serif; font-weight: bold; font-size: 28pt; color: red;}

208
html/colon.html Normal file
View file

@ -0,0 +1,208 @@
<HTML><HEAD>
<TITLE>BVI: Colon (ex) Commands</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR="#ffffff">
<A NAME="top"></A>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<A CLASS=head HREF="overview.html">Command Overview</A>
<BR><FONT CLASS=sub>Colon (ex) Commands</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<A HREF="index.html">
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62" BORDER=0></A>
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| Colon (ex) Cmds
]
</CENTER>
<P>
<BLOCKQUOTE>
When forming a colon command, the first character, the colon, can be
followed by zero, one or two addresses. These addresses are byte
addresses, in contrast to vi, which uses line addresses.<BR>
The byte addresses can be given in decimal notation or, with a
leading zero, in hexadecimal notation. If you have specified an
address offset (e.g. <B>:set offset=256</B>), this offset has to be
added to the byte addresses.<BR>
Without an address, the whole file is affected or the current cursor
position is used (depending of the command).
<P>
<CENTER>
<TABLE BORDER=1 CELLPADDING=4>
<TR><TH>Address</TH><TH>Corresponding bytes</TH></TR>
<TR><TH>.</TH><TD>The current byte</TD></TR>
<TR><TH>7</TH><TD>The seventh byte of file (if offset=0)</TD></TR>
<TR><TH>.-<I>n</I></TH><TD><I>n</I> bytes before the current byte</TD></TR>
<TR><TH>.+<I>n</I></TH><TD><I>n</I> bytes after the current byte</TD></TR>
<TR><TH>'<I>x</I></TH><TD>The byte marked with <I>x</I></TD></TR>
<TR><TH>^</TH><TD>The first byte in file</TD></TR>
<TR><TH>$</TH><TD>The last byte</TD></TR>
<TR><TH>''</TH><TD>The previous current byte</TD></TR>
<TR><TH>/pat/</TH><TD>The first byte that matches <I>pat</I></TD></TR>
<TR><TH>#12 A4 6F#</TH><TD>The first byte that matches hex pattern</TD></TR>
</TABLE>
</CENTER>
</BLOCKQUOTE>
<TABLE WIDTH=100%>
<TR BGCOLOR=#CCCCCC><TH WIDTH=20%>Command</TH><TH WIDTH=40%>BVI</TH><TH WIDTH=40%>VI</TH></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>File<BR>Commands</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:w</B><BR>
<B>:w</B> %.new<BR>
<B>:w</B> filename<BR>
<B>:w&gt;&gt;</B> existingfile<BR>
<B>:w!</B> file<BR>
<B>:e</B> newfile<BR>
<B>:e!</B><BR>
<B>:f</B><BR>
<B>:f</B> newname<BR>
</TD>
<TD>Write to the current file<BR>
Write to current.new<BR>
Write to filename<BR>
Append to existing file<BR>
Overwrite existing file<BR>
Terminate session and edit <I>newfile</I><BR>
Reload the current file<BR>
Prints current filename and some additional info<BR>
Changes the current filename to <I>newname</I>
</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=2>Substitute<BR>Commands</TD>
<TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:s/pattern/replace/</B><BR>
<B>:s/pattern/replace/g</B><BR>
<B>:s/pattern/replace/gc</B></TD>
<TD>Search for pattern and replace it once<BR>
Search for pattern and replace it global<BR>
Search for pattern and replace it global conditional (ask)
</TD></TR>
</TABLE>
<TR><TD>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:s\80 af\ff ff\</B></TD>
<TD>Binary search and replace
</TD></TR>
</TABLE>
<TD BGCOLOR=#FFCCCC>Not available</TD></TR>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Edit<BR>Commands</TD>
<TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD VALIGN=TOP><B>:a</B> <I>m</I><BR>
<B>:c</B> <I>m</I> &nbsp;<BR>
<B>:i</B> <I>m</I></B></TD>
<TD>append<BR>
change<BR>
insert
bytes, where <I>m</I> is a(scii), b(inary), d(ecimal), h(exadecimal)
or o(ctal). You can type in several (screen) lines of bytes, a line
with only a '<B>.</B>' in it terminates the command.
</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
Usually not available in vi but in ex (without the <I>m</I> - modifier).
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Logical<BR>Operations</TD>
<TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:and</B> <I>n</I><BR>
<B>:or</B> <I>n</I><BR>
<B>:xor</B> <I>n</I><BR>
<B>:neg<BR>
:not<BR>
:sl</B> <I>i</I><BR>
<B>:sr</B> <I>i</I><BR>
<B>:rr</B> <I>i</I><BR>
<B>:rl</B> <I>i</I></TD>
<TD>and <I>n</I><BR>
or <I>n</I><BR>
exclusive or <I>n</I><BR>
negate<BR>
invert<BR>
shift left <I>i</I> bits<BR>
shift right <I>i</I> bits<BR>
rotate left <I>i</I> bits<BR>
rotate right <I>i</I> bits
</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
Not available.
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=2>Miscellaneous</TD>
<TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD>
<B>:g</B>/<I>pat</I>/p<BR>
<B>:n<BR>
:q<BR>
:rew<BR>
:sh<BR>
:so</B> file<BR>
<B>:ve<BR>
:x<BR>
:!</B> <I>command</I><BR>
</TD><TD>
Global search for pattern <I>pat</I><BR>
Next file to edit<BR>
Exit session without saving the file<BR>
Rewind to first file<BR>
spawn a new shell<BR>
Read and execute a file with colon commands<BR>
Version of the editor<BR>
Exit session, save the file if changed<BR>
execute a system <I>command</I><BR>
</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD>Currently not available</TD></TR>
</TABLE>
</TD><TD>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD>
<B>:map</B><BR>
<B>:unm</B>(ap)<BR>
<B>:ab</B>(breviate)<BR>
<B>:una</B>(bbreviate)<BR>
</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| Colon (ex) Cmds
]
</CENTER>
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: October 30<SUP>th</SUP> 1999 by Gerhard B&uuml;rgmann</I>
</BODY></HTML>

116
html/cursor.html Normal file
View file

@ -0,0 +1,116 @@
<HTML><HEAD>
<TITLE>BVI: Cursor Movements</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR="#ffffff">
<A NAME="top"></A>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<A CLASS=head HREF="overview.html">Command Overview</A>
<BR><FONT CLASS=sub>Cursor Movements</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<A HREF="index.html">
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62" BORDER=0></A>
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
<CENTER>
[ Cursor Movements
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<TABLE WIDTH=100%>
<TR BGCOLOR=#CCCCCC><TH WIDTH=20%>Command</TH><TH WIDTH=40%>BVI</TH><TH WIDTH=40%>VI</TH></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Cursor<BR>movements</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>h, <FONT COLOR=#888888>ARROW_LEFT</FONT></TH>
<TD>move cursor one character to the left</TD></TR>
<TR><TH>j, +, ^N, ^J, <FONT COLOR=#888888>ARROW_DOWN</FONT>,
<FONT COLOR=#888888>RETURN</FONT>
</TH><TD>move cursor down one line</TD></TR>
<TR><TH>k, -, <FONT COLOR=#888888>ARROW_UP</FONT></TH>
<TD>move cursor up one line</TD></TR>
<TR><TH>l, <FONT COLOR=#888888>ARROW_RIGHT</FONT>,
<FONT COLOR=#888888>SPACE</FONT>
</TH><TD>move cursor one character to the right</TD></TR>
<TR><TH>H</TH><TD>move cursor to home position, upper left corner of screen</TD></TR>
<TR><TH>M</TH><TD>move cursor to the begin of the middle line of the screen</TD></TR>
<TR><TH>L</TH><TD>move cursor to the begin of the last line of the screen</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Move to<BR>begin<BR>and end of<BR>(screen) line</TD>
<TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>^</TH><TD>move cursor to the first byte of Hex section</TD></TR>
<TR><TH>$</TH><TD>move cursor to the last byte of Ascii section</TD></TR>
<TR><TH><FONT COLOR=#888888>TAB</FONT></TH><TD>toggle cursor between the same byte in Hex and Ascii section</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; ^ &nbsp;</TH>
<TD>move cursor to the first nonblank character of line</TD></TR>
<TR><TH>$</TH><TD>move cursor to end of line</TD></TR>
<TR><TH>0</TH><TD>move cursor to the real begin of line</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Move<BR>by<BR>words</TD>
<TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; w &nbsp;</TH>
<TD>forward to next string delimited with a nonprinting char</TD></TR>
<TR><TH>b</TH>
<TD>back to previous string delimited with a nonprinting char</TD></TR>
<TR><TH>e</TH>
<TD>end of current word </TD></TR>
<TR><TH>W</TH>
<TD>forward to next string delimited with a \0 or \n</TD></TR>
<TR><TH>B</TH>
<TD>back to previous string delimited with a nonprinting char</TD></TR>
<TR><TH>E</TH>
<TD>end of a blank-delimited word</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; w &nbsp;</TH>
<TD>move cursor forward to begin of next word</TD></TR>
<TR><TH>e</TH>
<TD>move cursor to end of current word</TD></TR>
<TR><TH>b</TH>
<TD>move cursor back to begin of current or previous word</TD></TR>
<TR><TH>W</TH>
<TD>move cursor forward to begin of next word, ignoring punctuation</TD>
</TR>
<TR><TH>B</TH>
<TD>move cursor back to begin of last word, ignoring punctuation</TD>
</TR>
</TABLE>
</TD></TR>
</TABLE>
<P>
<CENTER>
[ Cursor Movements
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: October 30<SUP>th</SUP> 1999 by Gerhard B&uuml;rgmann</I>
</BODY></HTML>

98
html/download.html Normal file
View file

@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Download Page</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<font color="#ffffff" class="thl">Download<br></font>
<a class="ths" href="new130.html">New in 1.3.0</a><br>
<a class="ths" href="new120.html">New in 1.2.0</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Download Page</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
NOTE: All packages are compressed with the GNU gzip program. You
can download it from <A HREF="ftp://ftp.gnu.org/gnu/gzip/">ftp://ftp.gnu.org/gnu/gzip/</A>.
<P>
Current stable release of bvi is <B>1.3.0</B>
(Check out what's <A HREF="new130.html">new</A>):
<P>
<H3>Sources</H3>
<UL>
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.3.0.src.tar.gz">bvi-1.3.0.src.tar.gz</A>
&nbsp; (147284 bytes)
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.3.0.lsm">bvi-1.3.0.lsm</A>
&nbsp; (645 bytes)<P>
<LI><A HREF="http://bvi.linuxave.net/download/bvi-1.1.1.src.tar.gz">bvi-1.1.1.src.tar.gz</A>
&nbsp; (46168 bytes)
</UL>
<H3>Executables</H3>
<UL>
<LI>Linux: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-linux_static_elf.gz">bvi-1.3.0-linux_static_elf.gz</A>
&nbsp; (109917 bytes)
<LI>SunOS 4.1.3_U1: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-sun4.gz">bvi-1.3.0-sun4.gz</A>
&nbsp; (59357 bytes)
<LI>Solaris 2.6: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.3.0-solaris.gz">bvi-1.3.0-solaris.gz</A>
&nbsp; (61368 bytes)
<LI>AIX 4.1: &nbsp;<A HREF="download/bvi-1.2.0-aix.gz">bvi-1.2.0-aix.gz</A>
&nbsp; (29095 bytes)
<LI>IRIX 6.5.5: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.2.0-irix.gz">bvi-1.2.0-irix.gz</A>
&nbsp; (33888 bytes)
<LI>HP-UX B.10.20: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi-1.2.0-hpux.gz">bvi-1.2.0-hpux.gz</A>
&nbsp; (36175 bytes)
<LI>MSDOS: &nbsp;<A HREF="http://bvi.linuxave.net/download/bvi120.zip">bvi120.zip</A>
&nbsp; (43233 bytes)<P>
<LI>MSDOS: &nbsp; <A HREF="http://bvi.linuxave.net/download/bvi110.zip">bvi110.zip</A>
&nbsp; (44690 bytes)<P>
</UL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: October 23<sup>rd</sup> 22:36:45 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

194
html/edit.html Normal file
View file

@ -0,0 +1,194 @@
<HTML><HEAD>
<TITLE>BVI: Edit Commands</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR="#ffffff">
<A NAME="top"></A>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<A CLASS=head HREF="overview.html">Command Overview</A>
<BR><FONT CLASS=sub>Edit Movements</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<A HREF="index.html">
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62" BORDER=0></A>
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| Edit Cmds
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
If you would like to use the insert and delete commands, you have to
enable them with the <B>:set memmove</B> option. These commands are
locked per default, because you must not move bytes to a different
address for many types of binary files (e.g. executables, database files,
etc.). If you usually edit files where bytes can be moved, you can add
the <B>:set memmove</B> directive to your <B><TT>.bvirc</TT></B> file.
<P>
<TABLE WIDTH=100%>
<TR BGCOLOR=#CCCCCC><TH WIDTH=20%>Command</TH><TH WIDTH=40%>BVI</TH><TH WIDTH=40%>VI</TH></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Replace<BR>bytes</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; r &nbsp;</TH>
<TD>replace a single byte, no ESC needed</TD></TR>
<TR><TH>R</TH>
<TD>replace multiple bytes until you type ESC</TD></TR>
<TR><TH>~</TH>
<TD>toggle between uppercase and lowercase of a byte</TD></TR>
</TD></TR>
</TABLE>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Append<BR>bytes</TD>
<TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; A &nbsp;</TH><TD>append bytes at end of file</TD></TR>
<TR><TH>D</TH><TD>delete bytes to end of file</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; A &nbsp;</TH><TD>append characters at end of line</TD></TR>
<TR><TH>D</TH><TD>delete characters to end of line</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=3>Insert<BR>bytes</TD>
<TD COLSPAN=2 BGCOLOR=#CCFFCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; i &nbsp;</TH>
<TD>insert byte in front of cursor position</TD></TR>
<TR><TH>a</TH>
<TD>insert byte after cursor position</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; I &nbsp; </TH><TD>insert byte at begin of file</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; I &nbsp;</TH><TD>insert characters at begin of line</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>o</TH><TD>insert new line below current line</TD></TR>
<TR><TH>O</TH><TD>insert new line above current line</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=4>Delete<BR>bytes</TD>
<TD COLSPAN=2 BGCOLOR=#CCFFCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; x &nbsp;</TH>
<TD>delete byte at of cursor position</TD></TR>
<TR><TH>X</TH><TD>delete byte in front of cursor position</TD></TR>
<TR><TH>d<FONT COLOR=#888888>SPACE</FONT></TH><TD>delete byte at cursor position</TD></TR>
<TR><TH>df<FONT COLOR=#FF0000>C</FONT></TH>
<TD>delete from current position to next character <FONT COLOR=#FF0000>C</FONT></TD></TR>
<TR><TH>d/<FONT COLOR=#FF0000>xyz</FONT></TH>
<TD>delete from current position to first occurance of matching pattern
<FONT COLOR=#FF0000>xyz</FONT>
</TD></TR>
<TR><TH>d?<FONT COLOR=#FF0000>xyz</FONT></TH>
<TD>delete from current position to first occurance of matching pattern
<FONT COLOR=#FF0000>xyz</FONT> in reverse direction
</TD></TR>
<TR><TH>d'<FONT COLOR=#FF0000>a</FONT></TH><TD>delete from current position to mark <FONT COLOR=#FF0000>a</FONT></TD></TR>
<TR><TH>d<FONT COLOR=#FF0000>n</FONT>G</TH><TD>delete from current position to byte with (decimal) address <FONT COLOR=#FF0000>n</FONT></TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available, because there are no lines, sentences,
paragraphs or sections in a binary file</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>dd &nbsp;</TH><TD>delete line</TD></TR>
<TR><TH>d)</TH><TD>delete from cursor position through first
following end of sentence</TD></TR>
<TR><TH>d}</TH><TD>delete from cursor position through first
following end of paragraph</TD></TR>
<TR><TH>d]</TH><TD>delete from cursor position through first
following end of section</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>d\<FONT COLOR=#FF0000>6a 56 ff</FONT> &nbsp;</TH>
<TD>delete from cursor position to first occurance of hex pattern
<FONT COLOR=#FF0000>6a 56 ff</FONT></TD></TR>
<TR><TH>d#<FONT COLOR=#FF0000>6a 56 ff</FONT> &nbsp;</TH>
<TD>delete from cursor position to first occurance of hex pattern
<FONT COLOR=#FF0000>6a 56 ff</FONT> in reverse direction</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>D</TH><TD ROWSPAN=2>delete from current position to EOF</TD></TR>
<TR><TH>&nbsp; d$ &nbsp;</TH></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>D</TH><TD ROWSPAN=2>delete from current position to end of line</TD></TR>
<TR><TH>&nbsp; d$ &nbsp;</TH></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=2>Undo<BR>edits</TD>
<TD COLSPAN=2 BGCOLOR=#CCFFCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; u &nbsp;</TH>
<TD>Undo the most recent change</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; U &nbsp;</TH><TD>Undo all of the changes made to the current line</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
<P>
Note that most of the commands can be used with a decimal repeat count in front
of the command!
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| Edit Cmds
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: September 30<SUP>th</SUP> 1999 by Gerhard B&uuml;rgmann</I>
</BODY></HTML>

214
html/german.html Normal file
View file

@ -0,0 +1,214 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Deutsche Beschreibung</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<font color="#ffffff" class="thl">Deutsche Beschreibung<br></font>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Deutsche Beschreibung</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
Der BVI (Binary-VI) ist ein Editor für Binärfiles. Seine Kommandos sind
weitgehend an den Standard UNIX Editor VI(1) angelehnt. Der Bildschirm
ist in einen hexadezimalen und einen ASCII-Bereich geteilt. Einige zusätzliche
Kommandos wurden zugefügt, einige Kommandos adaptiert und einige Kommandos,
die bei Binärfiles keinen Sinn machen, wurden weggelassen. Für eine
Gesamtübersicht siehe Manual Page BVI(1).
<H2>Zusätzliche Kommandos</H2>
Eine wichtige Funktion für binäre Files ist das Suchen nach Hexcodes.
Dafür gibt es analog zum '/' und '?' - Kommando zusätzlich das '\' und
das '#' - Kommando.<BR>
Beispiel:<BR>
\1e f4 56 - Sucht die angegebene Bytefolge in vorwärts-Richtung<BR>
#34 5a a4 - Sucht Bytefolge rückwärts.
<P>
Die normalen Textsuchkommandos sind auch vorhanden, wobei zusätzlich ein
Return, Linefeed oder NULL im Suchstring aufscheinen darf (\n \r oder \0).
<P>
Die Kommandos w, W, b, B (nächstes oder vorhergehendes Wort) wurden insoweit
abgeändert, daß sie eher dem STRINGS(1) - Kommando entsprechen, also in
einem Binärfile Textstrings suchen. Dabei sucht W und B nach Strings, die
mit einem \0 oder \n enden, w und b sucht nach Strings, die mit einem
beliebigen, nicht druckbaren Zeichen enden. Die Stringlänge beträgt 4 Zeichen,
wobei mit ":set wordlength=x" die Stringlänge auf x Zeichen eingestellt werden
kann.
<P>
Der Bildschirm ist in einen HEX und einen ASCII-Bereich aufgeteilt, wobei
jederzeit mit der TAB - Taste von einem Bereich in den anderen gewechselt
werden kann (auch im Eingabemodus). Es kann also bei der Eingabe zwischen
normalen ASCII-Zeichen und Hex-Eingabe hin- und hergesprungen werden.
<P>
Am unteren Bildrand befindet sich eine Statusanzeige, welche die Adresse des
Bytes, auf welchem der Cursor momentan steht, anzeigt. Außerdem wird das Byte
in oktaler, hexadezimaler, dezimaler und ASCII-Repräsentation anzeigt. Die
ASCII-Anzeige kann von DOS-Style (27 entspricht ^Z) auf UNIX-Style entsprechend
Manual Page ASCII(7) umgeschaltet werden (27 entspricht SUB).
Kommando ist ":set unixstyle". Die Statusanzeige kann mit ":set noshowmode"
ausgeschaltet werden.
<H2>Regular Expressions</H2>
Für die Suchkommandos sowohl für Text als auch Hex sind Regular Expressions
zulässig, wobei es die Zeichen ^ und $ für Zeilenanfang und Zeilenende nicht
gibt. Die Kombination .* ist unzulässig, da sie sich auf jeden Fall auf das
Ende des Files beziehen würde.
<H2>Zeilen</H2>
Da es in binären Files keine Zeilen gibt (die Darstellung der einzelnen
Zeilen am Bildschirm hat keinen Bezug zum File) gibt es keinerlei
zeilenorientierte Kommandos (dd, o, O, yy). Ein Kommando
wie :s/XXX/UUU/g ändert somit das gesamte File. Zu beachten ist auch, daß
:s/XX/UUUU/ nicht die beiden X durch vier U ersetzt, sondern die beiden den
X folgenden Zeichen auch durch U überschrieben werden.
<H2>Editierkommandos</H2>
Da binäre Files häufig ausführbare Programme oder Datenbankfiles sind,
bei denen Bytes nicht einfach an eine andere Adresse verschoben werden
d&uuml;rfen, sind Einf&uuml;ge- und L&ouml;schkommandos (z.B. a, i, x)
deaktiviert. Mit dem Kommando <B>:set memmove</B> k&ouml;nnen sie
aktiviert werden.
<P>
Die Kommandos <B>:a</B> (append), <B>:c</B> (change) und <B>:i</B> (insert)
k&ouml;nnen benutzt werden, um ein oder mehrere Bytes in ASCII, bin&auml;rer,
dezimaler, hexadezimaler oder oktaler Schreibweise einzugeben
(a, b, d, h oder o). Es
k&ouml;nnen mehrere (Bildschirm) Zeilen eingegeben werden. Das Kommando
wird beendet, sobald eine Zeile, die nur aus einem Punkt besteht,
eingegeben wird.
<P>
Beispiel:
<BLOCKQUOTE>
<PRE>
:i b
1 1001 010101 1111
11111 1010 1 0 1
.
</PRE>
</BLOCKQUOTE>
Zu beachten ist, da&szlig; kein Einzelwert den maximalen Byte-Wert (255)
&uuml;berschreiten darf, da sonst die Eingabe abgebrochen wird. Das
Dr&uuml;cken der RETURN - Taste f&uuml;hrt zu keinem "RETURN" - Zeichen in
der Datei, im ASCII - Modus k&ouml;nnen allerdings die Sonderzeichen
\n, \r, \t und \0 benutzt werden.
<H2>Yank und Put</H2>
Auch hier gilt eine etwas geänderte Funktion. Das <B>y</B> (yank) -
Kommando ist allerdings ab Version 1.2.0 dem Vi angenähert:<BR>
<TABLE>
<TR><TD>5ySPACE</TD><TD>kopiert 5 Zeichen in den Yank-Buffer</TD></TR>
<TR><TD>o</TD><TD>überschreibt an Cursor - Position die folgenden Zeichen
mit dem Inhalt des Yank- oder Delete - Puffers</TD></TR>
<TR><TD>p</TD><TD>fügt an der Cursor - Position den Inhalt des Yank-
oder Delete - Puffers ein.</TD></TR>
<TR><TD>P</TD><TD>fügt den Inhalt des Yank- oder Delete - Puffers am Dateiendes
an.</TD></TR>
</TABLE>
<P>
Das Kommando ":r filename" fügt das angegebene File nicht an der Cursor-
Position sondern am Dateiende an.
<H2>Adressen</H2>
Das Kommando nG führt nicht zur n. Zeile, sondern zum n. Byte.
Die Eingabe der Nummer wird dezimal interpretiert. Um eine Adresse
hexdezimal angeben zu können, kann g eingegeben werden. Es erscheint ein
Prompt in der Statuszeile, bei dem eine hexadezimale Eingabe erfolgen kann.
Das erste Byte hat Adresse 0.<BR>
Die Anzeige der Adressen kann mit einem Offset versehen werden
(:set offset=256), beispielsweise um für .COM Files in DOS einen Beginn
bei Adresse 100Hex anzuzeigen. Wird ein offset=1 angegeben, so ist
hat das erste Byte Adresse 1. Das G - Kommando berücksichtigt den Offset.
Im Gegensatz dazu zeigt das :f - Kommando immer die Ordnungszahl des
Bytes an, beginnend mit 1 ohne Berücksichtigung des Offsets.
<H2>Bitweise Kommandos</H2>
Um Manipulationen auf Bit-Ebene durchf&uuml;hren zu k&ouml;nnen, stehen
folgende Kommandos zur Verf&uuml;gung:
<CENTER><TABLE>
<TR><TD><B>:rl </B><I>n</I></TD><TD>Rotiert Bits links</TD><TD ROWSPAN=4>
<I>n</I> ist eine Zahl zwischen 1 und 7</TD></TR>
<TR><TD><B>:rr </B><I>n</I></TD><TD>Rotiert Bits rechts</TD></TR>
<TR><TD><B>:sl </B><I>n</I></TD><TD>Schiebt Bits links</TD></TR>
<TR><TD><B>:sr </B><I>n</I></TD><TD>Schiebt Bits rechts</TD></TR>
<TR><TD><B>:and </B><I>i</I></TD><TD>Und Verkn&uuml;pfung</TD><TD ROWSPAN=4>
<I>i</I> ist eine Zahl zwischen 0 und 255</TD></TR>
<TR><TD><B>:or </B><I>i</I></TD><TD>Oder Verkn&uuml;pfung</TD></TR>
<TR><TD><B>:xor </B><I>i</I></TD><TD>Exklusiv-oder Verkn&uuml;pfung</TD></TR>
<TR><TD><B>:not </B></TD><TD>Negiert Bytewert</TD></TR>
<TR><TD><B>:neg </B></TD><TD>Zweier-Komplement</TD></TR>
</TABLE></CENTER>
Wird kein Bereich angegeben, so bezieht sich die Operation auf die gesamte
Datei. Es k&ouml;nnen zwei Adressen in den &uuml;blichen Schreibweisen
angegeben werden. Normalerweise wird dezimale Eingabe erwartet, bei
f&uuml;hrender 0 werden die Adressen Hexadezimal interpretiert.
<BR>Der Wert <B>i</B> f&uuml;r die logische Verkn&uuml;pfung kann
dezimal, hexadezimal, oder mit f&uuml;hrendem <I>B</I> in bin&auml;rer
Schreibweise angegeben werden. Auch bei Eingabe von genau acht 0 und 1
Werten wird der Byte - Wert bin&auml;r interpretiert.<BR>
Beispiel:<BR>
<BLOCKQUOTE CLASS="examp">
<B><TT>:100,500and 01A </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:03FA,01000or 00001000 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:.rr 3 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:'a,$sl 1 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
</BLOCKQUOTE>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

BIN
html/gif/bg2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
html/gif/bvi_m.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
html/gif/bvi_s.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
html/gif/dcbacks.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 B

BIN
html/gif/dot.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 B

BIN
html/gif/up.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 B

122
html/index.html Normal file
View file

@ -0,0 +1,122 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI Home Page</title>
<script language="JavaScript">
<!--
if(top.frames.length!=0){top.location=location;}// -->
</script>
<link rel=stylesheet type="text/css" href="bvi.css">
<meta name="description" content="Bvi stands for Binary VIsual editor.
Bvi is a display oriented editor for binary files.
Its command set is based on those of the vi texteditor.">
<meta name="keywords" content="bvi, editor, binary, bmore, decimal, dos, hex,
hexadecimal, linux, msdos, octal, patch, more, unix, visual, vi">
<meta name="robots" content="INDEX,FOLLOW">
<meta name="author" content="Gerhard Buergmann">
<meta name="publisher" content="Gerhard Buergmann">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th width="1%" valign="top"><img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p><a class="thl" href="quick.html">
Quick Tutorial
</a></p>
<p><a class="thl" href="download.html">
Download
</a></p>
<p><a class="thl" href="install.html">
Installation
</a></p>
<p><a class="thl" href="overview.html">
Command Overview
</a></p>
<p><a class="thl" href="bmore.html">
bmore
</a></p>
<p><a class="thl" href="german.html">
Deutsche<br>Beschreibung
</a></p>
<p><a class="thl" href="sitemap.html">
Sitemap
</a></p>
<hr noshade width="60%">
<p><a class="thl" href="http://www.math.fu-berlin.de/~guckes/vi/">
VI and Clones
</a></p>
<p><a class="thl" href="http://spin.ch/~tpo/linux/hexeds.html">
Hex-Editors
</a></p>
<hr noshade width="60%">
<p>
</TH>
<td width=1%><img src="gif/dot.gif" width="40" height="1"></td>
<td width=99%>
<center>
<h1>Welcome to the<br>
<img src="gif/bvi_m.gif" ALT="bvi" width="232" height="125"><br>
Homepage</h1>
<b>Here you can find all the informations about <strong>bvi</strong> you need.</B>
</center>
<hr noshade>
The <strong>bvi</strong> is a display-oriented editor for binary files, based on the <strong>vi</strong> texteditor.
If you are familiar with <strong>vi</strong>, just start the editor and begin
to edit! A <strong>bmore</strong> programm is also included in the package.
<br>
If you never heard about <strong>vi</strong>, maybe <strong>bvi</strong> is not the best
choice for you.
<p>
<h3>Original site: <a href="http://bvi.linuxave.net/">http://bvi.linuxave.net</a></h3>
</p>
You can download source and compiled versions from the
<a href="download.html">download page</a>.<br>
Check out whats <a href="new130.html">new in 1.3.0</a>!
</p>
<p>
<b>Newsgroup:</b> <a href="news:comp.editors">comp.editors</a>
</p>
<b>Mailing List:</b>
<blockquote>
To join this list, simply send a blank email to
<a href="mailto:bvi-subscribe@egroups.com">bvi-subscribe@eGroups.com</a>.
You will receive a subscription confirmation message.
Simply reply this message and your subscription will be complete.
</blockquote>
<strong>Bvi</strong> was developed by Gerhard B&uuml;rgmann and is published
under the GNU Public License. Current stable version is 1.3.0.
<strong>Bvi</strong> is running on most UNIX - like operating systems and
on MSDOS.
<p>
If you want to contact me:<br>
Gerhard B&uuml;rgmann, Vienna / Austria / Europe<br>
Email: <a href="mailto:gerhard.buergmann@altavista.net">
Gerhard.Buergmann@altavista.net</a>
<p>
<font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: October 23<sup>rd</sup> 2000 by Gerhard B&uuml;rgmann</i>
</p>
</td></tr></table>
</body></html>

130
html/install.html Normal file
View file

@ -0,0 +1,130 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Installation</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<font color="#ffffff" class="thl">Installation<br></font>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Installation</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
The following steps are necessary to get bvi running:
<H2>UNIX</H2>
The Unix version of bvi needs the curses (ncurses) library
for cursor movement.
<OL>
<LI>Download the source package from the Download Page
<LI>Unzip the package with the command:
<PRE CLASS="examp">
# gunzip -c bvi-1.3.0.src.tar.gz | tar xvf
</PRE>
<LI>Change to the directory <TT CLASS="examp">bvi-1.3.0</TT> and type
<PRE CLASS="examp">
# ./configure
# make
</PRE>
<li>Type `<tt class="examp">make install</tt>' for copying the executable files
and manual pages to the final directories.
<br>
By default, `<tt class="examp">make install</tt>' will install the package's files in
<tt class="examp">`/usr/local/bin', `/usr/local/man'</tt>, etc.
You can specify an
installation prefix other than `<tt class="examp">/usr/local</tt>' by giving
`<tt class="examp">configure</tt>' the option
`<tt class="examp">--prefix=PATH</tt>'. Use the
`<tt class="examp">--with-ncurses</tt>' option to configure to specify an
alternate search path for Ncurses outside the normal
<tt class="examp">include/lib</tt> search path.
<p>
You will find now four new commands:
<pre class="examp">
bvi The binary editor
bview The readonly version of bvi
bedit The beginners version of bvi
bmore The binary more program
</pre>
<li>Use `<tt class="examp">make uninstall</tt>' to remove the installed
files from your file system.<br>
You can remove the program binaries and object files from the
source code directory by typing `<tt class="examp">make clean</tt>'.
To also remove the files that `<TT CLASS="examp">configure</tt>' created
(so you can compile the package for
a different kind of computer), type `<tt class="examp">make distclean</tt>'.
</ol>
<H2>MSDOS</H2>
You have to convert the sourcefiles from the UNIX textformat to
the MSDOS textformat first. This can be done e.g. by loading and
saving them with the MSDOS standard editor `edit'.
<P>
The MSDOS version is using the conio routines of the
Borland - C compilers for cursor movement. The <TT>doscur.h</TT>
header file substitutes the curses commands.<BR>
<strong>Bvi</strong> is using the "HUGE" memory model, <strong>bmore</strong>
needs the "TINY" model to
be able to convert it to a .COM file.
<OL>
<LI>Download the source package from the Download Page
<LI>Unzip the package with the command:
<PRE CLASS="examp">
gunzip -c bvi-1.3.0.src.tar.gz | tar xvf
</PRE>
<LI> Load the tcconfig file (located in the <TT>bc</TT> subdirectory
for Borland - C).
<LI> Press F9-Make
</OL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Oct 19 21:31:04 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

171
html/man_bmore.html Normal file
View file

@ -0,0 +1,171 @@
<xmp>
BMORE(1) BMORE(1)
NAME
bmore - browse through a binary file
SYNOPSIS
bmore [ -adi ] [ +linenumber ] [ +/ASCII-pattern ] [
+\Hex-pattern ] [ filename ... ]
DESCRIPTION
more is a filter that displays the contents of a binary
file on the terminal, one screenful at a time. It nor-
mally pauses after each screenful, and prints --More-- at
the bottom of the screen. bmore provides a two-line over-
lap between screens for continuity. If bmore is reading
from a file rather than a pipe, the percentage of charac-
ters displayed so far is also shown.
bmore scrolls up to display one more screen line in
response to a RETURN character; it displays another
screenful in response to a SPACE character. Other com-
mands are listed below.
The screen is divided in three sections or panes: The byte
offset (extreme left), the hex pane (middle), and an ascii
pane (right) which shows as printable characters those
bytes in the hex pane. On an 80 column terminal there
will be sixteen hex values and their ASCII values on each
screen line. Note that (as one would expect) the first
byte has the offset 0 (zero).
bmore sets the terminal to noecho mode, so that the output
can be continuous. Commands that you type do not normally
show up on your terminal, except for the / , \ and ! com-
mands.
If the standard output is not a terminal, more acts just
like cat(1V), except that a header is printed before each
file in a series.
OPTIONS
-a ASCII mode: no hex representation of the contents.
Non printable characters are displayed as a dot (.)
-d Display error messages rather than ringing the ter-
minal bell if an unrecognized command is used.
This is helpful for inexperienced users.
-i Ignore case for searching.
+linenumber
Start up at linenumber.
+/ASCII-pattern
Start up at the line containing the regular
expression pattern. Note: unlike editors, this
construct should not end with a `/'. If it does,
then the trailing slash is taken as a character in
the search pattern.
USAGE
Commands
The commands take effect immediately; it is not necessary
to type a carriage return. Up to the time when the com-
mand character itself is given, the user may type the line
kill character to cancel the numerical argument being
formed. In addition, the user may type the erase charac-
ter to redisplay the `--More--(xx%)' message.
In the following commands, i is a numerical argument (1 by
default).
iSPACE Display another screenful, or i more lines if i
is specified.
iRETURN Display another line, or i more lines, if speci-
fied.
i^D (CTRL-D) Display (scroll down) 11 more lines. i
is given, the scroll size is set to i.
id Same as ^D.
iz Same as SPACE, except that i, if present,
becomes the new default number of lines per
screenful.
is Skip i lines and then print a screenful.
if Skip i screenfuls and then print a screenful.
i^B (CTRL-B) Skip back i screenfuls and then print a
screenful.
b Same as ^B (CTRL-D).
q
Q Exit from more.
= Display the current line number.
v Drop into the bvi(1) editor at the current off-
set of the current file.
w Drop into the bvi(1) editor at the current off-
set of the current file. Only the portion of the
file displayed on the screen will be loaded.
h Help. Give a description of all the more com-
mands.
i/pattern Search for the ith occurrence of the regular
expression pattern. Display the screenful
starting at the file position that contains the
ith match for the regular expression ASCII-pat-
tern, or the end of a pipe, whichever comes
first. If bmore is displaying a file and there
is no such match, its position in the file
remains unchanged. Regular expressions can be
edited using erase and kill characters. Erasing
back past the first column cancels the search
command.
' Single quote. Go to the point from which the
last search started. If no search has been per-
formed in the current file, go to the beginning
of the file.
!command Invoke a shell to execute command. The charac-
ters % and !, when used within command are
replaced with the current filename and the pre-
vious shell command, respectively. If there is
no current filename, % is not expanded. Prepend
a backslash to these characters to escape expan-
sion.
i:n Skip to the ith next filename given in the com-
mand line, or to the last filename in the list
if i is out of range.
i:p Skip to the ith previous filename given in the
command line, or to the first filename if i is
out of range. If given while more is positioned
within a file, go to the beginning of the file.
If more is reading from a pipe, more simply
rings the terminal bell.
:f Display the current filename and offset number.
:q
:Q Exit from bmore (same as q or Q ).
. Dot. Repeat the previous command.
AUTHOR
bmore was developed by Gerhard Buergmann, Vienna, Austria
Gerhard.Buergmann@altavista.net
FILES
/etc/termcap terminal data base
/usr/local/share/bmore.help help file
SEE ALSO
bvi(1), termcap(5)
13/Oct/2000 BMORE Version 1.3.0
</xmp>

424
html/man_bvi.html Normal file
View file

@ -0,0 +1,424 @@
<xmp>
BVI(1) User Commands BVI(1)
NAME
bvi, bview - visual display editor for binary files
VERSION
bvi-1.3.0
SYNOPSIS
bvi [-R] [-c cmd] [-b begin] [-e end] [-s size] [-f script] file...
bview [-R] [-c cmd] [-b begin] [-e end] [-s size] [-f script] file...
OPTIONS
file...
A list of filenames. The first one will be the
current file and will be read into the buffer. The
cursor will be positioned on the first line of the
buffer. You can get to the other files with the
":next" command.
-R "Readonly": The readonly flag is set for all the
files, preventing accidental overwriting with a write
command.
-b begin
causes bvi to load a file not from the start but from
offset {begin}.
-e end
causes bvi to load a file not till end but till address
{end}.
-s size
causes bvi not to load the complete file but only
{size} bytes.
-c cmd
{cmd} will be executed after the first file has
been read. If the {cmd} contains spaces it must
be enclosed in double quotes (this depends on the
shell that is used).
-f script
This command provides a means for collecting a series
of "ex" (colon) commands into a script file, then
using this file to edit other files. Since there is no
binary stream editor "bsed", you can use this option
to make several global changes in a binary file.
DESCRIPTION
Bvi stands for "Binary VIsual editor". Bvi is a screen
oriented editor for binary files; its command set is based
on that of the vi(1) text editor. As a binary editor does
not have the concept of "lines" there are differences from
Vi commands wherever the latter are line orientate.
COMPARISON
The main differences between Vi and Bvi are:
The screen is divided in three sections or panes: The byte
offset (extreme left), the hex pane (middle), and an ascii
pane (right) which shows as printable characters those
bytes in the hex pane. On an 80 column terminal there
will be sixteen hex values and their ASCII values on each
screen line. Note that (as one would expect) the first
byte has the offset '0' (zero).
You can toggle between the hex and ascii windows with the
tabulator key (TAB). Toggling between these two windows
does not change the current position within the file.
No "lines" concept: Files are treated as one long stream
of bytes. The characters "newline" and "carriage return"
are not special, id est they never mark the end of lines.
Therefore the lines on the screen do not represent lines
in the usual way. Data is broken across screen lines
arbitarily. As a consequence there are no commands in bvi
from ex or vi that are based on line numbers, eg "dd",
"yy", 'C', 'S', 'o', 'O'. This also changes the meaning
of "range" before the ":write" command to a byte offset,
ie the command ":100,200w foo" writes all *bytes* (not
lines) from offset 100 to offset 200 to the file "foo".
No "text objects": There are also no text-specific
arrangements like words, paragraphs, sentences, sections
and so on.
Extended "ruler": The bottom line of the screen shows the
current address (byte offset) and the current character in
these notations:
octal, hexadecimal, decimal and ascii.
Search patterns: All search commands understand these
special characters:
. any character
[] set of characters
* zero or more occurrences of previous char or set
But as there is no concept of lines you cannot use the
standard symbols ("anchors") for "begin-of-line" ('^') and
"end-of-line" ('$'). Searching for the start/end of lines
must be done explicitly by adding these special characters
to your search pattern using these meta sequences:
\n newline
\r return
\t tab
\0 binary zero
Additional search commands: Similar to the text search
commands there are additional hex-search functions '\' and
'#' which allow to search for any byte value. Example:
"\62 76 69" will search for the string "bvi". Spaces
between hex value are optional, so searching for
"6775636B6573" will find "guckes".
Changing data (insertion, deletion) moves the data to
other addresses; this is bad for many cases (eg.
databases, program files) and is thus disabled by default.
You can enable this commands by typing
:set memmove
BVI Modes:
Command Mode (Normal Mode):
Input is treated as command. Note that command mode is
the default mode after startup and after escaping from
input mode. Use ESC (escape) to cancel a partial
(uncompleted) command.
Input Mode:
Input is treated as replacement of current characters or
(after the end of the file) is appended to the current
file. This mode is entered from command mode by typing
one of 'i', 'I', 'A', 'r', or 'R'. You can enter the
characters from the keyboard (in the ASCII window) or
hexadecimal values (in the HEX window). Type TAB to
switch between these two windows. Type ESC to finish the
current input and return to command mode. Type CTRL-C to
cancel current command abnormally.
Command line mode (Last Line Mode or : mode):
Similar to vi, this mode is entered by typing one of the
characters : / ? \ # ! The command is terminated and
executed by typing a carriage return; to cancel a
partially typed command, type ESC to cancel the current
command and return to command mode.
ENVIRONMENT
The editor recognizes the environment variable BVIINIT as
a command (or list of commands) to run when it starts
up. If this variable is undefined, the editor checks for
startup commands in the file ~/.bvirc file, which you
must own. However, if there is a .bvirc owned by you in
the current directory, the editor takes its startup
commands from this file - overriding both the file in your
home directory and the environment variable.
TERMINOLOGY
Characters names are abbreviated as follows:
Abbr. ASCII name aka
CR 010 carriage return
^A 001 control-a
^H 008 control-h
^I 009 control-i aka TAB
^U 021 control-u
^Z 026 control-z
ESC 027 escape aka ESC
DEL 127 delete
LEFT --- left arrow
RIGHT --- right arrow
DOWN --- down arrow
UP --- up arrow
COMMAND SUMMARY
See the TERMINOLOGY for a summary on key name
abbreviations used within the following description of
commands.
Abstract:
Arrow keys move the cursor on the screen within the
current window.
Sample commands:
:version show version info
<- v ^ -> arrow keys move the cursor
h j k l same as arrow keys
u undo previous change
ZZ exit bvi, saving changes
:q! quit, discarding changes
/text search for text
^U ^D scroll up or down
Counts before bvi commands:
Numbers may be typed as a prefix to some commands.
They are interpreted in one of these ways.
screen column |
byte of file G
scroll amount ^D ^U
repeat effect most of the rest
Interrupting, canceling
ESC end insert or incomplete command
DEL (delete or rubout) interrupts
File manipulation:
ZZ if file modified, write and exit;
otherwise, exit
:w write changed buffer to file
:w! write changed buffer to file, overriding
read-only ("forced" write)
:q quit when no changes have been made
:q! quit and discard all changes
:e file edit file
:e! reedit current file, discard all changes
:e # edit the alternate file
:e! # edit the alternate file, discard changes
:w file write current buffer to file
:w! file write current buffer to file overriding
read-only (this "overwrites" the file)
:sh run the command as set with option "shell",
then return
:!cmd run the command cmd from "shell", then
return
:n edit next file in the argument list
:f show current filename, modified flag,
current byte offset, and percentage of
current position within buffer
^G same as :f
Additional edit commands
You can insert/append/change bytes in
ASCII/binary/decimal/ hexadecimal or octal representation.
You can enter several (screen) lines of input. A line with
only a period (.) in it will terminate the command. You
must not type in values greater than a byte value. This
causes an abandom of the command. Pressing the CR key
does not insert a newline - character into the file. If
you use ASCII mode you can use the special characters \n,
\r, \t and \0.
:i aCR insert bytes (ASCII) at cursor position
:a bCR append bytes (Binary) at end of file
:c hCR change bytes (hexadecimal) at cursor position
Bit-level operations
:and n bitwise 'and' operation with value n
:or n bitwise 'or' operation with value n
:xor n bitwise 'xor' operation with value n
:neg two's complement
:not logical negation
:sl i shift each byte i bits to the left
:sr i shift each byte i bits to the right
:rl i rotate each byte i bits to the left
:rr i rotate each byte i bits to the right
Command mode addresses
:w foo write current buffer to a file
named "foo"
:5,10w foo copy byte 5 through 100 into as
file named foo
:.,.+20w foo copy the current byte and the next
20 bytes to foo
:^,'aw foo write all bytes from the beginning
through marker 'a'
:/pat/,$ foo search pattern pat and and copy
through end of file
Positioning within file:
^B backward screen
^F forward screen
^D scroll down half screen
^U scroll up half screen
nG go to the specified character
(end default), where n is a decimal address
/pat next line matching pat
?pat previous line matching pat
\hex jump to next occurrence of hex string hex
#hex jump to previous occurrence of hex string hex
n repeat last search command
N repeat last search command, but in opposite
direction
Adjusting the screen:
^L clear and redraw screen
zCR redraw screen with current line at top of screen
z- redraw screen with current line at bottom of
screen
z. redraw screen with current line at center of
screen
/pat/z- search for pattern pat and then move currents
line to bottom
^E scroll screen down 1 line
^Y scroll screen up 1 line
Marking and returning:
mx mark current position with lower-case letter x
Note: this command works for all lower-case
letters
'x move cursor to mark x in ASCII section
`x move cursor to mark x in HEX section
'' move cursor to previous context in ASCII section
`` move cursor to previous context in HEX section
Line positioning:
H jump to first line on screen ("top")
L jump to last line on screen ("low")
M jump to middle line on screen ("middle")
- jump onto previous line on screen
+ jump onto next line on screen
CR same as +
DOWN or j next line, same column
UP or k previous line, same column
Character positioning:
^ first byte in HEX window
$ end of screen line
l or RIGHT jump onto next byte (within current
screen line)
h or LEFT jump onto previous byte (within current
screen line)
^H same as LEFT
space same as RIGHT
fx find next occurrence of character x
Fx find previous occurrence of character x
n| jump onto nth byte/character within current
line
Strings:
(works similar to the strings(1) command)
Note: "Words" are defined as strings of "nonprinting
characters".
e jump to next end of word
w jump to next begin of word
b jump to previous begin of word
W forward to next string delimited with a
\0 or \n
B back to previous string delimited with a
nonprinting char
Corrections during insert:
^H erase last character (backspace)
erase your erase character, same as ^H (backspace)
ESC ends insertion, back to command mode
Append and replace:
A append at end of file
rx replace current bte with char 'x'
R enter replace mode; for all subsequent input,
the current byte is overwritten with the next
input character; leave replace mode with ESC.
Miscellaneous Operations:
TAB toggle between ASCII and HEX section
Yank and Put:
3ySPACE yank 3 characters
p insert contents of yank buffer
o replace text with content of yank buffer
P put back at end of file
Undo, Redo:
u undo last change
Note: Only the last change can be undone.
Therefore this commands toggles between the
last and second-t-last state of the buffer.
Setting Options:
With the :set command you can set options in bvi
Option Default Description
autowrite noaw Save current file, if modified, if you
give a :n, :r or ! command
columns cm=16 on an 80 character wide terminal
ignorecase noic Ignores letter case in searching
magic nomagic Makes . [ * special in patterns
memmove nomm enables insert and delete commands
offset of=0 adds an offset to the diplayed addresses
readonly noro If set, write fails unless you use ! after command
scroll sc=1/2 window
Number of lines scrolled by ^U and ^D
showmode mo Displays statusline on bottom of the screen
terse noterse Let you obtain shorter error messages
window window=screensize
Lines in window, can be reduced at slow terminals
wordlength wl=4 Length of an ASCII-string found by w, W, b or B
wrapscan ws Searches wrap around past the end of the file
unixstyle nous The representation of ascii characters below
32 is displayed in the statusline as shown
in ascii(7) if unset rather in DOS-style (^A)
AUTHOR
bvi was developed by Gerhard Buergmann, Vienna, Austria
Gerhard.Buergmann@altavista.net
WWW
Bvi Homepage: http://bvi.linuxave.net/
Vi Pages: http://www.math.fu-berlin.de/~guckes/vi/
(all about Vi and its clones)
FILES
$HOME/.bvirc editor startup file
./.bvirc editor startup file
BUGS
Bvi does not update the screen when the terminal changes
its size.
SEE ALSO
vi(1), strings(1), ascii(5)
13/Oct/2000 BVI Version 1.3.0 8
</xmp>

154
html/new120.html Normal file
View file

@ -0,0 +1,154 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: CHANGES in bvi 1.2.0</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
<a class="ths" href="new130.html">New in 1.3.0</a><br>
<font color="#ffffff" class="ths">New in 1.2.0<br></font>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">CHANGES in bvi 1.2.0</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
<UL>
<LI>Configuration with GNU autoconfig
<LI>New <B>:set</B> options:
<UL>
<LI><B>:set columns=n</B><BR>
You can set the number of columns on the screen to an
arbitrary value. This might be useful if you edit a file
with a fixed record length.<BR>
Default: max number of columns, divisible by four.<BR>
Abbreviation: <B>:set cm=n</B>
<LI><B>:set memmove</B>
enables the new commands to insert or delete bytes.<BR>
Per default this commands are disabled, because e.g. in
executable files you must not move bytes.<BR>
Default: <B>:set nomemmove</B><BR>
Abbreviation: <B>:set mm</B> - <B>:set nomm</B>
<LI>The listing for <B>:set all</B> is now in
alphabetical order.
</UL>
<LI>New insert and delete commands:
<UL>
<LI><B>a</B> inserts after cursor position
<LI><B>i</B> inserts on cursor position
<LI><B>x</B> deletes byte under cursor
<LI><B>X</B> deletes byte before cursor
<LI><B>d</B> delete command with modifiers:
<UL>
<LI><B>d<FONT COLOR=#888888>SPACE</FONT></B> deletes byte under cursor
<LI><B>df<FONT COLOR=#FF0000>C</FONT></B> deletes from current position to
next character <FONT COLOR=#FF0000>C</FONT>
<LI><B>d/<FONT COLOR=#FF0000>xyz</FONT></B> deletes from current position
to first matching pattern <FONT COLOR=#FF0000>xyz</FONT>
<LI><B>d$</B> deletes from current position to EOF
<LI><B>d'<FONT COLOR=#FF0000>a</FONT></B> deletes from current positions
to mark <FONT COLOR=#FF0000>a</FONT>
<LI><B>d<FONT COLOR=#FF0000>n</FONT>G</B> deletes from current position to
byte with (decimal) address <FONT COLOR=#FF0000>n</FONT>
</UL>
</UL>
<LI>New syntax for <B>p</B> (put) command:<BR>
In previous versions of <I>bvi</I> the <B>p</B> command did an overwriting
"put". Now the bytes are inserted.
<LI>New command <B>o</B> (overwrite):<BR>
This is an overwriting "put" command. It is the only command in <I>bvi</I>
that uses a command key in a complete different way than in <I>vi</I>
(<B>o</B> opens a new line in <I>vi</I>).
<LI>New syntax for <B>y</B> (yank) command:
<UL>
<LI><B>y<FONT COLOR=#888888>SPACE</FONT></B> yanks byte under cursor
<LI><B>yf<FONT COLOR=#FF0000>C</FONT></B> yanks from current position to next
character <FONT COLOR=#FF0000>C</FONT>
<LI><B>y/<FONT COLOR=#FF0000>xyz</FONT></B> yanks from current position to
first matching pattern <FONT COLOR=#FF0000>xyz</FONT>
<LI><B>y$</B> yanks from current position to EOF
<LI><B>y'<FONT COLOR=#FF0000>a</FONT></B> yanks from current position to
mark <FONT COLOR=#FF0000>a</FONT>
<LI><B>y<FONT COLOR=#FF0000>n</FONT>G</B> yanks from current position to
byte with (decimal) address <FONT COLOR=#FF0000>n</FONT>
</UL>
<LI>New ex (colon) commands:
<UL>
<LI><B>:a(ppend) a(scii)|b(binary)|d(ecimal)|h(exadecimal)|o(ctal)</B>
<LI><B>:c(hange) a(scii)|b(binary)|d(ecimal)|h(exadecimal)|o(ctal)</B>
<LI><B>:i(nsert) a(scii)|b(binary)|d(ecimal)|h(exadecimal)|o(ctal)</B><BR>
The three commands above are used to append or change or insert bytes
in the selected representation until you type a line containing only
a dot, e.g. insert bytes in binary mode:
<PRE>
:i b
0 010 110 1110010 10 100
1 1001 1001 0 0
.
</PRE>
Pressing the <FONT COLOR=#888888>RETURN</FONT> key does <I>not</I> insert
a newline - character into the file. If you use <B>:i a</B> (insert
ascii) you can use the special characters \n, \r, \t and \0.
<LI><B>:d(elete)</B>
<LI><B>:g(lobal)</B> does a global search with printing found items
<LI><B>:ma(rk)</B>
<LI><B>:pu(t)</B> puts yanked bytes into the file
<LI><B>:o(verwrite)</B> is an overwriting ":put"
<LI><B>:y(ank)</B>
</UL>
<LI><B>:f newname</B> - bug fixed
<LI>new command line option <B><TT>-f script</TT></B>
<LI><B>CTRL - C</B> aborts some commands, e.g. search commands
<LI>CR moves cursor to 1st column of next screen line
<LI>Local settings according to the environment variable LANG
will be evaluated (see setlocal(3)).
</UL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

101
html/new130.html Normal file
View file

@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: CHANGES in bvi 1.3.0</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
<font color="#ffffff" class="ths">New in 1.3.0<br></font>
<a class="ths" href="new120.html">New in 1.2.0</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">CHANGES in bvi 1.3.0</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
<UL>
<LI>In the <FONT FACE="COURIER">configure</FONT> script you can use <FONT FACE="COURIER">--with-ncurses</FONT>
option to configure to specify an alternate
search path for Ncurses outside the normal include/lib search path.
<P>
<li>A <FONT FACE="COURIER">make uninstall</font> option has been added
<p>
<LI>A <STRONG>bmore</STRONG> program has been added. It acts like the BSD - text - more,
but for binary files.<P>
Additional command line options:
<BLOCKQUOTE>
<TT><B>-a</B></TT> &nbsp; ASCII mode
</BLOCKQUOTE>
Additional (changed) Commands:
<BLOCKQUOTE>
<TT><B>v</B></TT> &nbsp; does not invoke vi but bvi<BR>
<TT><B>w</B></TT> &nbsp; invokes bvi with only that portion of the file
which is displayed on the screen.
</BLOCKQUOTE>
<LI>New in <STRONG>bvi</STRONG>:
<UL>
<LI>You can edit now Block Special Files too.
<LI>You can read - edit - write files partly.
<LI>New Command line options:
<BLOCKQUOTE>
<TT><B>+cmd</B></TT><BR>
<TT><B>-b</B> begin \</TT><BR>
<TT><B>-e</B> end&nbsp;&nbsp;&nbsp;&nbsp;&gt; </TT>for partial file read<BR>
<TT><B>-s</B> size&nbsp; /</TT><P>
</BLOCKQUOTE>
<I>begin, end</I> or <I>size</I> can be an integer value (decimal or
hexadecimal) or an integer value with an appended <B>k</B> (for
multiply by 1024) or <B>m</B> (for multiply by 1.048.576).
<LI>:e# bug fixed
<li>Debian bug #68436 (Buffer overflow in io.c) fixed
</UL>
</UL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Oct 12 20:51:06 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

96
html/overview.html Normal file
View file

@ -0,0 +1,96 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Command Overview</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<font color="#ffffff" class="thl">Command Overview<br></font>
<a class="ths" href="cursor.html">Cursor Movement</a><br>
<a class="ths" href="edit.html">Edit Cmds</a><br>
<a class="ths" href="yank.html">Yank and Put Cmds</a><br>
<a class="ths" href="set.html">Set Options</a><br>
<a class="ths" href="colon.html">Colon (ex) Cmds</a><br>
<a class="ths" href="man_bvi.html">man - Page</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Command Overview</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
This overview compares bvi commands with the corresponding commands of
the standard ascii vi.
<P>
<CENTER>
<TABLE WIDTH=70%>
<TR BGCOLOR=#CCCCFF><TD>Commands shown in blue frames are commands which
are available in both bvi and vi, but with a slightly different
behavior.</TD></TR>
<TR BGCOLOR=#CCFFCC><TD>Green frames are used for commands which are
equal in both bvi and vi.</TD></TR>
<TR BGCOLOR=#FFCCCC><TD>Red frames are used for missing commands</TD></TR>
</TABLE>
</CENTER>
<P>
Special keys are displayed in a gray font, e.g.
<FONT COLOR=#AAAAAA><B>RETURN</B></FONT>,
<FONT COLOR=#AAAAAA><B>ARROW_UP</B></FONT> or
<FONT COLOR=#AAAAAA><B>CTRL</B></FONT>.
<H3>Topics:</H3>
<P>
<UL>
<LI><A HREF="cursor.html">Cursor Movements</A>
<LI><A HREF="edit.html">Edit Commands</A>
<LI><A HREF="yank.html">Yank and Put Commands</A>
<LI><A HREF="set.html">Set Options</A>
<LI><A HREF="colon.html">Colon (ex) Commands</A>
</UL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

101
html/qt_bit.html Normal file
View file

@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Bit-wise Operations</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<font color="#ffffff" class="ths">Bit-wise Operations<br></font>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Bit-wise Operations</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
To perform logical operations, bvi has a set of bit-level commands.
The following commands are available:
<CENTER><TABLE>
<TR><TD><B>:rl </B><I>n</I></TD><TD>rotate left</TD><TD ROWSPAN=4>
<I>n</I> is a number from 1 through 7</TD></TR>
<TR><TD><B>:rr </B><I>n</I></TD><TD>rotate right</TD></TR>
<TR><TD><B>:sr </B><I>n</I></TD><TD>shift right</TD></TR>
<TR><TD><B>:sl </B><I>n</I></TD><TD>shift left</TD></TR>
<TR><TD><B>:and </B><I>i</I></TD><TD>and operation</TD><TD ROWSPAN=4>
<I>i</I> is a number from 0 through 255</TD></TR>
<TR><TD><B>:or </B><I>i</I></TD><TD>or operation</TD></TR>
<TR><TD><B>:xor </B><I>i</I></TD><TD>or operation</TD></TR>
<TR><TD><B>:not </B></TD><TD>negates operation</TD></TR>
<TR><TD><B>:neg </B></TD><TD>negates operation</TD></TR>
</TABLE></CENTER>
<P>
The <I>i</I> value can be entered as a decimal number (0 - 255),
a hexadecimal number with a leading zero (0 - 0ff) or a binary number,
either with a leading B (B101) or exactly eight digits long (00000101).
<P>
On default the whole file is affected, but you can use the usual
colon command address forms. In contrast to vi the addresses designate
not line numbers but byte numbers. These addresses can be enterd in
decimal or hexadecimal notation.<BR>
Examples:
<BLOCKQUOTE CLASS="examp">
<B><TT>:100,500and 01A </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:03FA,01000or 00001000 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:.rr 3 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
<B><TT>:'a,$sl 1 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
</BLOCKQUOTE>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

130
html/qt_edit.html Normal file
View file

@ -0,0 +1,130 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Editing Files</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<font color="#ffffff" class="ths">Editing Files<br></font>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick tutorial</font>
<br><font class="sub">Editing Files</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
Inserting or deleting bytes can be dangerous on some kind of files,
because binary files are mostly executables, database files or maybe
graphic files. So you must not shift the remaining bytes to another
address.
Therefor commands for inserting or deleting bytes are disabled by
default.
You can use the <B>r</B> command to change a single byte, or
the <B>R</B> command to replace multiple characters. You can use a
numeric prefix for both commands.
<P>
You can add characters at the end of the file using the <B>A</B> command.
If you start with an empty file, you can create a binary file from
scratch. If the cursor is in the ASCII section of the screen and you
type <B><TT>100Ax</TT><FONT COLOR=#AAAAAA>ESC</FONT></B>, you create a file
which contents 100 x'es.
<P>
The <B>D</B> command can be used to truncate a file at a certain position.
Since there are no lines in a binary file, the <B>D</B> command deletes
to end of file.
<P>
If you have to edit a binary file where it does not matter to move bytes
to a different address, you can enable the insert and delete commands by
typing <B>:set memmove</B>.
Now you are able to use the <B>i</B> command for inserting bytes, the
<B>x</B> or <B>X</B> command to delete the byte over or before the cursor
and those types of <B>d</B> commands, which does not rely on text lines
(e.g. <B>d<FONT COLOR=#AAAAAA>SPACE</FONT></B>, <B>df<TT>C</TT>, d/<TT>xyz</TT>,
d$, d'a, d<TT>n</TT>G</B>).
<P>
All edits can be undone by pressing the <B>u</B> key.
<H4>Using ex (colon) commands</H4>
The edit commands of the <B>ex</B> editor are usually not available in
standard <B>vi</B> implementations (<TT>:i[nsert], :a[ppend]</TT>
and <TT>:c[hange]</TT>). In <B><FONT COLOR=#FF0000>bvi</B></FONT>
they <I>are</I> available with extended options. There are five
modifiers <TT>a[scii], b[inary], d[ecimal], h[exadecimal]</TT> and
<TT>o[ctal]</TT> (ascii is default). Therefor you can insert, append
or change data in all five representations.
<P>
<B>Example:</B><BR>
you would like to append a file with data available in decimal
representation:
<BLOCKQUOTE><PRE CLASS=examp>
:a d
0 12 3 128 255 17 0 0 255 255
23 24 25 128 6 6 6
.
</PRE></BLOCKQUOTE>
A line with only a period (.) in it will terminate the command.
<BR>
You must not type values greater than a byte value (255 decimal, FF hex).
This causes an abandon of the command.<BR>
Pressing the <FONT COLOR=#888888>RETURN</FONT> key does <I>not</I> insert
a newline - character into the file. If you use <B>:i a</B> (insert
ascii) you can use the special characters \n, \r, \t and \0.
<P>
An additional advantage is, that all typed bytes are inserted into the
file at once. If you insert characters in vi - mode, for every byte typed,
the whole remaining file has to be moved one position backwards.
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

113
html/qt_edit.tmp.html Normal file
View file

@ -0,0 +1,113 @@
<HTML><HEAD>
<TITLE>BVI Editing Files</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR=#ffffff BACKGROUND="gif/bg2.gif">
<A NAME="top"></A>
<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><TD WIDTH=1% VALIGN=TOP ALIGN=CENTER><IMG SRC="gif/dot.gif" WIDTH=130 HEIGHT=1>
<HR NOSHADE WIDTH=60%>
<P>
<A CLASS="thl" HREF="index.html">Home</A>
</P>
<P>
<A CLASS="thl" HREF="quick.html">Quick Tutorial</A>
<FONT COLOR=#FFFFFF CLASS="ths">Editing Files<BR></FONT>
<A CLASS="ths" HREF="qt_search.html">Search Commands</A>
<A CLASS="ths" HREF="qt_bit.html">Bit-wise Operations</A>
<A CLASS="ths" HREF="qt_find.html">Find and Replace</A>
<A CLASS="ths" HREF="qt_yank.html">Yank and Put</A>
<A CLASS="ths" HREF="qt_set.html">Settings</A>
</P>
<P>
<A CLASS="thl" HREF="download.html">Download</A>
</P>
<HR NOSHADE WIDTH=60%>
</TD>
<TD WIDTH=1%><IMG SRC="gif/dot.gif" WIDTH=40 HEIGHT=1></TD>
<TD WIDTH=99%>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<FONT CLASS=head>Quick Tutorial</FONT><BR>
<FONT CLASS=sub>Editing Files</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62">
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
Inserting or deleting bytes can be dangerous on some kind of files,
because binary files are mostly executables, database files or maybe
graphic files. So you must not shift the remaining bytes to another
address.
Therefor commands for inserting or deleting bytes are disabled by
default.
You can use the <B>r</B> command to change a single byte, or
the <B>R</B> command to replace multiple characters. You can use a
numeric prefix for both commands.
<P>
You can add characters at the end of the file using the <B>A</B> command.
If you start with an empty file, you can create a binary file from
scratch. If the cursor is in the ASCII section of the screen and you
type <B><TT>100Ax</TT><FONT COLOR=#AAAAAA>ESC</FONT></B>, you create a file
which contents 100 x'es.
<P>
The <B>D</B> command can be used to truncate a file at a certain position.
Since there are no lines in a binary file, the <B>D</B> command deletes
to end of file.
<P>
If you have to edit a binary file where it does not matter to move bytes
to a different address, you can enable the insert and delete commands by
typing <B>:set memmove</B>.
Now you are able to use the <B>i</B> command for inserting bytes, the
<B>x</B> or <B>X</B> command to delete the byte over or before the cursor
and those types of <B>d</B> commands, which does not rely on text lines
(e.g. <B>d<FONT COLOR=#AAAAAA>SPACE</FONT></B>, <B>df<TT>C</TT>, d/<TT>xyz</TT>,
d$, d'a, d<TT>n</TT>G</B>).
<P>
All edits can be undone by pressing the <B>u</B> key.
<H4>Using ex (colon) commands</H4>
The edit commands of the <B>ex</B> editor are usually not available in
standard <B>vi</B> implementations (<TT>:i[nsert], :a[ppend]</TT>
and <TT>:c[hange]</TT>). In <B><FONT COLOR=#FF0000>bvi</B></FONT>
they <I>are</I> available with extended options. There are five
modifiers <TT>a[scii], b[inary], d[ecimal], h[exadecimal]</TT> and
<TT>o[ctal]</TT> (ascii is default). Therefor you can insert, append
or change data in all five representations.
<P>
<B>Example:</B><BR>
you would like to append a file with data available in decimal
representation:
<BLOCKQUOTE><PRE>
:a d
0 12 3 128 255 17 0 0 255 255
23 24 25 128 6 6 6
.
</PRE></BLOCKQUOTE>
A line with only a period (.) in it will terminate the command.
<BR>
You must not type values greater than a byte value (255 decimal, FF hex).
This causes an abandon of the command.<BR>
Pressing the <FONT COLOR=#888888>RETURN</FONT> key does <I>not</I> insert
a newline - character into the file. If you use <B>:i a</B> (insert
ascii) you can use the special characters \n, \r, \t and \0.
<P>
An additional advantage is, that all typed bytes are inserted into the
file at once. If you insert characters in vi - mode, for every byte typed,
the whole remaining file has to be moved one position backwards.
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: 17 - 06 - 2000 by Gerhard B&uuml;rgmann</I>
</TD></TR></TABLE>
</BODY>
</HTML>

98
html/qt_find.html Normal file
View file

@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Find and Replace</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<font color="#ffffff" class="ths">Find and Replace<br></font>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Find and Replace</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
The <B><TT CLASS="examp">:s</TT></B> (substitute) command behaves a little bit
different to that of vi. If you type a command like this in vi &nbsp; <NOBR>
<B><TT CLASS="examp">:s/XXXX/UU/</TT></B></NOBR> then the four XXXX's are
replaced by
two UU's. This means, the file size decreases and all characters after
the replacement are moved to another position in the file. Since bvi
does not move characters, only two XX's are replaced by two UU's and
the third and fourth X still remains in the file.<BR>
Another example:
<BLOCKQUOTE>
<B><TT CLASS="examp">:0,500s/Taste\0/Key\0/</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
</BLOCKQUOTE>
<P>
This command replaces within the first 500 bytes of a file the 0 -
terminated ASCII string &quot;<TT CLASS="examp">Taste</TT>&quot;
with the 0 - terminated
string &quot;<TT CLASS="examp">Key</TT>&quot;. After the substitution
you will find a
character sequence &quot;<TT CLASS="examp">Key\0e\0</TT>&quot; in the file.<BR>
CAUTION: If the replace
string is longer than the find string, additional bytes are overwritten!
<BR>
This behaviour will not be changed by setting the
<TT CLASS="examp">:set memmove</TT> option!
<P>
Of course you can do also binary substitutions, similar to the search
command. The ability of remembering patterns like <B><TT CLASS="examp">\(pattern\)</TT></B>
is currently not implemented.
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Fri Jun 30 22:33:20 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

144
html/qt_partial.html Normal file
View file

@ -0,0 +1,144 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Partial File Read</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<font color="#ffffff" class="ths">Partial File Read<br></font>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Partial File Read</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
A new feature of version 1.3.0 is the Partial File Read.
If you want to edit a file, you have not to read the file into
memory but only the part you want to edit. You can write back this part
into the file after editing.
<BR>
Example:
<BR>
You have to change only some bytes of the header of a graphic file
(e.g. a color). Graphic files can be very large. With the <TT>-s</TT>
option you can load only the first kilobyte of the file:
<PRE>
bvi -s 1000 large.gif
</PRE>
In this case of course you cannot insert or delete bytes of the file.
The editor is set to the <I>no memmove</I> mode. You can write back
only as much bytes as you read before. If you add or delete bytes
even though, the extra bytes will be ignored or garbage will be
written to the file.
<P>
It is also possible to start not at the begin of the file, but at a
certain address. To do this you have to use the option <TT>-b</TT>.
You can read the file from this starting point until the end of the file
or you can use the <TT>-s</TT> option to specify a size or the
<TT>-e</TT> option to specify an end address.
<P>
If you read the file not from the start an offset will be set to
display the correct address at the left side of the screen. If you change this
offset with the <TT>:set offset=<I>nnnn</I></TT> command, this has
<B>no</B> effect to the write back operation. The edited part of the
file will always be written back at the same position, where it was read.
<P>
In the Linux <TT>/proc</TT> directory there are files which are listed
with length 0 in a directory listing. But in reality they have a content.
You can read this files, if you use the <TT>-s</TT> option and guess a
size. This size should be a little bit larger than the size you expect.
<P>
The same guidlines can be used, if you load a block device, e.g. a
floppy disk.
<PRE>
bvi -s 1450k /dev/fd0
</PRE>
After reading the device, you get a message with the value of the
real read bytes at the bottom of the screen:
<PRE>
"/dev/fd0" range 0-1474559
</PRE>
Note that the <I>size</I> value will be used to allocate memory before
reading the file. Therefore do not choose a too large size.<BR>
Note further, that <I>1450k</I> in the example above is calculated as
<I>1450 * 1024</I> bytes. This gives <I>1484800</I> bytes allocated size.
If <STRONG>bvi</STRONG> reads the exact number of bytes you have asked for
in the <TT>-s</TT> option, the file may be larger.
<P>
<B>WARNING:</B>
<BLOCKQUOTE>
Do not use <STRONG>bvi</STRONG> at mounted disk devices!<BR>
Do not edit disk devices, if you don't know exactly what you change!<BR>
You may make your disk unreadable by editing it!!
</BLOCKQUOTE>
<H3>Interaction with <STRONG>bmore</STRONG></H3>
You may use <STRONG>bmore</STRONG> to browse through large files or
devices. You may use the ASCII - or Hex - search possibilities to
locate a certain section of the file.<BR>
If you see the desired part of the file on your screen, press <I><B>w</B></I> to
read the contents of the file displayed currently on your screen into
<STRONG>bvi</STRONG>. You can use a decimal prefix at the <I><B>w</B></I> -
command to read more or less bytes than displayed into <STRONG>bvi</STRONG>.
<BR>
The letter <I><B>w</B></I> is the next letter after <I><B>v</B></I>, which
is used in more and bmore to read the whole file into vi or bvi!
<P>
If you used the <TT>ZZ</TT> or <TT>:w</TT> command, this part of the file will be
written back into the original file.
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Sun Jul 09 21:57:38 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

115
html/qt_search.html Normal file
View file

@ -0,0 +1,115 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Search Commands</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<font color="#ffffff" class="ths">Search Commands<br></font>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Search Commands</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
Additional to the well known <B>/</B> and <B>?</B> for searching ASCII
strings there are two new commands for searching binary strings. These
are the keys <B>\</B> and <B>#</B>.
<P>
In the ASCII search commands <B>/</B> and <B>?</B> you can use \n, \r,
\t and \0. You can also use regular expressions. Do <I>not</I> use
<B>^</B> and <B>$</B>, because there are no lines in a binary file.
Type <B><TT>/foo\0</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B> to
search for the null terminated string <I>foo</I> in the file.
<P>
In the Hex section you can search for a sequence of bytes in hexadecimal
notation, e.g. <NOBR><B><TT>\01 AF 12</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B>,
</NOBR> which is the same as <NOBR><B><TT>\01AF12</TT><FONT COLOR=#AAAAAA>
RETURN</FONT></B></NOBR>.
You can also use regular expressions and quoted ASCII strings. Inside of
the quotes no character is treated as a special character!<BR>
Example: &nbsp;
<B><TT>\01 [^AF DE] "foo" 00 </TT><FONT COLOR=#AAAAAA>RETURN</FONT></B>
<BR>
This means: Search for a string beginning with 01, the second character
must not be a hex <TT>AF</TT> or <TT>DE</TT>, followed by the ASCII
characters <TT>foo</TT>, terminated with a binary zero.
<H3>Global Search</H3>
There is also a global search option available, but only with the
print option.<BR>
Example:
<BLOCKQUOTE>
<B><TT>:g/text_pattern/p</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B>
<BR>or<BR>
<B><TT>:g\hex_pattern\p</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B>
</BLOCKQUOTE>
This commands are displaying all found patterns, one per screen line.
Of course you can limit the search to a certain part of the file by
specifying the starting and ending address.<BR>
Other forms of the global search command
are line oriented, therefor <B>not</B> useful for binary files and
<B>not implemented</B>, e.g.<BR>
<BLOCKQUOTE>
<TABLE>
<TR><TD>:g/pattern/d</TD><TD>Delete all lines containing <I>pattern</I></TD></TR>
<TR><TD>:g/pattern/y</TD><TD>Yank all lines containing <I>pattern</I></TD></TR>
<TR><TD>:g!/pattern/p</TD><TD>Print all lines <B>not</B> containing <I>pattern</I></TD></TR>
</TABLE>
</BLOCKQUOTE>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

126
html/qt_set.html Normal file
View file

@ -0,0 +1,126 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Settings</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<font color="#ffffff" class="ths">Settings<br></font>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Settings</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
To customize bvi some additional <B>:set</B> options are
available. You can add them to your <B><TT CLASS="examp">.bvirc</TT></B>
file, if you need them all the time.
<H4>columns</H4>
<BLOCKQUOTE>
You can set the number of columns on the screen to an arbitrary value.
This might be useful if you edit a file with a fixed record length.<BR>
Default value is the max. number of columns, divisible by four.<BR>
Example: <B><TT>:set columns=13<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B><BR>
Abbreviation: <B><TT>:set cm=9<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B>
</BLOCKQUOTE>
<H4>memmove</H4>
<BLOCKQUOTE>
This option enables the commands for inserting and deleting bytes.
<BR>
Default: <B><TT>:set nomemmove<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B><BR>
Abbreviation: <B><TT>:set mm<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B>
</BLOCKQUOTE>
<H4>offset</H4>
<BLOCKQUOTE>
You can change the beginning of the displayed byte numbering to a
certain number. The default address of the first byte is 0. You can
change it to 1 or to any other number by typing:<BR>
&nbsp; <B><TT>:set offset=1</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
You can also use a hexadecimal address, if you type a leading zero:<BR>
&nbsp; <B><TT>:set of=01FF</TT><FONT COLOR=#AAAAAA>RETURN</FONT></B><BR>
The only commands which are not affected by these numbering is
<TT><B>:f</B></TT> or <TT><B><FONT COLOR=#AAAAAA>CTRL</FONT>
-G</B></TT>. These commands always
designates the first byte in file as 1.
</BLOCKQUOTE>
<H4>unixstyle</H4>
<BLOCKQUOTE>
The rightmost character in the status line displays the ASCII value of
the current byte. For values below 32 you can use the notation used on
the ascii(7) man page (like NUL, SOH, STX etc.) if you do a<BR>
<B><TT>:set unixstyle<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B> or a<BR>
<B><TT>:set us<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B>. If you do a<BR>
<B><TT>:set nous<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B> you get a
DOS style representation (^A, ^B, ^C etc.).
</BLOCKQUOTE>
<H4>wordlength</H4>
<BLOCKQUOTE>
This setting is used to define the minimum length of a &quot;word&quot;.
A &quot;word&quot; is a sequence of ASCII characters within a binary
file. The commands <B>w, b, e, W, B</B> and <B>E</B> are affected by
this setting.
<P>
Default: <B><TT>:set wordlength=4<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B><BR>
Abbreviation: <B><TT>:set wl=4<FONT COLOR=#AAAAAA>RETURN</FONT></TT></B>
</BLOCKQUOTE>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

132
html/qt_yank.html Normal file
View file

@ -0,0 +1,132 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Yank and Put</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<font color="#ffffff" class="ths">Yank and Put<br></font>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
<br><font class="sub">Yank and Put</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
Starting with version 1.2.0 there is a new syntax for the yank and put
commands! Yank is now more similare to vi.
<P>
<TABLE>
<TR><TD><B>y<FONT COLOR=#888888>SPACE</FONT></B></TD>
<TD>yanks byte under cursor</TD></TR>
<TR><TD><B><FONT COLOR=#FF0000>n</FONT>y<FONT COLOR=#888888>SPACE</FONT></B>
</TD>
<TD>yanks <FONT COLOR=#FF0000>n</FONT> bytes, beginning at cursor
position</TD></TR>
<TR><TD><B>yf<FONT COLOR=#FF0000>C</FONT></B></TD>
<TD>yanks from current position to next
character <FONT COLOR=#FF0000>C</FONT></TD></TR>
<TR><TD><B>y/<FONT COLOR=#FF0000>xyz</FONT></B></TD>
<TD>yanks from current position to first matching
pattern <FONT COLOR=#FF0000>xyz</FONT></TD></TR>
<TR><TD><B>y$</B></TD><TD>yanks from current position to EOF</TD></TR>
<TR><TD><B>y'<FONT COLOR=#FF0000>a</FONT></B></TD>
<TD>yanks from current position to mark <FONT COLOR=#FF0000>a</FONT></TD></TR>
<TR><TD><B>y<FONT COLOR=#FF0000>n</FONT>G</B></TD>
<TD>yanks from current position to byte with (decimal)
address <FONT COLOR=#FF0000>n</FONT></TD></TR>
<TR><TD><B><TT>o</B></TT></TD>
<TD>overwrites the bytes after the cursor with the contents of the yank
or delete buffer</TD></TR>
<TR><TD><B><TT>p</B></TT></TD><TD>puts the contents of the yank or delete
buffer after the cursor</TD></TR>
<TR><TD><B><TT>P</B></TT></TD><TD>appends the contents of the buffer to end
of file</TD></TR>
</TABLE>
<H3>Using ex (colon) Commands</H3>
<B>:y</B>(ank)
<BLOCKQUOTE>
<I>yank</I> can be used with one or two addresses specified. One address
with no <I>count</I> specified copies the specified byte into the buffer.
Two addresses with no <I>count</I> specified copies multiple bytes
starting and ending with the specified bytes. Two addresses and a <I>count</I>
value copies <I>count</I> bytes starting at the second specified address (the
first address is ignored). If no address is specified, the current address
ist used by <I>yank</I>.<BR>
Examples:
<BLOCKQUOTE>
:<I>start_addr,end_addr</I> y <FONT COLOR=#888888>RETURN</FONT><BR>
:<I>start_addr</I> y <I>byte_count</I><FONT COLOR=#888888>RETURN</FONT><BR>
:y <I>byte_count</I><FONT COLOR=#888888>RETURN</FONT><BR>
</BLOCKQUOTE>
</BLOCKQUOTE>
<P>
<B>:pu</B>(t)
<BLOCKQUOTE>
Restores previously deleted or yanked bytes after the address specified
in the <I>put</I> command.
</BLOCKQUOTE>
<P>
<B>:o</B>(verwrite)
<BLOCKQUOTE>
Overwrites bytes after the specified address with previously deleted or yanked
bytes.
</BLOCKQUOTE>
<P>
NOTE: There are currently no namend buffers available.
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Jun 01 12:00:00 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

199
html/quick.html Normal file
View file

@ -0,0 +1,199 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Quick Tutorial</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<font color="#ffffff" class="thl">Quick Tutorial<br></font>
<a class="ths" href="qt_edit.html">Editing Files</a><br>
<a class="ths" href="qt_search.html">Search Commands</a><br>
<a class="ths" href="qt_bit.html">Bit-wise Operations</a><br>
<a class="ths" href="qt_find.html">Find and Replace</a><br>
<a class="ths" href="qt_yank.html">Yank and Put</a><br>
<a class="ths" href="qt_set.html">Settings</a><br>
<a class="ths" href="qt_partial.html">Partial File Read</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Quick Tutorial</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
This tutorial will explain all commands which behaves different to
vi. Note that, if you are on a Linux system, you will probably
have an 'improved' version of vi. Bvi is more similar to the standard
version.
<H3>The Screen</H3>
<CENTER>
<TABLE WIDTH=10 CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD BGCOLOR=#ffccff><PRE CLASS="examp">
000000
00000C
000018
000024
000030
00003C
000048
000054
000060
00006C
000078
000084
000090
00009C</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp">
7F <tt class="inv">4</tt>5 4C 46 01 01
00 00 00 00 01 00
00 00 00 00 00 00
00 00 00 00 34 00
0C 00 09 00 00 00
00 00 00 00 55 89
53 C7 45 A4 00 00
00 00 00 83 7D 08
8C 02 00 00 E9 6F
00 00 00 00 6A 03
45 08 50 E8 FC FF
0C 85 D2 75 17 6A
E9 43 02 00 00 8D
0C 85 D2 75 0D C7</PRE></TD><TD BGCOLOR=#ccffcc><PRE CLASS="examp">
01 00 00 00 00 00
03 00 01 00 00 00
00 00 0C 07 00 00
00 00 00 00 28 00
00 00 00 00 00 00
E5 83 EC 68 57 56
00 00 C7 45 A0 01
00 75 13 6A 00 E8
02 00 00 8D B4 26
68 90 00 00 00 8B
FF FF 89 C2 83 C4
01 E8 60 02 00 00
74 26 00 8D BC 27
45 A0 00 00 00 00</PRE></TD><TD BGCOLOR=#FFCCCC><PRE CLASS="examp">
.ELF........
............
............
....4.....(.
............
....U....hWV
S.E......E..
....}..u.j..
.....o.....&
....j.h.....
E.P.........
...u.j..`...
.C....t&...'
...u..E.....</PRE></TD></TR>
<TR BGCOLOR=#FFFFCC><TD COLSPAN=2 CLASS="examp">"set.o" 3500 bytes</TD>
<TD COLSPAN=2 ALIGN=RIGHT CLASS="examp"><B>000001 \105 0x45 69 'E'</B></TD></TR>
</TABLE>
</CENTER>
<P>
The screen is divided into four areas, symbolized by four different
colors. The magenta area contents the addresses in hexadecimal
notation. The green area contents the values of the edited file in
hexadecimal notation. The red area contents the same bytes in ASCII
representation. The yellow status line displays on the left side the
current status messages and on the right site the current position
of the cursor and the value of the byte on this address in octal,
hexadecimal, decimal and ASCII notation.
<BR>
You can toggle between the Hex and ASCII value of the same byte by
pressing the <FONT COLOR=#AAAAAA><B>TAB</B></FONT> key both in command
and input mode.
<H3>Command Line Options</H3>
There are some additional command line options in <B>bvi</B>:<BR>
<BLOCKQUOTE>
<B><TT>-f <I>script</I></TT></B>
</BLOCKQUOTE>
This command provides a means for collecting a series of <I>ex</I>
(colon) commands into a script file, then using this file to edit
other files. Since there is no binary stream editor <I>bsed</I>, you
can use this option to make several global changes in a binary file.
You can do this of course with the <i>source</I> command (<B>:so file</B>)
from within bvi too.
<BLOCKQUOTE>
<B><TT>-b <I>begin</I></TT></B>
</BLOCKQUOTE>
This option causes bvi to load a file not from start but from address
<I>begin</I>.
<BLOCKQUOTE>
<B><TT>-e <I>end</I></TT></B>
</BLOCKQUOTE>
This option causes bvi to load a file not till end but till address
<I>end</I>.
<BLOCKQUOTE>
<B><TT>-s <I>size</I></TT></B>
</BLOCKQUOTE>
This option causes bvi not to load the complete file but only <I>size</I>
bytes. This option can also be used to read a file reported with a
length 0 like some files in the Linux <TT CLASS="examp">/proc</TT>
directory.
<P>
<I>begin, end</I> or <I>size</I> can be an integer value (decimal or
hexadecimal) or an integer value with an appended <B>k</B> (for
multiply by 1024) or <B>m</B> (for multiply by 1.048.576).
<P>
You should use at most two of the three address options to avoid ambiguity!
<H3>Not Implemented Commands</H3>
<P>
<UL>
<LI><B><TT>:map</TT></B> and <B><TT>:unmap</TT></B> (Macros)
<LI><B><TT>:abbreviate</TT></B> (<B><TT>:ab</TT></B>) and <B><TT>:una</TT></B>
<LI>no named buffers.
</UL>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Oct 19 20:58:31 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

6
html/rpm.html Normal file
View file

@ -0,0 +1,6 @@
<HTML><HEAD>
<TITLE>Source RPM</TITLE>
<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://sites.inka.de/~mips/unix/index.html">
</HEAD><BODY BGCOLOR=#ffffff>
Switching to <A HREF="http://sites.inka.de/mips/unix/index.html">http://sites.inka.de/mips/unix/index.html</A> . . .
</BODY></HTML>

116
html/set.html Normal file
View file

@ -0,0 +1,116 @@
<HTML><HEAD>
<TITLE>BVI: Set Commands</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR="#ffffff">
<A NAME="top"></A>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<A CLASS=head HREF="overview.html">Command Overview</A>
<BR><FONT CLASS=sub>Set Commands</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<A HREF="index.html">
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62" BORDER=0></A>
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| Set Options
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<TABLE WIDTH=100%>
<TR BGCOLOR=#CCCCCC><TH WIDTH=20%>Command</TH><TH WIDTH=40%>BVI</TH><TH WIDTH=40%>VI</TH></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Search<BR>settings</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:set wrapscan</B> or <B>:set ws</B><BR>
<B>:set nows</B></TD>
<TD>When this option is set, pattern searches resulting from a <B>/,
?, n, N</B> (<B>#, \</B>) command automatically wrap around to the opposit end of the file
and continue whenever the beginning or end of a file is reached.</TD></TR>
<TR><TD><B>:set ignorecase</B> or <B>:set ic</B><BR>
<B>:set noic</B></TD>
<TD>Uppercase and lowercase characters in text are treated identically
in regular expression matching</TD></TR>
<TR><TD><B>:set magic</B><BR>
<B>:set nomagic</B></TD>
<TD>Enables metacharacters for use in regular expressions</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>Display<BR>options</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:set showmode</B><BR>
<B>:set noshowmode</B></TD>
<TD>Displays a status message in the lowest line on the screen</TD></TR>
<TR><TD><B>:set terse</B><BR>
<B>:set noterse</B></TD>
<TD>The terse option lets you obtain shorter error diagnostics.</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>File<BR>options</TD><TD BGCOLOR=#CCFFCC COLSPAN=2>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:set readonly</B> or <B> :set ro</B><BR>
<B>:set noro</B></TD>
<TD>This option sets the read-only flag for the file being editeds,
thus preventing accidental overwriting at the end of the session.</TD></TR>
<TR><TD><B>:set autowrite</B> or <B>:set aw</B><BR>
<B>:set noaw</B></TD>
<TD>Causes the contents of the buffer to be written to the current file
if you have modified them and given a <B>:next, :rewind</B> or <B>!</B>
command.</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER>bvi<BR>options</TD>
<TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD><B>:set columns=13<BR>:set cm=5</B></TD>
<TD>You can set the number of bytes displayed in on screenline.
Default is max. number divisible by four.</TD></TR>
<TR><TD><B>:set memmove<BR>:set nomm</B></TD>
<TD>If memmove is set, you can use commands to insert or delete bytes.
This can be dangerous for e.g. executable programs.
Default is nomemmove.</TD></TR>
<TR><TD><B>:set offset=1<BR>:set of=5</B></TD>
<TD>An offset is added to all addresses and byte counts. Default
address of the first byte is 0.</TD></TR>
<TR><TD><B>:set wordlength=5<BR>:set wl=8</B></TD>
<TD>Length of an ASCII-string found by <B>w, W, b</B> or <B>B</B></TD></TR>
<TR><TD><B>:set unixstyle<BR>:set nous</B></TD>
<TD>displays ASCII characters below 32 in the status line in
Unix-style instead of DOS-style</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
Not available.
</TD></TR>
</TD></TR>
</TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| <A CLASS="thl" HREF="yank.html">Yank and Put Cmds</A>
| Set Options
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: October 30<SUP>th</SUP> 1999 by Gerhard B&uuml;rgmann</I>
</BODY></HTML>

153
html/sitemap.html Normal file
View file

@ -0,0 +1,153 @@
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
<html><head>
<title>BVI: Sitemap</title>
<link rel=stylesheet type="text/css" href="bvi.css">
</head><body bgcolor="#ffffff" background="gif/bg2.gif">
<a name="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="1%" valign="top" align="center">
<img src="gif/dot.gif" width="130" height="1">
<hr noshade width="60%">
<p>
<a class="thl" href="index.html">Home</a><br>
</p>
<p>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</p>
<p>
<a class="thl" href="download.html">Download</a><br>
</p>
<p>
<a class="thl" href="install.html">Installation</a><br>
</p>
<p>
<a class="thl" href="overview.html">Command Overview</a><br>
</p>
<p>
<a class="thl" href="bmore.html">bmore</a><br>
</p>
<p>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</p>
<hr noshade width="60%">
</td>
<td width="1%"><img src="gif/dot.gif" width="40" height="1"></td>
<td width="99%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td width="99%">
<font class="head">Sitemap</font>
</td>
<td align="right" valign="bottom" width="116" rowspan="2">
<a href="index.html">
<img src="gif/bvi_s.gif" alt="BVI" width="116"
height="62" border="0"></a>
</td></tr>
<tr><td valign="bottom">
<hr noshade>
</td></tr></table>
<p>
<ul>
<li>
<a class="thl" href="index.html">Home</a><br>
</li>
<ul>
</ul>
<li>
<a class="thl" href="quick.html">Quick Tutorial</a><br>
</li>
<ul>
<li>
<a class="thl" href="qt_edit.html">Editing Files</a><br>
</li>
<li>
<a class="thl" href="qt_search.html">Search Commands</a><br>
</li>
<li>
<a class="thl" href="qt_bit.html">Bit-wise Operations</a><br>
</li>
<li>
<a class="thl" href="qt_find.html">Find and Replace</a><br>
</li>
<li>
<a class="thl" href="qt_yank.html">Yank and Put</a><br>
</li>
<li>
<a class="thl" href="qt_set.html">Settings</a><br>
</li>
<li>
<a class="thl" href="qt_partial.html">Partial File Read</a><br>
</li>
</ul>
<li>
<a class="thl" href="download.html">Download</a><br>
</li>
<ul>
<li>
<a class="thl" href="new130.html">New in 1.3.0</a><br>
</li>
<li>
<a class="thl" href="new120.html">New in 1.2.0</a><br>
</li>
</ul>
<li>
<a class="thl" href="install.html">Installation</a><br>
</li>
<ul>
</ul>
<li>
<a class="thl" href="overview.html">Command Overview</a><br>
</li>
<ul>
<li>
<a class="thl" href="cursor.html">Cursor Movement</a><br>
</li>
<li>
<a class="thl" href="edit.html">Edit Cmds</a><br>
</li>
<li>
<a class="thl" href="yank.html">Yank and Put Cmds</a><br>
</li>
<li>
<a class="thl" href="set.html">Set Options</a><br>
</li>
<li>
<a class="thl" href="colon.html">Colon (ex) Cmds</a><br>
</li>
<li>
<a class="thl" href="man_bvi.html">man - Page</a><br>
</li>
</ul>
<li>
<a class="thl" href="bmore.html">bmore</a><br>
</li>
<ul>
<li>
<a class="thl" href="bmore_cmd.html">Commands</a><br>
</li>
<li>
<a class="thl" href="bmore_opt.html">Options</a><br>
</li>
<li>
<a class="thl" href="man_bmore.html">man - Page</a><br>
</li>
</ul>
<li>
<a class="thl" href="german.html">Deutsche Beschreibung</a><br>
</li>
<ul>
</ul>
</ul><p>
<p><font size="-1">
<a class="btop" href="#top">
<img border="0" width="16" height="7" src="gif/up.gif"
alt="Back to the top">Back to the top</a>
</font>
<hr noshade>
<i>Last update: Thu Oct 12 20:42:01 CEST 2000 by Gerhard B&uuml;rgmann</i>
</td></tr></table>
</body></html>

141
html/yank.html Normal file
View file

@ -0,0 +1,141 @@
<HTML><HEAD>
<TITLE>BVI: Yank and Put Commands</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="bvi.css">
</HEAD><BODY BGCOLOR="#ffffff">
<A NAME="top"></A>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR><TD WIDTH=99%>
<A CLASS=head HREF="overview.html">Command Overview</A>
<BR><FONT CLASS=sub>Yank and Put Commands</FONT>
</TD><TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=116 ROWSPAN=2>
<A HREF="index.html">
<IMG SRC="gif/bvi_s.gif" ALT="BVI" WIDTH="116" HEIGHT="62" BORDER=0></A>
</TD></TR>
<TR><TD VALIGN=BOTTOM>
<HR NOSHADE>
</TD></TR></TABLE>
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| Yank and Put Cmds
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
NOTE: the <B>o</B> command (<I>overwriting put</I>) is the only command in
bvi that uses a key for a complete different purpose than in vi.
<P>
<TABLE WIDTH=100%>
<TR BGCOLOR=#CCCCCC><TH WIDTH=20%>Command</TH><TH WIDTH=40%>BVI</TH><TH WIDTH=40%>VI</TH></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=3>Put<BR>bytes</TD>
<TD COLSPAN=2 BGCOLOR=#CCFFCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; p &nbsp;</TH>
<TD>put the contents of the yank or delete buffer after cursor position</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; P &nbsp;</TH><TD>append the contents of the yank or delete buffer at EOF</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; P &nbsp;</TH><TD>put the contents of the yank or delete buffer
before cursor position</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; o &nbsp;</TH><TD>overwrite the following bytes with the contents
of the yank or delete buffer</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCCC ALIGN=CENTER ROWSPAN=4>Yank<BR>bytes</TD>
<TD COLSPAN=2 BGCOLOR=#CCFFCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>y<FONT COLOR=#888888>SPACE</FONT></TH><TD>yank byte at cursor position</TD></TR>
<TR><TH>yf<FONT COLOR=#FF0000>C</FONT></TH>
<TD>yank from current position to next character <FONT COLOR=#FF0000>C</FONT></TD></TR>
<TR><TH>y/<FONT COLOR=#FF0000>xyz</FONT></TH>
<TD>yank from current position to matching pattern <FONT COLOR=#FF0000>xyz</FONT>
</TD></TR>
<TR><TH>y?<FONT COLOR=#FF0000>xyz</FONT></TH>
<TD>yank from current position to matching pattern <FONT COLOR=#FF0000>xyz</FONT> in reverse direction
</TD></TR>
<TR><TH>y'<FONT COLOR=#FF0000>a</FONT></TH><TD>yank from current position to mark <FONT COLOR=#FF0000>a</FONT></TD></TR>
<TR><TH>y<FONT COLOR=#FF0000>n</FONT>G</TH><TD>yank from current position to byte with (decimal) address <FONT COLOR=#FF0000>n</FONT></TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>yy &nbsp;</TH><TD>yank line</TD></TR>
<TR><TH>y)</TH><TD>yank from cursor position through first
following end of sentence</TD></TR>
<TR><TH>y}</TH><TD>yank from cursor position through first
following end of paragraph</TD></TR>
<TR><TH>y]</TH><TD>yank from cursor position through first
following end of section</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#FFFFFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>y\<FONT COLOR=#FF0000>6a 56 ff</FONT> &nbsp;</TH>
<TD>yank from cursor position to first occurance of hex pattern
<FONT COLOR=#FF0000>6a 56 ff</FONT></TD></TR>
<TR><TH>y#<FONT COLOR=#FF0000>6a 56 ff</FONT> &nbsp;</TH>
<TD>yank from cursor position to first occurance of hex pattern
<FONT COLOR=#FF0000>6a 56 ff</FONT> in reverse direction</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#FFCCCC>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TD ROWSPAN=2>not available</TD></TR>
</TABLE>
</TD></TR>
<TR><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; y$ &nbsp;</TH><TD>yank from current position to EOF</TD></TR>
</TABLE>
</TD><TD BGCOLOR=#CCCCFF>
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR><TH>&nbsp; y$ &nbsp;</TH><TD>yank from current position to end of line</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
<P>
Note that most of the commands can be used with a decimal repeat count in front
of the command!
<P>
<CENTER>
[ <A CLASS="thl" HREF="cursor.html">Cursor Movements</A>
| <A CLASS="thl" HREF="edit.html">Edit Cmds</A>
| Yank and Put Cmds
| <A CLASS="thl" HREF="set.html">Set Options</A>
| <A CLASS="thl" HREF="colon.html">Colon (ex) Cmds</A>
]
</CENTER>
<P>
<FONT SIZE=-1>
<A CLASS="btop" HREF="#top"><IMG BORDER=0 WIDTH=16 HEIGHT=7 SRC="gif/up.gif"
ALT="Back to the top">Back to the top</A>
</FONT>
<HR NOSHADE>
<I>Last update: October 30<SUP>th</SUP> 1999 by Gerhard B&uuml;rgmann</I>
</BODY></HTML>