See Also

Vi

vi is a screen-oriented text editor Text editor

A text editor is software application [i] used for editing plain text [i]. ... 

 computer program written by Bill Joy Bill Joy

William Nelson Joy , commonly known as Bill Joy, co-founded Sun Microsystems [i] in 1982 [i] along ... 

 in 1976 for an early BSD Berkeley Software Distribution

Berkeley Software Distribution is the Unix [i] derivative distributed by the University of California, Berkeley [i] ... 

 release.

Discussions

  Discussion Features

   Ask a question about 'Vi'

   Start a new discussion about 'Vi'

   Answer questions about 'Vi'

   'Vi' discussion forum


Encyclopedia



vi is a screen-oriented text editor Text editor

A text editor is software application [i] used for editing plain text [i]. ... 

 computer program written by Bill Joy Bill Joy

William Nelson Joy , commonly known as Bill Joy, co-founded Sun Microsystems [i] in 1982 [i] along ... 

 in 1976 for an early BSD Berkeley Software Distribution

Berkeley Software Distribution is the Unix [i] derivative distributed by the University of California, Berkeley [i] ... 

 release.

About vi


The name vi is an initialism  and comes from the shortest unambiguous abbreviation for the command visual in ex. The command in question switches the line editor ex to visual mode.

Typically, as a matter of convenience, the same program will start up in vi or ex mode, depending on the name with which it is started.

vi is a modal editor and assigns different meanings to buttons or keystrokes depending on the active editing mode. In insert mode, text typed is inserted into the document. Pressing the escape key Esc key

The Esc key is a key labeled Esc or Escape that is used to generate the ASCII [i] Escape character [i] ... 

 while in insert mode will switch the editor to command mode, where letters correspond to cursor movements or editing functions. For example: "j" to move the cursor down a line, "k" to move up a line, "x" to delete the character at the current cursor position, and "i" to return to insert mode. Keys pressed while in command mode are not inserted into the text, which is a common cause for confusion among new users.

In command mode, multiple editing operations can be performed in a row with simple keystrokes, without having to hold down the , , or other special modifier keys. More complicated editing operations are strung together from simple primitives . For experienced users, this can lead to faster work. It also means that the user's hands never need to leave the keyboard.

Early versions of vi did not give any indication as to which mode they were in, and it is typical of users to simply press the Escape key to ensure that the editor is in command mode . Current versions of vi indicate the mode on the status line or graphically. Newer versions of vi also permit use of the PgUp, PgDn, Home, End and Del keys, provided that the terminal type has been correctly set . Graphical implementations of vi also fully support the use of a mouse and menus to access editing commands.

vi became the de facto standard Unix Unix

Unix or UNIX is a computer [i] operating system [i] originally developed in the 1960s and 1970s by ... 

 editor and a nearly undisputed hacker Hacker

A hacker is a person who creates and modifies computer software [i] and computer hardware [i], including ... 

 favorite outside of MIT Massachusetts Institute of Technology

The Massachusetts Institute of Technology, or MIT, is a private world-leading research university [i] ... 

 until the rise of Emacs Emacs

Emacs is a class of text editor [i]s, possessing an extensive set of features, that are popular with computer programmer [i]... 

 after about 1984. As of 2006 2006

2006 is a common year starting on Sunday [i] of the Gregorian calendar [i].
... 

 either vi or one of its clones can still be found on nearly all installations of Unix. The Single UNIX Specification specifies vi, so any system conforming to the Single UNIX Specification will have vi.

vi is still widely used by users of Unix variants. About half the respondents in a 1991 USENET poll preferred vi. It starts up faster than the bulkier versions of Emacs and uses less memory. Consequently, even some Emacs fans will resort to it as a mail editor and for small editing jobs. In 1999, Tim O'Reilly, founder of the eponymous computer book publisher, stated that his company sold more copies of its vi book than its emacs book .

When a "rescue floppy" is being built for restores following a hard drive crash, vi is often the editor chosen because it is compact enough to fit on a floppy, and because almost anyone performing rescue operations will be able to use it.

vi and Emacs Emacs

Emacs is a class of text editor [i]s, possessing an extensive set of features, that are popular with computer programmer [i]... 

 are classically the two sides in the editor wars.

vi trivia


  • vi was written in Evans Hall at the University of California, Berkeley University of California, Berkeley

    The University of California, Berkeley is the oldest and flagship campus of the ten-campus University of California [i] ... 

    , on a Lear-Siegler ADM3A terminal Computer terminal

    A computer terminal is an electronic or electromechanical hardware [i] device that is ... 

    . On this machine, the Escape key was where the Tab key is nowadays, thus enabling users to very efficiently switch modes.
  • An emacs Emacs

    Emacs is a class of text editor [i]s, possessing an extensive set of features, that are popular with computer programmer [i]... 

    -lovers' backronym for vi is vicious interface
  • David Hitz implemented a Turing machine Turing machine

    Turing machines are extremely basic symbol-manipulating devices which despite their simplicity can be ... 

     simulator using vi macros[ftp://ftp.uu.net/pub/text-processing/vi/macros/turing.tar.Z].
  • Internet Search Engine Snap.com created a search engine using a vi interface and commands called visearch.com

vi derivatives and clones




  • vi is a port of the classic BSD vi 3.7 to modern Unix systems. It uses ed as a codebase, which is BSD Berkeley Software Distribution

    Berkeley Software Distribution is the Unix [i] derivative distributed by the University of California, Berkeley [i] ... 

    -style free since January 2002.
  • nvi is an implementation of the ex/vi text editor originally distributed as part of the Fourth Berkeley Software Distribution. This is the version of vi that is shipped with all BSD-based open source distributions. It has many improvements over the classical vi, including command history and editing, filename completions, multiple edit buffers, multi-windowing and many more. Other than the improvements, it is more or less the same as the classical vi in terms of look and feel. It is small and fast and blends quite naturally with the Unix environment.
  • Vim "Vi IMproved" is an updated and extended modal editor, much like nvi. It is the standard version of vi on most Linux Linux

    Linux is a Unix-like [i] computer operating system [i]. ... 

     systems.
  • Elvis is a free vi clone for Unix and other operating systems.
  • Vigor Vigor

    Vigor is a clone of vi [i] for UNIX [i] that adds, as a joke, a cruel parody [i] of Clippy [i], the Microsoft Office [i] ... 

     the popular Unix editor vi with the addition of the Vigor Assistant, a deliberately irritating animated character modelled on Microsoft Office's Clippy Office Assistant

    The Office Assistant is a feature included in Microsoft Office [i] starting with Office 97, and has ... 

    .
  • vile was initially derived from an early version of Microemacs in an attempt to bring the "modern" benefits of the Emacs Emacs

    Emacs is a class of text editor [i]s, possessing an extensive set of features, that are popular with computer programmer [i]... 

     multi-window/multi-buffer editing paradigm to users more comfortable with the vi command-set.
  • bvi "Binary VI" is an editor for binary files based on the vi text editor.
  • viper-mode is a VI emulation mode for Emacs Emacs

    Emacs is a class of text editor [i]s, possessing an extensive set of features, that are popular with computer programmer [i]... 

    .
  • svicc is a small vi clone for the Commodore
  • BusyBox  includes a tiny vi clone

See also

  • List of text editors List of text editors

    The following is a list of text editor [i]s. ... 

  • Comparison of text editors
  • Editor war
  • List of Unix programs

Further reading


Oualline, Steve Vi IMproved - Vim, New Riders Publishers, 572 pp.

External links

  • original document
  • Softpanorama page about vi
  • The Register The Register

    The Register is a British [i] technology news website [i] focusing on the computer industry [i] ... 

    -