The Vi Quick Reference card and the Introduction to Display Editing with Vi provide full details on using vi.
The vi editor has been modified to support several new commands. The first command is :pf. This command prints the current file stack. Files are pushed onto the file stack whenever the editor changes to a new file (e.g. the :e or :ta commands).
The second command is :e^. This command pops a file off the file stack and edits it. The file stack mechanism is useful to "tag" down a call chain and then pop back up.
The third command is :pp. This command pops a file off the file stack, but continues editing the current file.
The :e@ command exchanges the top two elements of the file stack and edits the new top.
The environment variable TAGS defines a colon separated list of directories to search for tags files.
Left and right shifts on intelligent terminals don't make use of insert and delete character operations in the terminal.
The wrapmargin option can be fooled since it looks at output columns when blanks are typed. If a long word passes through the margin and onto the next line without a break, then the line won't be broken.
Insert/delete within a line can be slow if tabs are present on intelligent terminals, since the terminals need help in doing this correctly.
Saving text on deletes in the named buffers is somewhat inefficient.
The source command does not work when executed as :source; there is no way to use the :append, :change, and :insert commands, since it is not possible to give more than one line of input to a : escape. To use these on a :global you must Q to ex command mode, execute them, and then reenter the screen editor with vi or open.