Preface .
Part I. Basic and Advanced vi
1. The vi Text Editor
A Brief Historical Perspective
Opening and Closing Files
Quitting Without Saving Edits
2. Simple Editing
vi Commands
Moving the Cursor
Simple Edits
More Ways to Insert Text
Joining Two Lines with J
Review of Basic vi Commands
3. Moving Around in a Hurry
Movement by Screens
Movement by Text Blocks
Movement by Searches
Movement by Line Number
Review of vi Motion Commands
4. Beyond the Basics
More Command Combinations
Options When Starting vi
Making Use of Buffers
Marking Your Place
Other Advanced Edits
Review of vi Buffer and Marking Commands
5. Introducing the ex Editor
ex Commands
Editing with ex
Saving and Exiting Files
Copying a File into Another File
Editing Multiple Files
6. Global Replacement
Confirming Substitutions
Context-Sensitive Replacement
Pattern-Matching Rules
Pattern-Matching Examples
A Final Look at Pattern Matching
7. Advanced Editing
Customizing vi
Executing Unix Commands
Saving Commands
Using ex Scripts
Editing Program Source Code
8. Introduction to the vi Clones
And These Are My Brothers, Darrell, Darrell, and Darrell
Multiwindow Editing
GUI Interfaces
Extended Regular Expressions
Enhanced Tags
Improved Facilities
Programming Assistance
Editor Comparison Summary
Nothing Like the Original
A Look Ahead
Part II. Vim
9. Vim (vi Improved): An Introduction
Overview
Where to Get Vim
Getting Vim for Unix and GNU/Linux
Getting Vim for Windows Environments
Getting Vim for the Macintosh Environment
Other Operating Systems
Aids and Easy Modes for New Users
Summary
10. Major Vim Improvements over vi
Built-in Help
Startup and Initialization Options
New Motion Commands
Extended Regular Expressions
Customizing the Executable
11. Multiple Windows in Vim
Initiating Multiwindow Editing
Opening Windows
Moving Around Windows (Getting Your Cursor from Here to There)..
Moving Windows Around
Resizing Windows
Buffers and Their Interaction with Windows
Playing Tag with Windows
Tabbed Editing
Closing and Quitting Windows
Summary
12. Vim Scripts
Whats Your Favorite Color (Scheme)?
Dynamic File Type Configuration Through Scripting
Some Additional Thoughts About Vim Scripting
Resources
13. Graphical Vim (gvim)
General Introduction to gvim
Customizing Scrollbars, Menus, and Toolbars
gvim in Microsoft Windows
gvim in the X Window System
GUI Options and Command Synopsis
14. Vim Enhancements for Programmers
Folding and Outlining (Outline Mode)
Auto and Smart Indenting
Keyword and Dictionary Word Completion
Tag Stacking
Syntax Highlighting
Compiling and Checking Errors with Vim
Some Final Thoughts on Vim for Writing Programs
15. Other Cool Stuff in Vim
Editing Binary Files
Digraphs: Non-ASCII Characters
Editing Files in Other Places
Navigating and Changing Directories
Backups with Vim
HTML Your Text
Whats the Difference?
Undoing Undos
Now, Where Was I?
Whats My Line (Size)?
Abbreviations of Vim Commands and Options
A Few Quickies (Not Necessarily Vim-Specific)
More Resources
Part III. Other vi Clones
16. nvi: New vi
Author and History
Important Command-Line Arguments
Online Help and Other Documentation
Initialization
Multiwindow Editing
GUI Interfaces
Extended Regular Expressions
Improvements for Editing
Programming Assistance
Interesting Features
Sources and Supported Operating Systems
17. Elvis
Author and History
Important Command-Line Arguments
Online Help and Other Documentation
Initialization
Multiwindow Editing
GUI Interfaces
Extended Regular Expressions
Improved Editing Facilities
Programming Assistance
Interesting Features
elvis Futures
Sources and Supported Operating Systems
18. vile: vi Like Emacs
Authors and History
Important Command-Line Arguments
Online Help and Other Documentation
Initialization
Multiwindow Editing
GUI Interfaces
Extended Regular Expressions
Improved Editing Facilities
Programming Assistance
Interesting Features
Sources and Supported Operating Systems
Part IV. Appendixes
A. The vi, ex, and Vim Editors
B. Setting Options
C. Problem Checklists
D. vi and the Internet
Index