Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Universal Cursor Hotkeys

shichishimashichishima1k downloads

Markdown table-aware cursor navigation & Chinese / Japanese word splitting — for Vim mode, for Emacs keybindings, and for Everyone.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates20

Your everyday arrow keys, Home/End, Page Up/Down, and word movement work smarter around Live Preview's Markdown tables, and handle CJK (Chinese/Japanese) text just as well. Vim mode and macOS-style (Emacs) keybindings get the same upgrade.

Side-by-side demo: standard Obsidian vs. Universal Cursor Hotkeys navigating Markdown tables and CJK text

Overview

Your everyday arrow keys and Page Up/Down finally behave correctly around Live Preview's tables. Home adapts to Markdown. Chinese and Japanese (CJK) text is handled correctly. Vim mode gets cursor movement that actually works inside tables. macOS-style, Emacs-flavored cursor and editing hotkeys come as a full set.

This plugin raises the baseline for cursor movement in Obsidian itself.

How do you use Obsidian? Pick one of the three below

First, For everyone — upgrades the cursor keys and Home/End you already use, as they are. Chinese/Japanese word-splitting support lives here too.

A Vim mode user? This makes Obsidian's built-in Vim mode handle Markdown tables naturally. Chinese/Japanese word-splitting support for Vim mode lives here too.

Want macOS-style shortcuts on Windows too? Or want more Emacs keybindings?

Read whichever section below fits you.


For everyone

You don't need Vim mode or Emacs-style keybindings to benefit from this plugin.

Getting started: Open Settings → Universal Cursor Hotkeys → For everyone and click Apply all.

For everyone settings tab, with the Apply all button highlighted

What it does:

  • ↑ / ↓ — column-aware: keeps your column position across table rows instead of snapping to a cell's start.
  • Home — Smart home skips past Markdown syntax (lists, headings, blockquotes, and more) to land on the real content.
  • Page Up / Page Down — previously couldn't land inside a table at all. Turn this on and it scrolls a full screen at a time, keeping the cursor in view, table cells included.
  • Ctrl+←/→, Ctrl+Backspace/Delete (macOS: Option+←/→, Option+Delete) — move and delete by word, Chinese/Japanese included (dictionary-based word segmentation).
  • Double-click (mouse) — also Chinese/Japanese-aware: selects just the word under the cursor, not the whole unbroken run.

Every key here is purely additive — turning one on adds that key to the target command's hotkeys, without removing any it already has. You can always check what's assigned — and turn it off — in Settings → Hotkeys.

📖 Full documentation → For everyone


Vim mode

If you use Obsidian's built-in Vim mode, you already know the quirks of Live Preview tables. This plugin fixes them.

Vim mode navigating a Live Preview table correctly

Getting started: Turn on Obsidian's built-in Vim key bindings (Settings → Editor) — that's it. All the motion upgrades are on by default, no setup needed. If you also want the leader-key Table structure/Table navigation commands (off by default), open Settings → Universal Cursor Hotkeys → Vim mode and click Apply both.

What it does:

  • h/j/k/l (and gj/gk) all work correctly inside table cells: j/k/gj/gk cross table rows, while h/l correctly stop at the cell's own edge instead (w/b/e below are the ones that cross cells).
  • w/b/e cross table cells and rows too, with CJK-aware (Chinese/Japanese) word segmentation.
  • gg/G reach the note's real first/last line, even from inside a table.
  • Leader-key commands (Space t...) insert, delete, move, duplicate, and align table rows/columns, plus jump straight cell-to-cell (<leader>tj/tk/th/tl) — all without leaving Vim's own keys.

Everything above is scoped to table cells — outside a table, Vim mode behaves exactly as it always has. Each fix is a plain on/off toggle, so turning one off restores Obsidian's Vim mode to its native behavior immediately.

📖 Full documentation → Vim mode


macOS-style (Emacs keybindings)

On macOS, Ctrl+P/N/B/F move the cursor everywhere in your notes — except inside tables. Once bound to hotkeys, this plugin's commands make that movement work inside tables too.

Kill & Yank and a full set of Emacs-style cursor and editing commands bring the complete workflow to macOS and Windows alike.

There's also Markdown-aware smart behavior built in — give Smart home and Smart join a try.

Smart home Smart join

Getting started: Open Settings → Universal Cursor Hotkeys → macOS (Emacs) style and click Apply recommended for each of the three command groups — three clicks and you're done. (Manual setup via Settings → Hotkeys works too.)

Also worth a look: turn on Smart home (advanced) to cleanly skip past Markdown headings, or Smart join if you often use Kill line on list items.

What it does:

  • Ctrl+P/N/B/F/A/E move like physical cursor keys, even inside tables.
  • Kill & Yank (Ctrl+K/Y) — consecutive kills accumulate; Kill Region (Ctrl+W) handles table cell newlines and pipe characters automatically too.
  • Case conversion (dwim-style upcase/downcase/capitalize), Transpose chars, Recenter-top-bottom, and more round out the full Emacs editing workflow.

Like For everyone, these are ordinary Obsidian Commands bound to real hotkeys — visible and reassignable any time in Settings → Hotkeys.

📖 Full documentation → macOS-style (Emacs) keybindings


Obsidian's Live Preview is genuinely great, I think, and it renders and edits Markdown tables well. It just falls a little short in this one specific way — and that one thing seems to weigh on its reputation more than it should. This plugin exists to close that gap and make Obsidian's Live Preview that much better. If it helps your everyday note-taking in Obsidian, that's exactly what it's here for.

Acknowledgments

  • The code and documentation for this plugin were developed with the assistance of AI.
HealthExcellent
ReviewCaution
About
Obsidian's Live Preview breaks cursor behavior inside Markdown tables, and treats CJK (Chinese/Japanese) text as one long word instead of stopping at real word boundaries. This plugin fixes both — for everyday arrow-key navigation (no Vim mode or Emacs-style keybindings required), Obsidian's built-in Vim mode, and macOS-style keyboard shortcuts (aka Emacs keybindings) alike. Vim's own h/j/k/l/w/b/e/gg/G finally work correctly inside tables, plus a leader-key layer for table structure editing. On the Emacs side, it adds a full set of editing commands — Kill & Yank, case conversion, Recenter, and more — that don't exist natively in Obsidian.
HotkeysTablesEditing
Details
Current version
0.11.1
Last updated
Yesterday
Created
8 months ago
Updates
20 releases
Downloads
1k
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
shichishimashichishima
github.com/shichishima
GitHubshichishima
  1. Community
  2. Plugins
  3. Hotkeys
  4. Universal Cursor Hotkeys

Related plugins

Advanced Tables

Improved table navigation, formatting, and manipulation.

Datacore

An even faster reactive query engine for the data obsessed.

Emoji Toolbar

Quickly search for and insert emojis into your editor.

Shortcuts extender

Use shortcuts for input special symbols without language switching.

Keyshots

Add classic hotkey/shortcuts commands from popular IDEs like Visual Studio Code or JetBrains Family.

Code Editor Shortcuts

Add keyboard shortcuts (hotkeys) commonly found in code editors such as Visual Studio Code (VS Code) or Sublime Text.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.