Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎


     vi, view, vedit - screen-oriented  (visual)  display  editor
     based on ex

     /usr/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]] [-S]
         [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]] [-S]
         [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]] [-S]
         [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg4/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg4/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg4/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg6/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg6/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...

     /usr/xpg6/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]]
         [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C]
         [+command | -c command] filename...


     The vi (visual) utility is a  display-oriented  text  editor
     based on an underlying line editor ex. It is possible to use
     the command mode of ex from within vi and to use the command
     mode of vi from within ex. The visual commands are described
     on this manual page; how to set options (like  automatically
     numbering lines and automatically starting a new output line
     when you type carriage return) and all ex line  editor  com-
     mands are described on the ex(1) manual page.

     When using vi, changes you make to the file are reflected in
     what  you  see  on your terminal screen. The position of the
     cursor on the screen indicates the position within the file.

     The view invocation is  the  same  as  vi  except  that  the
     readonly flag is set.

     The vedit invocation is intended for beginners.  It  is  the
     same  as  vi  except  that  the report flag is set to 1, the
     showmode and novice flags are set, and magic is turned  off.
     These defaults make it easier to learn how to use vi.

     The following options are supporrted:

  Invocation Options
     The following invocation options are interpreted by vi (pre-
     viously documented options are discussed under NOTES):

     - | -s                   Suppresses  all  interactive   user
                              feedback.  This is useful when pro-
                              cessing editor scripts.

     -C                       Encryption option. Same as  the  -x
                              option,  except  that  vi simulates
                              the C command of ex. The C  command
                              is like the X command of ex, except
                              that all text read in is assumed to
                              have been encrypted.

     -l                       Sets up for editing LISP programs.

     -L                       Lists the name of all  files  saved
                              as  the result of an editor or sys-
                              tem crash.

     -r filename              Edits filename after an  editor  or
                              system crash. (Recovers the version
                              of filename that was in the  buffer
                              when the crash occurred.)

     -R                       Readonly mode. The readonly flag is
                              set,      preventing     accidental
                              overwriting of the file.

     -S                       This option is used in  conjunction
                              with  the  -t tag option to tell vi
                              that  the  tags  file  can  not  be
                              sorted  and  that,  if  the  binary
                              search (which relies  on  a  sorted
                              tags  file)  for  tag fails to find
                              it, the much slower  linear  search
                              should  also  be  done.  Since  the
                              linear search  is  slow,  users  of
                              large tags files should ensure that
                              the tags files  are  sorted  rather
                              than  use  this  flag.  Creation of
                              tags files normally produces sorted
                              tags  files.  See ctags(1) for more
                              information on tags files.

     -t tag                   Edits the file containing  tag  and
                              position  the editor at its defini-
                              tion. It is  an  error  to  specify
                              more than one -t option.

     -v                       Starts up in display editing state,
                              using  vi. You can achieve the same
                              effect by  typing  the  vi  command

     -V                       Verbose. When ex commands are  read
                              by  means  of  standard  input, the
                              input is echoed to standard  error.
                              This  can be useful when processing
                              ex commands within shell scripts.

     -wn                      Sets the default window size to  n.
                              This  is useful when using the edi-
                              tor over a slow speed line.

     -x                       Encryption option.  When  used,  vi
                              simulates  the  X command of ex and
                              prompts the user for  a  key.  This
                              key  is used to encrypt and decrypt
                              text using  the  algorithm  of  the
                              crypt  command. The X command makes
                              an  educated  guess  to   determine
                              whether  text  read in is encrypted
                              or not. The temporary  buffer  file
                              is    encrypted   also,   using   a
                              transformed  version  of  the   key
                              typed  in  for the -x option. If an
                              empty encryption   key  is  entered
                              (that  is,  if  the  return  key is
                              pressed right  after  the  prompt),
                              the  file is not encrypted. This is
                              a  good  way  to  decrypt  a   file
                              erroneously  encrypted  with a mis-
                              typed encryption  key,  such  as  a
                              backspace or undo key.

     -command | -c command    Begins  editing  by  executing  the
                              specified editor command (usually a
                              search or positioning command).

  /usr/xpg4/bin/vi and /usr/xpg6/bin/vi
     If both the -t tag and the -c command options are given, the
     -t  tag optionis processed first. That is, the file contain-
     ing tag is selected by -t and then the command is executed.

     The following operands are supported:

     filename    A file to be edited.

     The vi command modes are summarized in this section.

  vi Modes
     Command      Normal and initial mode. Other modes return  to
                  command  mode  upon completion. ESC (escape) is
                  used to cancel a partial command.

     Input        Entered  by  setting  any  of   the   following

                    a A i I o O c C s S R

                  Arbitrary text can then be entered. Input  mode
                  is  normally terminated with the ESC character,
                  or, abnormally, with an interrupt.

     Last line    Reading input for : / ? or !. Terminate by typ-
                  ing  a  carriage  return.  An interrupt cancels

  Sample Commands
     In the descriptions, CR stands for carriage return  and  ESC
     stands for the escape key.

     <-, ->        arrow keys move the cursor
     h j k l       same as arrow keys

     itextESC      insert text

     cwnewESC      change word to new

     easESC        pluralize word (end of word; append s;  escape
                   from input state)

     x             delete a character

     dw            delete a word

     dd            delete a line

     3dd           delete 3 lines

     u             undo previous change

     ZZ            exit vi, saving changes

     :q!CR         quit, discarding changes

     /textCR       search for text

     ^U ^D         scroll up or down

     :cmdCR        any ex or ed command

  Counts Before vi Commands
     Numbers can be typed as a prefix to some commands. They  are
     interpreted in one of these ways:

     line/column number    z  G  |

     scroll amount         ^D  ^U

     repeat effect         most of the rest

  Interrupting, Canceling
     ESC    end insert or incomplete command

     DEL    (delete or rubout) interrupts

  File Manipulation
     ZZ             if file modified, write and exit;  otherwise,

     :wCR           write back changes

     :w!CR          forced write, if  permission  originally  not

     :qCR           quit

     :q!CR          quit, discard changes

     :e nameCR      edit file name

     :e!CR          reedit, discard changes

     :e + nameCR    edit, starting at end

     :e +nCR        edit, starting at line n

     :e #CR         edit alternate file

     :e! #CR        edit alternate file, discard changes

     :w nameCR      write file name

     :w! nameCR     overwrite file name

     :shCR          run shell, then return

     :!cmdCR        run cmd, then return

     :nCR           edit next file in arglist

     :n argsCR      specify new arglist

     ^G             show current file and line

     :ta tagCR      position cursor to tag

     In general, any ex or ed command (such as substitute or glo-
     bal)  can  be  typed,  preceded by a colon and followed by a
     carriage return.

  Positioning Within a File
     F             forward screen

     ^B            backward screen

     ^D            scroll down half screen

     ^U            scroll up half screen

     nG            go to the beginning of the specified line (end
                   default), where n is a line number

     /pat          next line matching pat

     ?pat          previous line matching pat

     n             repeat last / or ? command

     N             reverse last / or ? command

     /pat/+n       nth line after pat

     ?pat?-n       nth line before pat

     ]]            next section/function

     [[            previous section/function

     (             beginning of sentence

     )             end of sentence

     {             beginning of paragraph

     }             end of paragraph

     %             find matching ( ) or { }

  Adjusting the Screen
     ^L              clear and redraw window

     ^R              clear and redraw window if ^L is -> key

     zCR             redraw screen with current line  at  top  of

     z-CR            redraw screen with current line at bottom of

     z.CR            redraw screen with current line at center of

     /pat/z-CR       move pat line to bottom of window

     zn.CR           use n-line window

     ^E              scroll window down one line

     ^Y              scroll window up one line

  Marking and Returning
     ``          move cursor to previous context

     a'a'        move cursor to first non-white space in line

     mx          mark current position with the ASCII  lower-case
                 letter x

     `x          move cursor to mark x

     a'x         move cursor to first  non-white  space  in  line
                 marked by x

  Line Positioning
     H             top line on screen

     L             last line on screen

     M             middle line on screen

     +             next line, at first non-white space character

     -             previous line, at first non-white space  char-

     CR            return, same as +

     down-arrow    next line, same column
     or j

     up-arrow      previous line, same column
     or k

  Character Positioning
     ^            first non-white space character

     0            beginning of line

     $            end of line

     l or ->      forward

     h or <-      backward

     ^H           same as <- (backspace)

     space        same as -> (space bar)

     fx           find next x

     Fx           find previous x

     tx           move to character following the next x

     Tx           move to character following the previous x

     ;            repeat last f, F, t, or T

     ,            repeat inverse of last f, F, t, or T

     n|           move to column n

     %            find matching ( ) or { }

  Words, Sentences, Paragraphs
     w    forward a word

     b    back a word

     e    end of word

     )    to next sentence

     }    to next paragraph

     (    back a sentence

     {    back a paragraph

     W    forward a blank-delimited word

     B    back a blank-delimited word

     E    end of a blank-delimited word

  Corrections During Insert
     ^H              erase last character (backspace)

     ^W              erase last word

     erase           your erase character, same as ^H (backspace)

     kill            your kill  character,  erase  this  line  of

     \               quotes your erase and kill characters

     ESC             ends insertion, back to command mode

     Control-C       interrupt, suspends insert mode

     ^D              backtab one character; reset left margin  of

     ^^D             caret (^) followed by control-d (^D);  back-
                     tab  to beginning of line; do not reset left
                     margin of autoindent

     0^D             backtab to beginning  of  line;  reset  left
                     margin of autoindent

     ^V              quote non-printable character

  Insert and Replace
     a           append after cursor

     A           append at end of line

     i           insert before cursor

     I           insert before first non-blank

     o           open line below

     O           open line above

     rx          replace single character with x

     RtextESC    replace characters

     Operators are followed by a cursor  motion  and  affect  all
     text  that  would have been moved over. For example, since w
     moves over a word, dw deletes the word that would  be  moved
     over.  Double  the operator, for example dd, to affect whole

     d    delete

     c    change

     y    yank lines to buffer

     <    left shift

     >    right shift

     !    filter through command

  Miscellaneous Operations
     C    change rest of line (c$)

     D    delete rest of line (d$)

     s    substitute characters (cl)

     S    substitute lines (cc)

     J    join lines

     x    delete characters (dl)

     X    delete characters before cursor dh)

     Y    yank lines (yy)

  Yank and Put
     Put inserts the text most recently deleted or  yanked;  how-
     ever,  if  a  buffer  is  named  (using the ASCII lower-case
     letters a - z), the text in that buffer is put instead.

     3yy    yank 3 lines

     3yl    yank 3 characters

     p      put back text after cursor

     P      put back text before cursor

     "xp    put from buffer x

     "xy    yank to buffer x

     "xd    delete into buffer x

  Undo, Redo, Retrieve
     u      undo last change

     U      restore current line

     .      repeat last change

     "dp    retrieve d'th last delete

     See largefile(5) for the description of the behavior  of  vi
     and  view when encountering files greater than or equal to 2
     Gbyte ( 2^31 bytes).

     See environ(5) for descriptions of the following environment
     variables  that  affect  the  execution of vi: LANG, LC_ALL,
     SHELL, and TERM.

     COLUMNS    Override the  system-selected  horizontal  screen

     EXINIT     Determine a list of ex commands that are executed
                on  editor  start-up,  before  reading  the first
                file. The list can contain multiple  commands  by
                separating them using a vertical-line (|) charac-

     LINES      Override  the  system-selected  vertical   screen
                size,  used as the number of lines in a screenful
                and the vertical screen size in visual mode.


         default directory where temporary work files are placed;
         it  can  be  changed using the directory option (see the
         ex(1) command)


         compiled terminal description database


         subset of compiled terminal description database

     See attributes(5) for descriptions of the  following  attri-

  /usr/bin/vi, /usr/bin/view, /usr/bin/vedit
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWcsu                     |
    | CSI                         | Not enabled                 |

  /usr/xpg4/bin/vi, /usr/xpg4/bin/view, /usr/xpg4/bin/vedit

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWxcu4                    |
    | CSI                         | Enabled                     |
    | Interface Stability         | Standard                    |

  /usr/xpg6/bin/vi, /usr/xpg6/bin/view, /usr/xpg6/bin/vedit
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWxcu6                    |
    | CSI                         | Enabled                     |
    | Interface Stability         | Standard                    |

     intro(1), ctags(1), ed(1),  edit(1),  ex(1),  attributes(5),
     environ(5), largefile(5), standards(5)

     vi and ex were developed by The  University  of  California,
     Berkeley  California,  Computer Science Division, Department
     of Electrical Engineering and Computer Science.

     Two options, although they continue to  be  supported,  have
     been  replaced  in  the documentation by options that follow
     the Command Syntax Standard (see intro(1)).   An  -r  option
     that  is  not  followed  with  an  option-argument  has been
     replaced by -L and +command has been replaced by -c command.

     The message file too large to recover with -r option,  which
     is  seen  when a file is loaded, indicates that the file can
     be edited and saved successfully, but if the editing session
     is lost, recovery of the file with the -r option is not pos-

     The editing environment defaults  to  certain  configuration
     options.  When  an editing session is initiated, vi attempts
     to read the EXINIT environment variable. If it  exists,  the
     editor  uses  the  values  defined  in EXINIT; otherwise the
     values set in $HOME/.exrc are used. If $HOME/.exrc does  not
     exist, the default values are used.

     To use a copy of .exrc  located  in  the  current  directory
     other   than  $HOME,  set  the  exrc  option  in  EXINIT  or
     $HOME/.exrc. Options set in EXINIT can be turned  off  in  a
     local .exrc only if exrc is set in EXINIT or $HOME/.exrc. In
     order to be used, .exrc in $HOME or  the  current  directory
     must fulfill these conditions:

         o    It must exist.

         o    It must be owned by the same  userid  as  the  real
              userid of the process, or the process has appropri-
              ate privileges.

         o    It is not writable by anyone other than the owner.

     Tampering with  entries  in  /usr/share/lib/terminfo/?/*  or
     /usr/share/lib/terminfo/?/* (for example, changing or remov-
     ing an entry) can affect programs such as vi that expect the
     entry to be present and correct. In particular, removing the
     "dumb" terminal can cause unexpected problems.

     Software tabs using  ^T  work  only  immediately  after  the

     Left and right shifts on intelligent terminals do  not  make
     use  of insert and delete character operations in the termi-

     Loading an alternate malloc() library using the  environment
     variable LD_PRELOAD can cause problems for /usr/bin/vi.

     The vi utility currently has the following limitations:

         1.   Lines, including the  trailing  NEWLINE  character,
              can contain no more than 4096 bytes.

              If a  longer  line  is  found,  Line  too  long  is
              displayed in the status line.

         2.   The editor's temporary work file can be  no  larger
              than 128Mb.

              If a larger temporary file is needed, Tmp file  too
              large is displayed in the status line.

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.