Chapter 16. vi Is Everywhere

Introduction

We’ve described many features that make vi and Vim the powerful editors they are. But vi is more than just an editor. It is a philosophy. It is a way to think about words in a different way. It lets us view text as objects. These objects, once learned, form an approach to editing far different from “point and click” and “what you see is what you get” (WYSIWYG). Text-as-objects is an interesting abstraction, one so popular that it’s rippled into other tools, some of which may surprise you. This chapter introduces some of the common instances of vi-think and some of the less common (but surprisingly useful) instances.

Improving the Command-Line Experience

Just as vi users are power users, their “power” can extend beyond text editing. For years command-line tools (terminal emulators, DOS windows, etc.) provided rudimentary command-line editing and history. More and more, open source contributions have brought dramatic improvements to command-line environments. vi is one of the more popular implementations of command-line history management for many command-line environments.

In Unix the command line is called the shell. There are many shells. Some of the most popular are sh (the original Bourne shell), Bash (the GNU Bourne-again shell), csh (the C shell),1 ksh (the Korn shell), and zsh (Z shell).

Most but not all modern shells provide vi-mode command-line editing, as we are about to see.

Sharing Multiple Shells

Warning

Before you test ...

Get Learning the vi and Vim Editors, 8th 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.