In vi, how do I go to a particular line or word in a file?
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_numto the command you use to start vi. Replace
line_numwith the line number, for example: vi +36 foo.c
- If you're already in vi, you can use the goto command. To do
Esc, type the line number, and then press
Shift-g. If you press
Shift-gwithout 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 How do I use the vi text editor?) For instance, if you wanted to go to line 14, you could
Escand then enter: :14
- To search forward for some text, use the
/(forward slash) command. Press
Escand then enter
patternwith 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
/again and then press
Enter. To go back to a previous occurrence, press
Shift-n. To search backwards in a file, use the
- To see what line you're on at any time, press
Ctrl-Shift-g. To number all lines, press
Escand enter: :set number
At Indiana University, for personal or departmental Linux or Unix systems support, see At IU, how do I get support for Linux or Unix?
Last modified on August 22, 2008.