For brevity, control characters are marked by ^.
| a | Append text after cursor. |
| A | Append text at end of line. |
| ^A | Unused. |
| b | Back up to beginning of word in current line. |
| B | Back up to word, ignoring punctuation. |
| ^B | Scroll backward one window. |
| c | Change operator. |
| C | Change to end of current line. |
| ^C | Unused in command mode; ends insert mode. |
| d | Delete operator. |
| D | Delete to end of current line. |
| ^D | Scroll down half-window. |
| e | Move to end of word. |
| E | Move to end of word, ignoring punctuation. |
| ^E | Show one more line at bottom of window. |
| f | Find next character typed forward on current line. |
| F | Find next character typed backward on current line. |
| ^F | Scroll forward one window. |
| g | Unused. |
| G | Go to specified line or end of file. |
| ^G | Print information about file on status line. |
| h | Left arrow cursor key. |
| H | Move cursor to Home position. |
| ^H | Left arrow cursor key; Backspace key in insert mode. |
| i | Insert text before cursor. |
| I | Insert text before first nonblank character on line. |
| ^I | Unused in command mode; in insert mode, same as TAB key. |
| j | Down arrow cursor key. |
| J | Join two lines. |
| ^J | Down arrow cursor key; in insert mode, move down a line. |
| k | Up arrow cursor key. |
| K | Unused. |
| ^K | Unused. |
| l | Right arrow cursor key. |
| L | Move cursor to Last position in window. |
| ^L | Redraw screen. |
| m | Mark the current cursor position in register (a-z). |
| M | Move cursor to Middle position in window. |
| ^M | Carriage return. |
| n | Repeat the last search command. |
| N | Repeat the last search command in reverse direction. |
| ^N | Down arrow cursor key. |
| o | Open line below current line. |
| O | Open line above current line. |
| ^O | Unused. |
| p | Put yanked or deleted text after or below cursor. |
| P | Put yanked or deleted text before or above cursor. |
| ^P | Up arrow cursor key. |
| q | Unused. |
| Q | Quit vi and invoke ex. |
| ^Q | Unused (on some terminals, resume data flow). |
| r | Replace character at cursor with the next character you type. |
| R | Replace characters. |
| ^R | Redraw the screen. |
| s | Change the character under the cursor to typed characters. |
| S | Change entire line. |
| ^S | Unused (on some terminals, stop data flow). |
| t | Move cursor forward to character before next character typed. |
| T | Move cursor backward to character after next character typed. |
| ^T | Unused in command mode; in insert mode, use if |
| u | Undo the last change made. |
| U | Restore current line, discarding changes. |
| ^U | Scroll the screen upward half-window. |
| v | Unused. |
| V | Unused. |
| ^V | Unused in command mode; in insert mode, quote next character. |
| w | Move to beginning of next word. |
| W | Move to beginning of next word, ignoring punctuation. |
| ^W | Unused in command mode; in insert mode, back up to beginning of word. |
| x | Delete character under cursor. |
| X | Delete character before cursor. |
| ^X | Unused. |
| y | Yank or copy operator. |
| Y | Make copy of current line. |
| ^Y | Show one more line at top of window. |
| z | Reposition line containing cursor. z must be followed either by: RETURN (reposition line to top of screen), . (reposition line to middle of screen), or - (reposition line to bottom of screen). |
| ZZ | Exit the editor, saving changes. |
| ^Z | Suspend vi (only on systems that have job control). |
| This HTML Help has been published using the chm2web software. |