ARCHIVED: In vi, how do I go to a particular line or word in a file?

This content has been archived, and is no longer maintained by Indiana University. Information here may no longer be accurate, and links may no longer be available or reliable.

You can go to a particular line or word in a file using vi in several ways:

  • To make vi start at a particular line in a file, add +line_num to the command you use to start vi. Replace line_num with the line number, for example:
      vi +36 foo.c
  • If you're already in vi, you can use the goto command. To do this, press Esc, type the line number, and then press Shift-g. If you press Esc and then Shift-g without specifying a line number, it will take you to the last line in the file.
  • You can also use the ex command line to go to a line. (For information about the ex mode, see Use the vi text editor) For instance, if you wanted to go to line 14, you could press Esc and then enter:
      :14
  • To search forward for some text, use the / (forward slash) command. Press Esc and then enter /pattern, replacing pattern with the text for which you want to search forward. For example, to find every instance of the word "blimp", enter:
      /blimp
    To look for the next occurrence after the first, either press n or press / again and then press Enter. To go back to a previous occurrence, press Shift-n. To search backwards in a file, use the ? command.
  • To see what line you're on at any time, press Ctrl-Shift-g. To number all lines, press Esc and enter:
      :set number

At Indiana University, for personal or departmental Linux or Unix systems support, see Get help for Linux or Unix at IU.

Related documents

This is document adxw in the Knowledge Base.
Last modified on 2018-01-18 09:31:34.