| Command | BVI | VI | 
|---|
| Cursor movements
 | 
| h, ARROW_LEFT | move cursor one character to the left | 
|---|
 | j, +, ^N, ^J, ARROW_DOWN,
 RETURN | move cursor down one line | 
|---|
 | k, -, ARROW_UP | move cursor up one line | 
|---|
 | l, ARROW_RIGHT,
 SPACE | move cursor one character to the right | 
|---|
 | H | move cursor to home position, upper left corner of screen | 
|---|
 | M | move cursor to the begin of the middle line of the screen | 
|---|
 | L | move cursor to the begin of the last line of the screen | 
|---|
 | 
| Move to begin
 and end of
 (screen) line
 | 
 | ^ | move cursor to the first byte of Hex section | 
|---|
 | $ | move cursor to the last byte of Ascii section | 
|---|
 | TAB | toggle cursor between the same byte in Hex and Ascii section | 
|---|
 | 
 | ^ | move cursor to the first nonblank character of line | 
|---|
 | $ | move cursor to end of line | 
|---|
 | 0 | move cursor to the real begin of line | 
|---|
 | 
| Move by
 words
 | 
 | w | forward to next string delimited with a nonprinting char | 
|---|
 | b | back to previous string delimited with a nonprinting char | 
|---|
 | e | end of current word | 
|---|
 | W | forward to next string delimited with a \0 or \n | 
|---|
 | B | back to previous string delimited with a nonprinting char | 
|---|
 | E | end of a blank-delimited word | 
|---|
 | 
 | w | move cursor forward to begin of next word | 
|---|
 | e | move cursor to end of current word | 
|---|
 | b | move cursor back to begin of current or previous word | 
|---|
 | W | move cursor forward to begin of next word, ignoring punctuation | 
|---|
 | B | move cursor back to begin of last word, ignoring punctuation | 
|---|
 |