Find and Find & Replace
Three commands in the Find menu, in increasing order of reach — one document, then the whole project.
| Command | Shortcut | Reach |
|---|---|---|
| Find… | ⌘F | The single field or section you're currently in. |
| Find & Replace in Document… | ⌘⌃F | Same one field, with a replace row. |
| Find & Replace in Project… | ⌥⌘F | The whole manuscript, the whole Story Bible, or both. |
Find… and Find & Replace in Document…
The Mac's own find bar, attached to whatever text you're currently focused in — a scene's prose, a note, any field. Incremental highlighting, previous/next, and the system's own case and word-match options, exactly as they behave in every other Mac app. Both are disabled when nothing is focused to search.
Find & Replace in Project…
A different tool for a different job: search and rewrite across everything at once, with the options a project-wide pass actually needs.
Search options
| Toggle | Does |
|---|---|
| Regex | Treats Find as a regular expression instead of literal text. |
| Match case | Case-sensitive matching. |
| Whole word | Only matches whole words, not a substring inside one. |
| ^$ per line (regex only) | Line anchors match at every line break, not just the start and end of the whole field. |
| . matches ¶ (regex only) | Lets a dot match across paragraph breaks. |
| Inside links | Off by default. Matches inside a [[wikilink]] are skipped unless this is on, protecting the link's slug and ID from an accidental rewrite. |
A scope picker chooses where the search runs — the manuscript, the Story Bible, or both — and Story Bible here means every narrative field a record has, not just Summary: Biography, Physical, Personality and Voice on a character; Exterior, Interior and History on a location; and so on per type. When a manuscript is active, a This book toggle limits manuscript matches to it alone.
[^1], [@citekey])
are always protected, regardless of the Inside Links toggle — the marker
itself is skipped, though the note or citation's own text stays searchable.
Replacing
Replace Selected rewrites only the checked matches in the results list; Replace All rewrites every match currently found. Every match is checked by default after a search, so Replace Selected behaves like Replace All unless you deliberately uncheck something first.
A capture-group and case-transform syntax is available in the Replace
field for regex searches — $1 for a captured group,
\U…\E to upper-case a replacement.
Cleanup presets
The bookmark menu beside the Find field holds a set of built-in, ready-made passes for the small inconsistencies a long draft accumulates: curly quotes, em dashes, ellipses, collapsing double spaces, trimming trailing whitespace, collapsing blank lines, normalizing scene breaks, and more. Running one asks for confirmation first, states its scope, and — like any other replace — takes its snapshots and runs as one undo.
The same menu lets you save your own current search for reuse later, and keeps your last eight searches to hand.
Renaming a Story Bible entity from here
If the Find text exactly matches a Story Bible record's name, a banner offers to rename the record itself to whatever's in the Replace field — every wikilink pointing at it keeps working, since a link stores the record's identity, not its display text.