Live Anchoring

approved

by Arthur Sarazin

Anchor your writing to your vault: when you pause typing, words that match existing note titles become wikilinks automatically. - This plugin has not been manually reviewed by Obsidian staff.

108 downloadsUpdated 1mo agoMIT

Live Anchoring

Anchor your writing to your vault. When you pause typing, any word or phrase that matches the title of an existing note becomes a [[wikilink]] — automatically, in place, without moving your cursor.

You write:

The notion of a contract has never been so important.

Two seconds later:

The notion of a [[contract]] has never been so important.

…because your vault has a note called contract.md.

How it works

  • Listens for editor changes and waits for a configurable typing pause (default 2 s).
  • Collects every note title in your vault and finds matches in the current note — longest titles first, so [[knowledge graph]] wins over [[graph]].
  • Applies all links in a single editor transaction: your cursor and scroll position stay put, and one undo removes them all.
  • Never touches YAML frontmatter, code blocks, inline code, existing links, or URLs — and never the word your cursor is in.

Commands

  • Anchor current note — run the linker once, on demand (works even with automatic anchoring off).
  • Toggle automatic anchoring — flip auto mode without opening settings.

Settings

SettingDefault
Anchor automaticallyonlink whenever you pause typing
Typing pause2000 mshow long to wait after the last keystroke
Minimum title length3ignore very short note titles
Exact case onlyoffContract links, contract doesn't
First occurrence onlyofflink once per title instead of every occurrence
Excluded foldersnever auto-anchor notes in these folders
Show noticeson"Anchored 3 links" notification

Vault access & privacy

To know what can become a link, the plugin lists the file names of the markdown notes in your vault (via vault.getMarkdownFiles()). That is the entire extent of its vault access:

  • It reads note titles only — never the content of any note other than the one you are editing.
  • It writes only to the note you are actively editing, through the editor, as a single undoable transaction.
  • It makes no network requests and collects no data. Everything happens locally.

Install

From the community plugin store: search Live Anchoring.

Manually: copy manifest.json and main.js from the latest release into <vault>/.obsidian/plugins/live-anchoring/, then enable the plugin in Settings → Community plugins.

Development

npm install
npm run dev     # esbuild watch mode
npm test        # unit tests for the linking engine
npm run build   # type-check + production bundle

The linking engine (src/linker.ts) is a pure function with no Obsidian imports — see test/linker.test.ts for its specification.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.