The following commands are from "VI-USAGE": ^A search forward for cursor word ^B scroll up by screens ^C interrupt an operation (e.g. read, write, search) ^D scroll down by half screens (setting count) ^E scroll down by lines ^F scroll down by screens ^G file status ^H move left by characters ^J move down by lines ^L redraw screen ^M move down by lines (to first non-blank) ^N move down by lines ^P move up by lines ^R redraw screen ^T tag pop ^U half page up (set count) ^V input a literal character ^W move to next screen ^Y page up by lines ^Z suspend editor ^[ exit input mode, cancel partial commands ^\ switch to ex mode ^] tag push cursor word ^^ switch to previous file move right by columns ! filter through command(s) to motion # number increment/decrement $ move to last column % move to match & repeat substitution ' move to mark (to first non-blank) ( move back sentence ) move forward sentence + move down by lines (to first non-blank) , reverse last F, f, T or t search - move up by lines (to first non-blank) . repeat the last command / search forward 0 move to first character : ex command ; repeat last F, f, T or t search < shift lines left to motion > shift lines right to motion ? search backward @ execute buffer A append to the line B move back bigword C change to end-of-line D delete to end-of-line E move to end of bigword F character in line backward search G move to line H move to count lines from screen top I insert before first nonblank J join lines L move to screen bottom M move to screen middle N reverse last search O insert above line P insert before cursor from buffer Q switch to ex mode R replace characters S substitute for the line(s) T before character in line backward search U Restore the current line W move to next bigword X delete character before cursor Y copy line ZZ save file and exit [[ move back section ]] move forward section ^ move to first non-blank _ move to first non-blank ` move to mark a append after cursor b move back word c change to motion d delete to motion e move to end of word f character in line forward search h move left by columns i insert before cursor j move down by lines k move up by lines l move right by columns m set mark n repeat last search o append after line p insert after cursor from buffer r replace character s substitute character t before character in line forward search u undo last change w move to next word x delete character y copy text to motion into a cut buffer z reposition the screen { move back paragraph | move to column } move forward paragraph ~ reverse case The following are from EX-USAGE: ^D: scroll lines !: filter lines through commands or run commands #: display numbered lines &: repeat the last subsitution *: execute a buffer <: shift lines left =: display line number >: shift lines right @: execute a buffer append: append input to a line abbreviate: specify an input abbreviation args: display file argument list bg: background the current screen change: change lines to input cd: change the current directory chdir: change the current directory copy: copy lines elsewhere in the file cscope: create a set of tags using a cscope command delete: delete lines from the file display: display buffers, screens or tags [Ee]dit: begin editing another file [Ee]x: begin editing another file exusage: display ex command usage statement file: display (and optionally set) file name fg: switch the current screen and a backgrounded screen global: execute a global command on lines matching an RE help: display help statement insert: insert input before a line join: join lines into a single line k: mark a line position list: display lines in an unambiguous form move: move lines elsewhere in the file mark: mark a line position map: map input or commands to one or more keys mkexrc: write a .exrc file [Nn]ext: edit (and optionally specify) the next file number: change display to number lines open: enter "open" mode (not implemented) print: display lines perl: run the perl interpreter with the command perldo: run the perl interpreter with the command, on each line preserve: preserve an edit session for recovery [Pp]revious: edit the previous file in the file argument list put: append a cut buffer to the line quit: exit ex/vi read: append input from a command or file to the line recover: recover a saved file resize: grow or shrink the current screen rewind: re-edit all the files in the file argument list s: substitute on lines matching an RE script: run a shell in a screen set: set options (use ":set all" to see all options) shell: suspend editing and run a shell source: read a file of ex commands stop: suspend the edit session suspend: suspend the edit session t: copy lines elsewhere in the file [Tt]ag: edit the file containing the tag tagnext: move to the next tag tagpop: return to the previous group of tags tagprev: move to the previous tag tagtop: discard all tags tcl: run the tcl interpreter with the command undo: undo the most recent change unabbreviate: delete an abbreviation unmap: delete an input or command map v: execute a global command on lines NOT matching an RE version: display the program version information visual: enter visual (vi) mode from ex mode [Vv]isual: edit another file (from vi mode only) viusage: display vi key usage statement write: write the file wn: write the file and switch to the next file wq: write the file and exit xit: exit yank: copy lines to a cut buffer z: display different screens of the file ~: replace previous RE with previous replacement string, :