Searching across files

Vim has two commands to help you search across files, :grep and :vimgrep:

  • :grep uses system grep, and is a great tool if you're already familiar with how grep works
  • :vimgrep is a part of Vim, and might be easier to use if you are not already familiar with grep

We'll focus on :vimgrep, since the grep tool is outside the scope of this book.

The syntax is as follows: :vimgrep <pattern> <path>. pattern could either be a string or a Vim-flavored regular expression. path will often be a wildcard; use ** as a path to search recursively (or **/*.py to restrict by filetype).

Let's try searching for a calc substring in our code base:

:vimgrep animal **/* .py

This will take us to the first match, displaying the number of matches at the bottom of the screen:

To navigate through the matches, use :cn or :cp. However, you might want to open a visual quickfix window by using :copen, as follows:

You can navigate the quickfix list with the j and k keys and jump to a match by pressing Enter. The quickfix window can be closed like any other window by typing :q or running Ctrl + w, q. You can read more about it in the Quickfix List section in Chapter 5Build, Test, and Execute.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.221.141.44