VI(1)

NAME
vi, view, vedit - visual display editor based on ex(1)

SYNOPSIS
vi [ -ClLRVx ] [ -c command ] [ -r filename ] [ -t tag ] [ -wnnn ] [ +command ] filename...

view...

vedit...

DESCRIPTION

vi (visual) is a display oriented text editor based on ex(1). ex and vi are, in fact, the same text editor; it is possible to get to the command mode of ex from within vi and vice-versa.

view runs vi with the readonly flag set. With view, you can browse through files interactively without making any changes.

vedit runs vi with the report flag set to 1, the showmode and novice flags set, and the magic flag turned off. These default settings are intended to make easier for beginners to learn vi.

OPTIONS

-C  Encryption option; the same as the -x option, except that all input text is assumed to have already been encrypted. This guarantees decryption in the cases where the -x option incorrectly determines that the input file is not already encrypted (this is extremely rare, and will only occur in conjunction with the use of files containing non-ASCII text).

-l  Set up for editing LISP programs.

-L  List the names of all files saved as the result of an editor or system crash.

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

-V  Verbose. Any non-tty input will be echoed on standard error.

-x  Prompt for a key to be used in encrypting the file being edited. When used in conjunction with a pre-existing file, ex will make an educated guess to determine whether or not the input text file is already encrypted.

-c command
    Start the editing session by executing the editor command command. If command contains spaces, it must be surrounded by double quotess, see EXAMPLES below.

-r filename
    Recover the named files after a crash.

-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.

+command
    Start the editing session by executing command. This is identical to the -c option.

ENVIRONMENT

The editor recognizes the environment variable EXINIT as a command (or list of commands separated by | characters) to run when it starts up. If this variable is undefined, the editor checks for startup commands in the file ~/.exrc file, which you must own. However, if there is a .exrc owned by you in the current directory, the editor takes its startup commands from this file — overriding both the file in your home directory and the environment variable.

The environment variables LC_CTYPE, LANG, and LC_default control the character classification throughout vi. On entry to vi, these environment variables are checked in the following order: LC_CTYPE, LANG, and LC_default. When a valid value is found, remaining environment variables for character classification are ignored. For example, a new setting for LANG does not override the current valid character classification rules of LC_CTYPE. When none of the values is valid, the shell character classification defaults to the POSIX.1 “C” locale. In the “C” locale, all 8-bit characters are escaped into an octal representation.

EXAMPLES

The following command:

    example% vi -c ":r test" tested

will read in the file test at the end of the tested file.

SEE ALSO
ctags(1), ex(1)

BUGS

Software TAB characters using CTRL-T work only immediately after the autoindent.

SHIFT-left and SHIFT-right on intelligent terminals do not 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. When insert mode pushes an existing word through the margin and onto the next line without a break, the line will not be broken.

Insert/delete within a line can be slow if TAB characters 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.

When using the -r option to recover a file, you must write the recovered text before quitting or you will lose it. vi does not prevent you from exiting without writing unless you make changes.

vi does not adjust when the SunView window in which it runs is resized.

RESTRICTIONS

The encryption facilities of vi are not available on software shipped outside the U.S.