Expand All
Welcome to Nova!
Projects
Editor
Terminals
Previews
Git
Tasks
Debugging
Remote Files
Extensions
Appendix: Settings
FAQs
Support

Find Sidebar

Perform search-and-replace operations across your project.

Using the Find Sidebar

The Find Sidebar icon Find Sidebar allows you to perform searches for a term across your entire project, as well as replace all instances of your search term in multiple files at once. It can be filtered to search and replace only the contents of particular files.

To perform a search operation, simply enter your query in the Find field and click Find. Results will appear in a list in the sidebar. Each result will display the filename in which it was found, and an excerpt of the document to provide context. The Expand All icon and Collapse All icon controls above the results list can be used to expand or collapse all results.

The Find Sidebar in Nova.

To replace all instances of a term in the results, enter the desired replacement term in the Replace field and click Replace All. All found instances of the term in the Find field will be replaced with the value of the Replace field.

NOTE: When searching remote projects, the Find Sidebar will only find results within files that are currently open. Nova cannot search the contents of remote servers.

Wildcards

In addition to simply entering text in the Find and Replace fields, Nova also supports using Wildcards. Wildcards are special tokens you can insert into queries to search for any characters matching particular patterns, such as digits, whitespace, or word characters. Click the Wildcard icon Wildcard icon on the left side of the Find or Replace fields to insert a Wildcard.

The Wildcard menu.

Wildcards can be mixed with regular search queries. For instance, say a CSS document defines colors by the name --color1, --color2, and so on. You can perform a search for --color and the # Digits Wildcard to find all instances of these variables in a document.

Using a Wildcard to find all instances of a pattern.

The available Wildcard tokens are:

NOTE: The only supported Wildcards in the Replace field are Tabs and Line Breaks.

Search History

At the bottom of the Find field’s Wildcard menu, you’ll find your search history. You can quickly reuse previous recent Find queries from here. Click Clear Recent Patterns to clear your search history.

Search Scopes

The Find Sidebar supports a few different configuration options for limiting the scope of your search.

Select a Folder: Click the Project button above the Find field to select a particular folder to limit your search to. You can choose to limit the search to a particular folder in your project, or even select a folder outside of your project’s root folder entirely.

Selecting a folder to search within.

Matching: Between the Find and Replace fields, you can choose whether the search should match any results that contain the query, completely match the word in the query, or only match the beginning or end of a particular word. Nova can also treat the query as a regular expression, and find results matching the regex pattern you provide.

Selecting criteria for results to match.

To the right of the Matching menu, you’ll find three additional options:

The dropdown menu for searching hidden or ignored files.
The dropdown menu for searching hidden or ignored files.

Filters

Click the disclosure triangle next to Filters icon Filters to reveal additional filtering options.

Revealing the Filters section.

The Matching patterns field allows you to enter glob patterns, which can be super handy for easily limiting your search to certain directories or file extensions.

For more advanced filtering…

Custom Filters

Nova also allows you to create, save, and combine custom filters to use in the Find Sidebar. Custom filters can consist of multiple rules - for instance, you can create a filter that only searches .js files in a certain directory, or only files that have been modified since your last Git commit.

To create a custom filter, click the Filters icon Edit button.

Editing custom filters.
Editing custom filters.

You can create custom filters that filter files by criteria including:

For instance, you could use these rules to create a search filter to limit your search only to .js files that have uncommitted Git changes:

This rule restricts the search to files that are both .js files AND have uncommitted changes.
This rule restricts the search to files that are both .js files AND have uncommitted changes.

Rules can be either included in results or excluded from the scope of a search. You can also choose to only include results that match all of a set of rules. For instance, the above rule for JS files will ensure results are limited only to files that are both .js files and have Git changes.

Selecting Including rather than Only including for this rule would mean that the search returns all .js files regardless of Git status, and all changed files regardless of extension.

This rule restricts the search to files that are either .js files, OR have uncommitted changes.
This rule restricts the search to files that are either .js files, OR have uncommitted changes.

Once you’ve configured custom filters, you can enable or disable them from the Filters icon Filters section in the Find Sidebar. Filters will be grouped by whether results will match all the rules in that filter, or if they only need to match one or more of the filter’s rules.

Selecting a folder to search within.

To put this in boolean logic terms, imagine you have two “Including” filters, two “Only including” filters, and two “Excluding” filters. Nova will scope the search to files matching the following logic:

(include1 || include2) && (onlyInclude1 && onlyInclude2 && !exclude1 && !exclude2)

The Find Pasteboard

Like many native Mac apps, Nova’s Find fields make use of a macOS system feature known as the Find Pasteboard. This allows the contents of Nova’s Find fields to be shared with other apps on your Mac. For instance, the Find query you use in Safari or TextEdit’s Find bar will appear automatically in Nova’s Find Sidebar as well, and vice versa.

If you don’t want this behavior, it can be disabled in Nova’s Settings > Workspace > Use Find Pasteboard.