With most implementations, vi is fast, small, and supports a good number
of features -- that's pretty good for an application originally designed
in 1976. A common enhancement is called vim, short for vi improved. Vim
(http://www.vim.org/ or http://vim.sourceforge.net) is fairly standard
with Linux distributions, provides a huge set of extended features, and
a much greater degree of configuration than the traditional vi. (In
fact, if you are using vi and not running vim, you should switch.) vim
maintains vi's mode of operation while adding new commands and features.
vim is not easy to learn, though. It requires a good bit of learning
before you become productive with it. This problem doesn't come with
vim. Instead, the problem learning vim comes from the underlying vi
editor. Vi is simply hard to learn.
Many users start trying to use this small, fast, and full-featured
editor, only to walk away due to the difficulty of getting up to speed.
The two main issues are the modal operations and the keyboard commands.
vi was created in an era without graphical desktop environments, so all
the commands come by typing keys on the keyboard. To separate the keys
you type to input into a document from the keys that issue commands, vi
uses modes. Typically, the Escape key exits the typing modes for
inserting and changing text from the command mode. None of this makes
for an easy user experience -- that's where cream comes in.
Enter Cream, Stage Right
Cream advertises that it takes the bitterness out of vim, hence the
name. Cream (http://cream.sourceforge.net) is technically a
configuration of vim that adds a set of friendly menus and windows, but
its main goal is to hide the modes inside a normal GUI window. Thus, new
users don't have to know that under the hood lies a modal text editor.
Cream also adds a set of menus and Windows-and MacOS-like keyboard
shortcuts.
To be fair, vim also supports the mouse, but cream goes further to aid
new users. If you are new to Linux or vi and want a quicker way to learn
vim, try cream. You can also check the excellent online vim
documentation and a handy online book written by my Teach Yourself Linux
co-author.
The Vi IMproved, available at
http://www.newriders.com/books/opl/ebooks/0735710015.html, is a vim book
by Steve Oualline. This book provides a lot of help for users new to vim
or vi. You can find more on the print version of the book at
http://www.newriders.com.