VI(1)

NAME
vi - screen oriented (visual) display editor based on ex

SYNOPSIS
vi [ -R ] [ -t tag ] [ -r ] [ +command ] [ -l ] [ -wn ] name ...

DESCRIPTION
Vi (visual) is a display oriented text editor based on ex(1). Ex and vi run the same code; it is possible to get to the command mode of ex from within vi and vice-versa.

The Vi Quick Reference card and the Introduction to Display Editing with Vi provide full details on using vi.

OPTIONS

-l  Set up for editing LISP programs.

-r  Recover the named files after a crash.

-R  Edit files in read only state. This has the same effect as the view command.

-t tag
    Edit the file containing tag. There must be a tags database in the directory, built by ctags(1), that contains a reference to tag.

-wn Set the default window to n lines.

+command
    Start the editing session by executing command.

FILES
See ex(1).

SEE ALSO
ctags(1), ex(1), edit(1),
 ``Vi Quick Reference'' card, ``An Introduction to Display Editing with Vi''.

AUTHOR
William Joy
Mark Horton added macros to visual mode and is maintaining version 3

BUGS
Software tabs using ^T work only immediately after the autoindent.

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. The :map #n str command for mapping str to function key n does not work as documented if the standard Archimedes keyboard is being used. The #n argument is translated into a character sequence which does not correspond to the characters generated by the Archimedes keyboard function keys. To map strings to function keys the user must type :map #fn str where n is between 1 and 12. Similarly, the function key can be unmapped by typing :unmap #fn.