Rawlence36 downloadsVS Code style find and replace widget for the editor: floating, match case, whole word and regex, VS Code keybindings, works in reading view.
A VS Code style find and replace widget for the Obsidian editor.

Based on Enhanced search and replace by Liu Hao (Apache-2.0).
n of total.Esc in insert or visual mode goes to Vim first; Esc in normal mode closes the widget.Bind them in Settings → Hotkeys (search for VSCode Search):
| Command | Suggested hotkey (macOS) |
|---|---|
Find |
Cmd+F (replaces Search current file) |
Find and replace |
Alt+Cmd+F (replaces Search & replace current file) |
Find next / Find previous |
optional |
Toggle match case / Toggle match whole word / Toggle use regular expression |
optional |
On Windows / Linux, use Ctrl+F and Ctrl+H.
Remove the built-in binding when you assign the same key, otherwise Obsidian runs whichever command it finds first.
These work without any setup while the widget is open and the focus is in the editor or the widget. In that situation they take precedence over global hotkeys on the same keys (for example Cmd+G → Open graph view). Everywhere else, the global hotkeys are untouched.
| Action | macOS | Windows / Linux |
|---|---|---|
| Next match | Enter, Cmd+G, F3 |
Enter, F3 |
| Previous match | Shift+Enter, Shift+Cmd+G, Shift+F3 |
Shift+Enter, Shift+F3 |
| Toggle match case | Alt+Cmd+C |
Alt+C |
| Toggle match whole word | Alt+Cmd+W |
Alt+W |
| Toggle regular expression | Alt+Cmd+R |
Alt+R |
| Replace (replace row open) | Shift+Cmd+1 |
Shift+Ctrl+1 |
| Replace all (replace row open) | Alt+Cmd+Enter |
Alt+Ctrl+Enter |
| Close | Esc |
Esc |
Behaviour that matches VS Code:
In Obsidian, open Settings → Community plugins → Browse and search for VSCode Search.
Manual install: copy main.js, manifest.json and styles.css to <Vault>/.obsidian/plugins/vscode-search/, then enable VSCode Search in Settings → Community plugins.
npm install
npm run dev # watch
npm run build # type check + production build
npm run lint
Releases are built by GitHub Actions with build provenance attestations. Bump the version with npm version x.y.z, then git push --follow-tags.
Apache-2.0. This project is a modified version of Enhanced search and replace; see LICENSE and NOTICE.