Shimmering Focus includes first-class styling for Obsidian’s built-in vim mode. The default Obsidian vim implementation has minimal visual feedback — the cursor looks the same regardless of mode, and there are no relative line numbers or cursorline. Shimmering Focus fills these gaps with dedicated CSS for each vim mode, plus Style Settings controls for blink rate and cursorline behavior.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chrisgrieser/shimmering-focus/llms.txt
Use this file to discover all available pages before exploring further.
To use vim mode in Obsidian, go to Settings → Editor → Vim key bindings and enable the toggle. All vim styling in this theme is active once that setting is on.
Cursor Styling by Mode
Shimmering Focus renders the vim cursor differently depending on the current mode:- Normal mode: A full block cursor rendered in a contrasting color, with a thin outline.
- Insert mode: The cursor reverts to the standard Obsidian blinking line cursor.
- Visual mode: The block cursor is retained but the selection highlight takes visual precedence.
Cursor Blink Rate
The cursor blink rate in normal mode is configurable via the Cursor blink rate (vim-cursor-blink-rate) slider:
| Setting | Style Settings ID | Default | Range |
|---|---|---|---|
| Cursor blink rate | vim-cursor-blink-rate | 1200ms | 0ms – 3000ms |
0 disables blinking entirely, which many vim users prefer for a stable, non-distracting cursor.
Cursorline
The cursorline highlights the entire current visual line in normal mode with a semi-transparent accent-color background. Enable it with Cursorline (vim-active-visual-line) in Style Settings.
Visual lines, not logical lines
The cursorline tracks visual lines — the lines as rendered on screen after word wrap. This matches vim’s native
cursorline behavior more closely than a logical-line approach.Independent of active block indicator
The cursorline is completely independent of the active block indicator. Both can be enabled simultaneously for a dual-indicator setup.
The cursorline only activates in normal mode. In insert mode, the standard active-line indicator (if configured) takes effect instead.
Relative Line Numbers
Enable Relative line numbers (use-relative-line-numbers) in Style Settings to display line numbers relative to the cursor position, rather than absolute file line numbers. Lines above and below the cursor show their distance from the current line (1, 2, 3…), while the current line shows its absolute number.
The relative line number feature is also available as a standalone CSS snippet (relative-line-numbers.css) in the theme’s snippets/ directory, for use without the full Shimmering Focus theme.
Disabling Mouse Hovers and Tooltips
Keyboard-centric users often find tooltips and hover buttons distracting when working in vim mode. The Disable tooltips & “Edit this block” button (no-mouse-hovers) toggle in Style Settings suppresses:
- All tooltip popups shown when hovering elements in Live Preview.
- The “Edit this block” button that appears when hovering embedded blocks and callouts.
Tooltips inside settings modals and dialogs are intentionally preserved even when
no-mouse-hovers is active, since they provide useful information for sliders and configuration controls.Vim Panel Styling
The vim command panel (the bar that appears at the bottom of the editor when you type: or /) is styled for legibility: the command character and the input field are both rendered at 1.4rem, making them easy to read quickly while executing commands.