README file from
GithubRemember Cursor Position
An Obsidian plugin that remembers the cursor position, scroll position, and text selection for each note.
Features
- Cursor position — returns to the exact line and column you were editing
- Scroll position — restores where you were scrolled to in the document
- Text selection — preserves any selected text when reopening a note
- Edit & Preview modes — works in both editing and reading views
- Persistent storage — positions are saved to a JSON file (configurable path) and survive app restarts
- Smart restoration — avoids unwanted scrolling when opening links that target a specific section (
#headerlinks) - Search result handling — optionally keep the match position when a note is opened from a search result instead of restoring the saved position
- Configurable defaults — choose what happens when no saved position exists: go to beginning, end, before footnotes, or do nothing
- Workspace restore — restores positions when a workspace is loaded via the Workspaces core plugin, with an option to disable it
- Exclusions — exclude specific files and folders from tracking by selecting them from the vault or typing paths or glob patterns
- Forget all positions — clear every saved position from the database from the settings page
- Pruning — optionally remove entries for deleted files, old entries by age, or cap the total number of stored positions
How it works
Each time you move the cursor or scroll in a note, the plugin records that state. When you come back to the same note (even after closing and reopening Obsidian), it restores your exact position and selection. This makes navigating between notes seamless — no more manually scrolling to find your place.
Installation
From Obsidian Community Plugins
- Open Settings → Community plugins
- Disable Restricted mode (if enabled)
- Click Browse and search for "Remember Cursor Position"
- Install and enable the plugin
Manual installation
- Download the latest release from the releases page
- Extract the files into your vault's
.obsidian/plugins/remember-cursor-position/directory - Enable the plugin in Settings → Community plugins
Settings
| Setting | Description |
|---|---|
| Default cursor position | What to do when no saved position exists for a file (Beginning / End / Before footnotes / Default — do nothing) |
| Skip restoring position when opening from a search result | When enabled, opening a note from a search result jumps to the match instead of the saved position |
| Restore position when loading a workspace | When enabled, notes opened by loading a workspace restore their saved position (or the default position when none is saved) |
| Data file name | Path to the JSON file where positions are stored |
| Delay after opening a new note | Prevents unwanted scrolling when opening links with section anchors |
| Delay between saving | How often the position database is written to disk |
| Exclude files and folders from tracking | Paths or glob patterns of files and folders whose position is never saved or restored. Add each pattern individually by selecting a file or folder from the vault or typing a path; a pattern ending with / matches a folder and everything inside it; *, **, and ? are supported |
| Forget all saved positions | Removes every saved position from the database |
| Remove entries for deleted files | Prune positions for files that no longer exist in the vault |
| Remove entries older than | Automatically discard positions not updated within the selected period |
| Maximum number of entries to keep | Limit the database size by keeping only the most recently visited files |
Support
If you find a bug or have a feature request, please open an issue.