Learning the vi and Vim Editors, Seventh EditionThe authors recommend that the reader know how to:

Enter Unix commands
Change directories
List files in a directory
Create, copy and remove files
Be familiar with grep and wildcard characters

The Safari online edition of the book is free for the first 45 days and a useful companion to the hard copy. I prefer the outline numbering style of separating paragraphs and subparagraphs in the online book to the non-numbered style used in the hard copy.

Explanations and examples are built upon a file called practice that is modified using the commands being explained. Most chapters end with a summary of the salient points including effective tabular presentations where applicable.

I would like to see more information about Vim interfaces for Python and Ruby as referenced in Chapter 12.

The writing style is pleasant and relaxed thus keeping the reader's interest while navigating examples of the many steps and options available in this powerful editor. The index is 24 pages, very good for a book of 446 pages and compares very favorably with other recently used texts. However the book binding and paper quality could be better. I have another recently purchased O'Reilly book that has not withstood frequent use as well as books from other publishers.

Regardless of the above criticisms this is an excellent guide for the person willing to put forth the effort to become a power user of vi and its clones.

Errata for the book may be found at http://oreilly.com/catalog/9780596529833/errata/

Highlights of each chapter are given on the following pages.

Chapter 1 - The vi Text Editor

A few basic commands that help the newcomer through the initial frustration that accompanies learning a new application

Chapter 2 - Simple Editing

The fundamentals of how to move throughout the file do simple editing, and joining two lines with J. The end of the chapter presents a conveniently tabulated review.

Chapter 3 - Moving Around in a Hurry

Takes the user to the next level by illustrating how to move throughout the file more quickly

Movement by screens
Movement by text blocks
Movement by searches
Movement by line number

Chapter 4 - Beyond the Basics

Introduces more command combinations in tabular form at the beginning of the chapter.

  • Descriptions of additional editing facilities, with a review of the general command form
  • Additional ways to enter vi
  • Making use of buffers that store yanks and deletions
  • Marking your place in a file

Chapter 5 Introducing the ex Editor

Move around a file by using line numbers
Use ex commands to copy, move and delete blocks
Save files and parts of files
Work with multiple files (reading in text or commands, traveling between files)

Chapter 6 Global Replacement

Shows how the ex editor uses two commands, :g and :s

Chapter 7 Advanced Editing

How to set options
How to execute Unix commands from vi
How to save long sequences of commands

Chapter 8 Introduction to the vi Clones

Multiwindow editing
GUI Interfaces
Extended Regular Expressions
Enhanced Tags
Improved Facilities
Programming Assistance
Editor Comparison Summary

Chapter 9 Introduction to Vim

Getting Vim for Unix/Linux, Mac and Windows Aids for New Users

Chapter 10 Major Vim Improvements over vi

Built in help
Startup and initialization options
New motion commands
Extended regular expressions
Extended undo
Customizing the executable

Chapter 11 Multiple Windows in Vim

Initiating multiple window editing
Opening windows
Moving around in windows
Moving windows around
Resizing windows
Buffers and their interaction with windows
Tag traversal mechanisms
Tabbed editing
Closing and quitting windows

Chapter 12 - Vim Scripts

Color scheme
Dynamic File Type Configuration

Chapter 13 Graphical Vim (gvim)

Customizing Menus, Scrollbars, and Toolbars
gvim in MS Windows
gvim in the X Window system
GUI options and command synopsis a very useful table

Chapter 14 Vim Enhancements for Programmers

Outline mode
Auto and smart indenting
Keyword and Dictionary Word Completion
Tag Stacking
Syntax Highlighting
Compiling and Checking Errors with Vim

Chapter 15 Other Vim Features

Editing Binary Files
Digraphs Non ASCII characters
Remote Editing
Navigating and Changing Directories
Backups with Vim
HTML Your Text
Checking File Differences
Undoing Undos
Start at the Last Edit Place
Find the Number of Lines
Abbreviations of Vim Commands and Options

The following chapters present information about the author and history of each vi clone. Topics discussed include initialization, multiwindow editing, GUI interfaces, extended regular expressions, improved editing facilities and other features.

Chapter 16 - nvi : New vi

Chapter 17 elvis

Chapter 18 vile

Appendix A

Command line syntax
vi operations review
List of keys in command mode
vi commands
vi configuration
ex basics
ex command summary

Appendix B Setting operations

Appendix C Problem Checklist

Appendix D vi and the Internet

This describes some of the resources available to the vi enthusiast.