If you would like to use the insert and delete commands, you have to
enable them with the :set memmove 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 :set memmove directive to your .bvirc file.
| Command | BVI | VI | 
|---|
| Replace bytes
 | 
| r | replace a single byte, no ESC needed | 
|---|
 | R | replace multiple bytes until you type ESC | 
|---|
 | ~ | toggle between uppercase and lowercase of a byte | 
|---|
 | 
| Append bytes
 | 
 | A | append bytes at end of file | 
|---|
 | D | delete bytes to end of file | 
|---|
 | 
 | A | append characters at end of line | 
|---|
 | D | delete characters to end of line | 
|---|
 | 
| Insert bytes
 | 
 | i | insert byte in front of cursor position | 
|---|
 | a | insert byte after cursor position | 
|---|
 | 
| 
 | I | insert byte at begin of file | 
|---|
 | 
 | I | insert characters at begin of line | 
|---|
 | 
|  | 
 | o | insert new line below current line | 
|---|
 | O | insert new line above current line | 
|---|
 | 
| Delete bytes
 | 
 | x | delete byte at of cursor position | 
|---|
 | X | delete byte in front of cursor position | 
|---|
 | dSPACE | delete byte at cursor position | 
|---|
 | dfC | delete from current position to next character C | 
|---|
 | d/xyz | delete from current position to first occurance of matching pattern
   xyz | 
|---|
 | d?xyz | delete from current position to first occurance of matching pattern
   xyz in reverse direction | 
|---|
 | d'a | delete from current position to mark a | 
|---|
 | dnG | delete from current position to byte with (decimal) address n | 
|---|
 | 
| 
 | not available, because there are no lines, sentences,
 paragraphs or sections in a binary file |  | 
 | dd | delete line | 
|---|
 | d) | delete from cursor position through first
  following end of sentence | 
|---|
 | d} | delete from cursor position through first
  following end of paragraph | 
|---|
 | d] | delete from cursor position through first
  following end of section | 
|---|
 | 
| 
 | d\6a 56 ff | delete from cursor position to first occurance of hex pattern
  6a 56 ff | 
|---|
 | d#6a 56 ff | delete from cursor position to first occurance of hex pattern
  6a 56 ff in reverse direction | 
|---|
 |  | 
| 
 | D | delete from current position to EOF | 
|---|
 | d$ | 
|---|
 | 
 | D | delete from current position to end of line | 
|---|
 | d$ | 
|---|
 | 
| Undo edits
 | 
 | u | Undo the most recent change | 
|---|
 | 
|  | 
 | U | Undo all of the changes made to the current line | 
|---|
 | 
Note that most of the commands can be used with a decimal repeat count in front
of the command!