Skip to main content

Vim mode — Settings

Open Settings → Universal Cursor Hotkeys → Vim mode.

Of the toggles on this page, Motion upgrades (8 of them) and 2 of the Table commands (Table structure and Table navigation) take effect immediately when switched OFF → ON, but switching them ON → OFF needs an app restart to fully take effect. (A Restart button appears when needed.)

Motion upgrades​

Each key group has its own toggle switch, letting you choose whether that group keeps Obsidian's standard Vim mode behavior unchanged (OFF) or uses this plugin's upgraded behavior (ON).

For the differences between standard behavior and upgraded behavior, see the Command Reference.

ToggleDefaultDescription
h l x Character movement / deletionON—
j k Line movementON—
w b e Word motionON—
gg G Note start/endON—
gj gk Display-line movementON—
$ End of line (sticky column)ONRequires j k Line movement or gj gk Display-line movement to be ON.
^ I First non-blank characterONTo get Smart home behavior, Behavior options' "Smart home (standard)" must be ON.
J Join linesONTo get Smart join behavior, Behavior options' "Smart join" must be ON.

Table commands​

There's an Apply both button that turns on Table structure and Table navigation at the same time. (Disabled once both are already ON.)

ToggleDefaultDescription
Space t Table structure (16 commands)OFFMakes commands for operating on table structure available.
See the Command Reference for details.
Space t Table navigation (6 commands)OFFMakes commands for moving the cursor between cells available.
See the Command Reference for details.
Leader keyOFF
(Space)
Chooses the leader key used by Table structure and Table navigation. Only matters while either one is ON.

OFF: Space (default). The space key's original behavior (move right) becomes unavailable.
ON: backslash (\). The space key's behavior stays available.

Behavior options​

Extends some of the toggles above to be more Markdown-aware.

Settings with the same name are shared across the For everyone, Vim mode, and macOS (Emacs) style tabs — turning one ON (or OFF) turns its counterpart ON (or OFF) on the other tabs too.

SettingDefaultDescription
Smart home (standard)ONON: ^ moves to the content start, skipping any leading Markdown syntax (lists, numbered lists, checkboxes, indentation, blockquotes). I enters Insert mode at that position.

OFF: ^ ignores Markdown syntax and moves to the line's first non-blank character. I enters Insert mode at that position.
Smart home (advanced)ONON: In addition to Smart home (standard)'s Markdown handling, the cursor position for ^/I also skips past headings (#), footnotes ([^1]:), and callout type markers ([!type]). Can only be turned ON while Smart home (standard) is ON.

OFF: Heading lines, footnotes, and callouts aren't considered.
Smart joinOFFON: When joining lines with J, removes the Markdown at the start of the next line.
Requires Smart home (standard) to be ON.
Removes blockquote markers, list markers, and indentation; also removes headings and footnotes when Smart home (advanced) is ON.

OFF: Joining only removes the next line's leading whitespace.

Either way, a single space is inserted between the joined lines.
Table-aware Source Mode editingONON: Inside a table in Source Mode, <leader>tx/<leader>tX (exit table), HOME/END, Kill line, Kill region/Copy region, Yank, Delete char, Transpose chars, Uppercase/Lowercase/Capitalize word, Kill word left/right, and Select all take the table structure (|/<br>) into account.

OFF: Table rows are treated as plain text — none of these commands consider the table structure at all.