VI Editor Commands
Switch to Text or Insert mode:
| Open line above cursor  | O | ||||||
| Insert text at beginning of line | I | Insert text at cursor | i | Insert text after cursor | a | Append text at line end | A | 
| Open line below cursor | o | 
Switch to Command mode:
| Switch to command mode | <ESC> | 
Cursor Movement (command mode):
| Scroll Backward 1 screen | <ctrl>b | ||||
| Scroll Up 1/2 screen | <ctrl>u | ||||
| Go to beginning of line | 0 | Go to line n | nG | Go to end of line | $ | 
| Scroll Down 1/2 screen | <ctrl>d | Go to line number ## | :## | ||
| Scroll Forward 1 screen | <ctrl>f | ||||
| Go to last line | G | ||||
| Scroll by sentence f/b | ( ) | ||||
| Scroll by word f/b | w b | Move left, down, up, right | h j k l | Left 6 chars | 6h | 
| Directional Movement | Arrow Keys | Go to line #6 | 6G | 
Deleting text (command mode):
| Change word  | cw | Replace one character | r | ||
| Delete word | dw | Delete text at cursor | x | Delete entire line (to buffer) | dd | 
| Delete current to end of line | D | Delete 5 lines (to buffer) | 5dd | ||
| Delete lines 5-10 | :5,10d | 
Editing (command mode):
| Copy line | yy | Copy n lines | nyy | Copy lines 1-2/paste after 3 | :1,2t 3 | 
| Paste above current line | P | ||||
| Paste below current line | p | Move lines 4-5/paste after 6 | :4,5m 6 | ||
| Join previous line | J | ||||
| Search backward for string | ?string | Search forward for string | /string | Find next string occurrence | n | 
| % (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all) | :%s/oldstring/newstring/cg | Ignore case during search | :set ic | ||
| Repeat last command | . | Undo previous command | u | Undo all changes to line | U | 
Save and Quit (command mode):
| Save changes to buffer | :w | Save changes and quit vi | :wq | Save file to new file | :w file | 
| Quit without saving | :q! | Save lines to new file | :10,15w file | 
"vi was written for a world that doesn't exist anymore - unless you decide to get a satellite phone and use it to connect to the Net at 2400 baud" - Bill Joy
Related commands:
    
    Book - Learning the vi Editor (6th Edition) 
    Full list of VI commands 
    vi Tutorial
    nano-editor.org - simple text editor 
  Pico - short for Pine Composer
  Gnotepad.sourceforge.net