humoumou34 downloadsAdds replacement controls directly to Obsidian's built-in Search and uses the native Search result model for exact files and result rows.
Replacement controls integrated into Obsidian's built-in Search tab.
Download main.js, manifest.json, and styles.css from the matching GitHub release. Place them in <vault>/.obsidian/plugins/native-search-replace/, reload Obsidian, and enable Native Search Replace under Settings → Community plugins.
Open Obsidian's built-in Search tab and run a search. Use the per-file or per-match replace controls that appear on the native result rows, or run Native Search Replace: Preview replace all in native Search results from the command palette before applying a bulk replacement.
This version replaces the fragile DOM-to-file inference used in v0.1.x.
view.dom.vChildren._children[*].file)."foo bar" are treated as one simple literal target, so the duplicate Find target row stays hidden.Vault.process() and recompute against current file contents immediately before saving.Obsidian does not expose a public extension API for attaching replace operations to the core Search result model. Reading the SearchView result items is more reliable than parsing truncated DOM labels and is the same class of integration used by established Search-enhancement plugins.
Copy into <vault>/.obsidian/plugins/native-search-replace/:
manifest.jsonmain.jsstyles.cssThen reload Obsidian and enable Native Search Replace.
Native Search Replace makes no network requests, uses no telemetry, and reads and writes only vault files through Obsidian's vault API. It is released under the MIT License.