Vi


 * i edit befor cursor
 * a edit after cursor
 * o edit new line befor cursor
 * O edit new line after cursor
 * r replace char
 * cw change word
 * dw delete word
 * x delete
 * 7x dlete 7 chars
 * dd delete line
 * w write file
 * wq write quit
 * q! force quit
 * [Ctrl]+ ZZ quit writing if needed

Use / [string] to search ( n for next) Use [Ctrl+V] to enter escape codes Ie. [Ctrl+V] [backspace] makes a ^H (ie to use in .profile when you do a stty erase ^H)

Character h, j, k, l Left, down, up, right Text w, W, b, B Forward, backward by word e, E End of word ), ( Beginning of next, previous sentence }, { Beginning of next, previous paragraph ]], [[ Beginning of next, previous section Lines 0, $ First, last position of current line ^ First character of current line (ignore spaces) +, - First character of next, previous line n| Column n of current line H Top line of screen M Middle line of screen L Last line of screen nH n (number) of lines after top line nL n (number) of lines before last line Screens [CTRL-F], [CTRL-B] Scroll forward, backward one screen [CTRL-D] [CTRL-U] Scroll down, up one-half screen [CTRL-E] [CTRL-Y] Show one more line at bottom, top of window z [RETURN] Reposition line with cursor: to top of screen z. Reposition line with cursor: to middle of screen z- Reposition line with cursor: to bottom of screen [CTRL-L] [CTRL-R] Redraw screen (without scrolling) Searches /pattern Search forward for pattern ?pattern Search backward for pattern n, N Repeat last search in same, opposite direction /, ? Repeat previous search forward, backward fx Search forward for character x in current line Fx Search backward for character x in current line tx Search forward for character before x in current line Tx Search backward for character after x in current line ' Repeat previous current-line search in opposite direction Line number [CTRL-G] Display current line number nG Move to line number n G Move to last line in file
 * Repeat previous current-line search
 * n Move to line number n

Marking position mx Mark current position as x `x Move cursor to x `` Return to previous mark or context 'x Move to beginning of line containing mark x '' Return to beginning of line containing previous mark