ClipReplace is a tiny Obsidian plugin that swaps the current text selection with the clipboard in one command.
It is designed for revision workflows where you already have a replacement on the clipboard and want to keep the old wording available immediately afterward.
Before running the command:
Clipboard: The revised sentence.
Selected text: The old sentence.
Run ClipReplace: Replace selection & copy.
Afterward:
Note: The revised sentence.
Clipboard: The old sentence.
No temporary note, second copy operation, or manual delete/paste cycle is needed.
The command is only available when the editor has a non-empty selection.
ClipReplace deliberately performs the operation in a defensive order:
If clipboard access fails, the note is left unchanged. If editor replacement fails after the clipboard was changed, ClipReplace makes a best-effort attempt to restore the original clipboard contents and shows an Obsidian notice.
ClipReplace does not send text anywhere, does not use telemetry, and does not make network requests. Clipboard and editor operations stay local to Obsidian and your device.
Once ClipReplace is accepted into the Obsidian Community directory:
Download main.js and manifest.json from a GitHub release and place them in:
<your-vault>/.obsidian/plugins/clipreplace/
Reload Obsidian and enable ClipReplace under Community plugins.
Requirements:
Install dependencies:
npm install
Type-check:
npm run check
Development build/watch:
npm run dev
Production build:
npm run build
The production build writes main.js in the repository root.
For each release:
manifest.json and package.json.versions.json if minAppVersion changes.npm run check and npm run build.main.js.0.1.0 (no v prefix).main.js and manifest.json to the GitHub release. styles.css is not required because ClipReplace has no custom styles.MIT