Become a fan of h2g2
VI is the visual interface for EX, a line editor originally written for UNIX. The close link between these two programs is more useful than one might think; because, if the bad gets worse, VI will switch into EX-mode when your terminal settings are broken so badly that only EX can still work. This means that if your UNIX terminal breaks down because of a bad configuration, you will be able to 'kludge' the configuration files to get the usual display facilities back.
William Joy, the author of VI, provides the following description in An Introduction to Display Editing with Vi:
VI (visual) is a display oriented interactive. When using VI, the screen of your terminal acts as a window into the file which you are editing. Changes which you make to the file are reflected in what you see.
Why Learn to Use VI?
Like many powerful tools, VI is somewhat difficult to learn, if you want to get all the power out of it; although, it is quite easy to learn how to type text, save it, or execute simple editing tasks. If you have complex editing to do, VI can be the solution to your problems.
VI can be configured to suit your needs. You like indentation in your program files? No problem, you can set how much each block has to be indented; and you can even indent a group of lines with one command only. You can also define macros to complete your typing, which comes in very handy when you have to close all these HTML tags.
VI has a very complete set of possibilities for search and replace actions.
VI is present in nearly every operating system, and doesn't need long customization before you can get to work with it.