Find a file by name
- Press Shift twice to open Quick Open. You can also press Cmd+Shift+P on macOS or Ctrl+Shift+P on Windows and Linux, then remove the leading
>from the input. - Type part of the filename, such as
README. - Check the path beside each result, especially when several folders contain the same name.
- Use the arrow keys and Enter, or select the result, to open it. If another panel remains in view, select the new file tab.
> searches commands; a leading @ searches projects. Remove those prefixes when looking for a file.
Quick Open and text search do not use the same filters as the file tree. A file hidden from the explorer can still appear in search. Explorer visibility is not an access restriction.
Choose the folder to search
Text search follows the selection in Browse Files:
For example, select
walks to search route notes inside that folder. To search from the project root, select a file directly under the root, such as the project’s README.md, before switching to Search Files. Merely opening the search panel does not reset a previous folder selection.
Search reads saved files on the project’s device. Save edits you want included, using Cmd+S or Ctrl+S, and resolve any save error first. Unsaved editor text is not added to the search results.
Search inside files
1
Open search
Open Files in Zen’s right panel. Use Browse Files to select the search folder, then choose the magnifying-glass control labeled Search Files.
2
Enter the text
Type into Search and wait for the result list to update. For a first search, use a simple word such as
Moss and leave regular expressions off.3
Narrow the matches
Choose the text options and file filters below. Review the displayed file paths after changing them.
4
Read a result
Expand a file’s result group if needed, then select a matching line. Check that the document has loaded before editing. See the recovery advice below if it remains on Loading.
Text options
Case and whole-word matching can be enabled together. Turn regular expressions off when you want an ordinary word search. An invalid expression can produce no results without a useful error, so simplify the query when troubleshooting.
File filters
Expand files to include or files to exclude to enter a pattern.- In files to include, use one pattern, such as
*.txt, or a filename such asroutes.txt. Do not enter*.txt, *.mdexpecting two file types to be combined. - In files to exclude, use a pattern such as
**/archive/**to exclude nested archive folders. Multiple exclusions can be separated with commas.
*.txt can also match a hidden .txt file or one listed in .gitignore. Check the actual paths before replacing anything.
Understand the count
Results are grouped by file and show line numbers. The result count normally counts matching lines, not every occurrence: a line containingMoss Moss can contribute one result even though it contains two matches.
Treat the list as a navigation aid rather than a complete occurrence inventory. Search can return a reduced set of lines when it falls back to another search method or reaches a limit. Narrow a large search and inspect the files when completeness matters.
Replace text in the returned files
Replace All changes saved files directly. It does not open a proposed-change review or create a backup first. Preserve the version you need before using it; in a Git project, a commit can provide a reference for tracked files.1
Save and review the targets
Save open edits, run the search again, and wait for it to finish. Check the folder scope, text options, filters, and every returned file path. Start with one filename in files to include when testing a replacement.
2
Enter the replacement
Choose Show Replace, then type the new text into Replace. The desktop and web control requires a nonempty replacement; it cannot remove matches by leaving this field blank.
3
Apply and inspect
Choose Replace All. It applies the search pattern throughout each file represented in the results, including multiple occurrences on a displayed line. Open the changed files and, for a Git project, inspect Review.
Moss with Match Case and Match Whole Word enabled, then replacing with Fern, changes Moss Moss to Fern Fern. It leaves moss and Mossy unchanged.
Replacement is performed file by file. If it stops, files processed earlier may already have changed. Some read or write failures can skip a file, so an updated result list is not confirmation that every target was written. Inspect the actual contents before trying again.
Recover from a search or replacement problem
A search result stays on Loading
A search result stays on Loading
If this is an untouched tab with no edits to preserve, close that file tab, choose Browse Files, and open the same file from the tree. Selecting the tree row while the loading tab is still open may only focus it again.Keep any editor containing unsaved work open until you have preserved its text. If a fresh open also fails, check the project device and connection. A loading document is not an empty file.
A known word or file is missing
A known word or file is missing
Check the project, checkout, and selected folder. Clear file filters, turn off case and whole-word restrictions, and try a simple word with regular expressions off. Save any unsaved text you expected to find.For a missing filename, try Quick Open with just the name. Explorer visibility and search filtering differ. Use Browse Files and Reload to inspect the current listing.
Save or discard open edits before replacing text
Save or discard open edits before replacing text
A target file has unsaved changes. Preserve and save the edits you want, then rerun the search and review its targets. Replacement may have changed earlier files before reaching this one; inspect those files too.
The file changed during replacement
The file changed during replacement
Stop editing the targets while you review them. Inspect the saved contents and any open buffers, then run a fresh search before choosing Replace All again. Do not assume the earlier attempt was rolled back.
The connection failed or the result looks incomplete
The connection failed or the result looks incomplete
Reconnect to the same project and device, inspect the files, and search again. A request may have written a file before the connection failed. Verify the returned paths as well as the count: fallback search can return fewer matching lines and handle filters differently.