No description
Find a file
2026-07-08 13:41:46 +02:00
.github build: add attestations permission 2026-06-01 07:29:28 +02:00
mocks test: add and update tests 2025-10-26 17:53:25 +01:00
preview docs: add preview videos 2025-10-01 21:43:12 +02:00
scripts build: improved minification 2025-10-26 18:55:19 +01:00
src fix(followcursor): only scroll if editor has focus (#26) 2026-07-08 13:41:46 +02:00
test test: update tests 2026-06-12 23:50:35 +02:00
.editorconfig refactor: split code into modules 2025-05-27 15:00:37 +02:00
.gitignore test: setup 2025-07-30 12:37:55 +02:00
.npmrc Initial commit 2025-05-22 12:23:35 +02:00
CONTRIBUTING.md docs: add CONTRIBUTING.md 2025-11-10 17:03:20 +01:00
eslint.config.mjs refactor: cleanup 2026-06-11 10:41:41 +02:00
flake.lock refactor: move build scripts 2025-07-12 12:07:11 +02:00
flake.nix chore: add nix flake 2025-05-24 10:49:29 +02:00
jest.config.js test: update tests 2026-06-12 23:50:35 +02:00
jest.setup.js test: update tests 2026-06-12 23:50:35 +02:00
LICENSE chore: update license 2026-05-02 21:53:43 +02:00
manifest.json chore: bump version to 1.3.13 2026-06-12 23:54:26 +02:00
package-lock.json chore: update packages 2026-07-01 18:11:32 +02:00
package.json chore: bump version to 1.3.13 2026-06-12 23:54:26 +02:00
README.md docs: update readme 2026-03-24 12:49:35 +01:00
styles.css feat(scrollbuttons): mobile support & position setting 2026-06-12 23:42:43 +02:00
tsconfig.json refactor: restructure source files 2025-10-24 12:54:11 +02:00
versions.json chore: bump version to 1.3.13 2026-06-12 23:54:26 +02:00

Scrolling

A plugin to improve and extend scrolling and navigation in Obsidian with quality-of-life features.

Quick overview:

  • Centered Cursor: Keep cursor centered while editing
  • Code Wrapping: Disable code wrapping & allow horizontal scrolling
  • Remember Scroll Position: Auto-save and restore scroll/cursor position
  • Image Zooming: Scroll to zoom images with Ctrl key
  • MathJax: Allow horizontal scrolling of long inline MathJax
  • File Tree: Allow horizontal scrolling in the file tree
  • Line Length: Customize maximum line width for readability
  • Scrollbars: Hide, show, or auto-show scrollbars
  • Reading Mode Keybinds: Vim-like navigation in reading mode
  • Mouse & Touchpad Scrolling: Customize mouse & touchpad scroll speed

All features are optional and fully configurable in plugin settings.

Features

Centered Cursor

  • Automatically scrolls the view to keep the text cursor near the center while editing or navigating
  • Also known as 'typewriter mode', 'cursor surrounding lines' in VSCode or 'scrolloff' in Vim
  • Configurable trigger distance and animation smoothness
  • Works seamlessly with Markdown tables and Vim mode
Centered cursor preview

Code Wrapping

  • Disable code wrapping and allow horizontal scrolling
  • Works in both source mode and preview mode
Code blocks preview

Remember Scroll Position

  • Saves your scroll or cursor position when closing a file
  • Restores the position when reopening the file later
  • Works for Markdown files, PDF files, and canvases
Restore scroll preview

Image Zooming

  • Hover over an image, hold Ctrl and scroll to zoom in where your mouse points
  • Desktop only
Image zoom preview

Horizontal Scrolling of Inline MathJax

  • Make inline MathJax expressions scrollable
  • This prevents long formulas from extending the viewport
MathJax preview

Horizontal Scrolling in File Tree

  • Allow horizontal scrolling in the file tree to see long file names
  • Desktop only
Filetree preview

Scrollbar Customization

  • Adjust visibility: always show, show while scrolling, or hide
  • Adjust scrollbar width (Linux only)

Line Length

  • Set the maximum line length as pixels, characters or percentage
Line length preview

Reading Mode Keybinds

Enable Vim-like keybinds in reading mode:

  • j - Scroll down one line
  • k - Scroll up one line
  • d - Scroll down half a page
  • u - Scroll up half a page
  • G - Jump to bottom
  • g - Jump to top

Mouse & Touchpad Scrolling

  • Adjust scroll speed and smoothness for mouse and touchpad
  • Desktop only

Installation

From Obsidian Community Plugins

  1. Open Settings → Community Plugins in Obsidian
  2. Click Browse and search for "Scrolling"
    Or open directly: obsidian://show-plugin?id=scrolling
  3. Click Install, then Enable
  4. Configure the plugin under Settings → Community Plugins → Scrolling

Manual Installation

# Navigate to your vault's plugin directory
cd /path/to/vault/.obsidian/plugins

# Clone the repository
git clone https://github.com/omeyenburg/obsidian-scrolling.git

# Install dependencies and build
cd obsidian-scrolling
npm install
npm run build

Then enable the plugin under Community Plugins in Obsidian.

Changelog

See Releases for version history.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request. See CONTRIBUTING for further information.

Similar Projects

If you're interested in scrolling enhancements, you might also like:

License

MIT License. See LICENSE for details.