Publishers of technology books, eBooks, and videos for creative people

Home > Articles

  • Print
  • + Share This
This chapter is from the book

Searching and Replacing in vi

One of vi's better features (and advantages over pico) is that it allows you to search and replace throughout entire files. As shown in the next sections, you can just find a specific string of text (a regular expression, in Unix lingo; see Figure 4.14), or you can find the text and replace it with other text, as in Figure 4.15.

Figure 4.14

Figure 4.14 Searching for text in vi is quick and reliable.

Figure 4.15

Figure 4.15 Replacing text in vi requires a bit of arcane syntax, but you get used to it quickly.

To find a string of text in vi:

  1. vi hairyspider

    For starters, access vi and a specific file.

  2. esc.jpg/spider

    Enter command mode, then type / followed by the text you're looking for. Here, we're looking for "spider," but you may be looking for "the fly" or "wiggled and jiggled and tickled inside her." Or whatever.

  3. enter.jpg

    Press enter.jpg to find the first occurrence of the term. Type n to find the next one.

To search and replace in vi:

  1. vi hairyspider

    For starters, access vi and a specific file.

  2. esc.jpg:%s/swallowed the fly/swallowed a spider to catch the fly/ Enter esc.jpg:%s/ plus the text to find, another /, followed by the replacement text, as in Figure 4.15. Here, we replace "swallowed a fly" with "swallowed a spider to catch the fly," but perhaps you might forego the spider and simply go for some antacid.
  • + Share This
  • 🔖 Save To Your Account