
vi(1) is a screen-based ASCII text editor used by the majority of Unix/Linux users.
These WWW documents are provided so those inclined to learn and use vi(1) can easily access a comprehensive set of reference materials. These materials provide an understanding of how the basic pieces of vi add up to a powerful editing tool, and assist the experienced user in quick look-ups of obscure features.
:'a;'bg/[1-8]\.[1-9]$/s%\([1-8]\)\.\([1-9]\)% < a href="vi\1.html#\1_\2"> &</a> %
This is not a generically useful command, but I did use it in
the process of adding HTML directives to the vi user guide. And it
was worth it!
Well, many files are meant to convey information that does not require these attributes -- data files, program source files, system configuration files, and so on.
So, many times you don't need to heavily format text. When you do you often use tools that compliment vi instead of superceeding it. Traditionally UNIX users used the family of *roff utilities (nroff, troff, ditroff, groff, man pages, ...). More recently, many began using the TeX/LaTeX package. The limited What-You-See-Is-What-You-Get capabilities of vi are superfluous when using these and other similar packages. If you can get by with HTML documents you'll also be able to do just fine with only vi (An easily guessed truth -- all the documents indexed from this page were composed using vi).
Another strength of vi(1) is that it goes well with UNIX. The UNIX environment is very stream-oriented and is designed to do tasks where fancy formatting has rarely been the primary concern. As a result, vi is well suited to the UNIX environment where Regular Expressions, subprocesses and text-stream filters (e.g. sed, grep, awk, uniq, sort, cut, paste, ...) are easily invoked as a compliment to the editor. In fact, if you do not come to learn how to use vi(1) with UNIX tools, scripts and other tools you are missing many of the advantages of editing with vi(1).
Vi is likely to change slowly. If you are looking for an extensible and ever-expanding editor/user interface/??? take a look at GNU emacs with it's source code history interfaces, X11 mouse and menu interfaces, programming environment and language context features and so on. Look for NetScape and FrameMaker to keep on becoming more and more useful (my personal opinion and not an endorsement, of course). If you are willing to look a little more off the beaten path, you will find that vi-like and vi-clone Internet packages such as vim have many worth-while extensions.