#

    .----------------------.-----------------------.-----------------------------.
    | VISUAL MOVEMENT CMDS | VISUAL EDIT CMDS      | EX COMMANDS [2]             |
    | h    Move left       | i    Insert           | :q!      QUIT, NO SAVE      |
    | j    Move down       | a    Append           | :x       SAVE & QUIT        |
    | k    Move up         | o    Open line after  | :qa      Quit all windows   |
    | l    Move right      | O    Open line before | :h topic Help               |
    | xxxG Go to line xxx  | R    Replace          | :w file  Write this file    |
    | /xxx Search forward  | x    Delete char      | :n       Edit next file     |
    | ?xxx Search backward | X    Delete prev char | :e file  Edit other file    |
    | n    Repeat search   | p    Paste after [3]  | :se ...  Set/show options   |
    |----------------------| P    Paste before [3] | :lp      Print              |
    | VISUAL WINDOW CMDS   | u    Undo             | :ta name Look up a tag      |
    | ^Ws  Split window    |-----------------------| :mak     Compile, find error|
    | ^W^W Go to next win  | VISUAL OPERATORS [4]  | :er      Find next error    |
    | ^Wq  SAVE & QUIT     | <    Shift left       |-----------------------------|
    | ^Wd  Toggle display  | >    Shift right      | OPTIONS [6]                 |
    |----------------------| =    Adjust via ep [5]| readeol    File type        |
    |VISUAL MISCELLANY     | !xxx Filter thru xxx  | bufdisplay How to display   |
    | ZZ   SAVE & QUIT     | c    Change           | tabstop    Width of tab char|
    | ^L   Refresh screen  | d    Delete           | shiftwidth For < > operators|
    | :    Run 1 ex command| y    Yank             | inputtab   Role of <tab> key|
    | Q    Run many ex cmds|-----------------------| magic      Searching syntax |
    | K    Look up word [7]| VISUAL SELECTIONS [8] | ruler      Show line/columns|
    | Esc  Cancel command  | v    Select chars     | showmode   Show input state |
    | ^G   Show file info  | V    Select lines     | lptype     Printer type     |
    | .    Repeat change   | ^V   Select rectangle | lpout      Printer port     |
    ^----------------------^-----------------------^-----------------------------^

NOTES:

1. This is not a complete list of commands and options. I just tried to fit the most interesting and useful items in the smallest possible space. Control characters are represented as a caret and a letter; e.g., ^X means <Control-X>.
2. All ex command begin with a ':' keystroke, and end with a carriage return. Try :help ex for more information.
3. Most commands which delete or change text will save the old text in a cut buffer before making the change. The `p` and `P` commands copy text from the cut buffer back into the file.
4. Operator commands are normally followed by a movement command; the operator then acts on the text between the cursor's original position, and the position that the movement command would move it to. For example, "d24G" deletes all lines between the current line and line 24. Alternatively, you could use a VISUAL SELECTION command and some movement commands to highlight text, and then hit the operator to act on that text.
5. The `=` operator sends text through an external filter program, named by the equalprg option.
6. Options are accessed via the :set command.
7. The `K` command runs the program named by the keywordprg option; as an argument, it passes whatever word the cursor is on. This can provide convenient access to an on-line manual.
8. The visual selection commands highlight text; you can then hit an operator command to act on it, or hit the <Esc> key to cancel.