How the Material Is Presented

Our philosophy is to give you a good overview of what we feel are vi survival materials for the new user. Learning a new editor, especially an editor with all the options of vi, can seem like an overwhelming task. We have made an effort to present basic concepts and commands in an easy-to-read and logical manner.

After providing the basics for vi, which are usable everywhere, we move on to cover Vim in depth. We then round out our coverage of the vi landscape by looking at nvi, elvis, and vile. The following sections describe the conventions used in this book.

Discussion of vi Commands

A picture of a keyboard button, like the one on the left, marks the main discussion of that particular keyboard command or of related commands. You will find a brief introduction to the main concept before it is broken down into task-oriented sections. We then present the appropriate command to use in each case, along with a description of the command and the proper syntax for using it.

Conventions

In syntax descriptions and examples, what you would actually type is shown in the Courier font, as are all command names. Filenames are also shown in Courier, as are program options. Variables (which you would not type literally, but would replace with an actual value when you type the command) are shown in Courier italic. Brackets indicate that a variable is optional. For example, in the syntax line:

vi [filename]

filename would be replaced by an actual filename. The brackets indicate that the vi command can be invoked without specifying a filename at all. The brackets themselves are not typed.

Certain examples show the effect of commands typed at the Unix shell prompt. In such examples, what you actually type is shown in Courier Bold, to distinguish it from the system response. For example:

$ls
ch01.xml ch02.xml ch03.xml ch04.xml

In code examples, italic indicates a comment that is not to be typed. Otherwise, italic introduces special terms and emphasizes anything that needs emphasis.

Following traditional Unix documentation convention, references of the form printf(3) refer to the online manual (accessed via the man command). This example refers to the entry for the printf() function in section 3 of the manual (you would type man 3 printf on most systems to see it).

Keystrokes

Special keystrokes are shown in a box. For example:

iWith aESC

Throughout the book, you will also find columns of vi commands and their results:

Keystrokes Results
ZZ
 "practice" [New file] 6 lines, 320 characters
 

Give the write and save command, ZZ. Your file is saved as a regular Unix file.

In the preceding example, the command ZZ is shown in the left column. In the window to the right is a line (or several lines) of the screen that show the result of the command. Cursor position is shown in reverse video. In this instance, since ZZ saves and writes the file, you see the status line shown when a file is written; the cursor position is not shown. Below the window is an explanation of the command and its result.

Sometimes vi commands are issued by pressing the CTRL key and another key simultaneously. In the text, this combination keystroke is usually written within a box (for example, CTRL-G). In code examples, it is written by preceding the name of the key with a caret (^). For example, ^G means to hold down CTRL while pressing the G key.

Problem Checklist

A problem checklist is included in those sections where you may run into some trouble. You can skim these checklists and go back to them when you actually encounter a problem. All of the problem checklists are also collected in Appendix C, for ease of reference.

Get Learning the vi and Vim Editors, 7th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.