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

HOME key

shichishimashichishima225 downloads

Move cursor to beginning of text, considering Markdown heading characters.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

This plugin provides a command that mimics and enhances the behavior of the HOME key. It allows you to bind a "smart" home-key action to any hotkey, such as Control+A for macOS-style (and Emacs-style) navigation.

On macOS, for example, Control+A typically moves the cursor to the absolute beginning of the line. However, Command+Left moves it to the beginning of the text, intelligently handling indentation. This plugin allows you to bind Ctrl+A to smart behavior like Command+Left.

command: Normal (consider indents / lists / tasklists / quotes)

When executed, the cursor moves to the beginning of the text content (after indentation/markers) instead of the absolute left edge of the line. Executing it again toggles the cursor to the absolute beginning of the line.

When the pipe character "|" represents the cursor position;

   some indented text|
(exec this command)
   |some indented text
(exec again)
|   some indented text

   - some list item|
   - |some list item
|  - some list item

   - [ ] some task list item|
   - [ ] |some task list item
|  - [ ] some task list item

   1. some numbered list item|
   1. |some numbered list item
|  1. some numbered list item

   > some quoted text|
   > |some quoted text
|  > some quoted text
  • Unordered list line begins with - , * , or + .
  • Task list line begins with - [ ] , * [ ] , or + [ ] .
  • Ordered list line begins with 1. or 1) .
  • Quoted text line begins with >.

Refer to: https://help.obsidian.md/syntax

  • Lists /
  • Task lists /
  • Quotes /

command: Advanced (+ headings / footnotes)

In addition to the "Normal" features, this command also recognizes headings and footnotes.

## heading line|
(exec Advanced command)
## |heading line
(exec again)
|## heading line

[^1]: some footnote text|
[^1]: |some footnote text
|[^1]: some footnote text
  • Heading begins with # through ###### . (Level 1-6)
  • Footnote begins with [^1]: .

Refer to: https://help.obsidian.md/syntax Headings / Footnotes /

Use Cases

Mac

Simply bind the hotkey for this command to Control+A. Please use either Normal or Advanced according to your preference.

Windows

Used in combination with obsidian-emacs-text-editor, giving up on the OS standard select-all shortcut, bind the hotkey to this command instead of beginning-of-line to Ctrl+A.

Installation

$ npm install
$ npm run dev

Tips: Overriding the HOME key

You can bind the Advanced command directly to the physical HOME key. This extends the standard HOME key functionality to be aware of heading Markdown syntax, at your own risk.

Excerpt from .obsidian/hotkeys.json

  "homekey-action:advanced-homekey": [
    {
      "modifiers": [
      ],
      "key": "Home"
    },
    {
      "modifiers": [
        "Ctrl"
      ],
      "key": "A"
    }
  ],

Known Limitations

  • Logical Line Only: Currently, this plugin moves the cursor based on logical lines. It does not yet support "visual line" movement (wrapped lines) found in some native macOS behaviors.
  • Tables: Smart cursor movement within table cells is not currently supported.

Want a smarter HOME key and Emacs-style navigation?

Universal Cursor Hotkeys is the successor to this plugin, with two key improvements to HOME:

  • 3-step HOME on wrapped lines — first jumps to the visual line start, then to content start, then to absolute line beginning.
  • Smart HOME inside Markdown table cells — works across in-cell lines in Live Preview and Source Mode.

Both behaviors are configurable via the plugin settings.

It also adds full Emacs-style navigation (Ctrl+P/N/B/F/E), Kill & Yank, and more.

Smart home Enter and Exit tables Kill & Yank

(Install via BRAT — official listing under review)

90%
HealthExcellent
ReviewSatisfactory
About
Move the cursor to the beginning of visible text, skipping indentation and list/quote/task markers, and toggle to the absolute line start on repeat. Bind the command to any hotkey and use an advanced variant that also recognizes headings and footnotes.
EditingNavigationHotkeys
Details
Current version
0.2.0
Last updated
5 months ago
Created
10 months ago
Updates
2 releases
Downloads
225
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
shichishimashichishima
github.com/shichishima
GitHubshichishima
  1. Community
  2. Plugins
  3. Editing
  4. HOME key

Related plugins

Creases

Tools for effectively folding Markdown sections.

Remember cursor position

Remember cursor and scroll position for each note.

Hover Editor

Transform the Page Preview hover popover into a fully working editor instance.

Emoji Toolbar

Quickly search for and insert emojis into your editor.

Leader Hotkeys

Add leader hotkey support to any command (like tmux or vim).

Dragger

Drag and drop any block (paragraphs, headings, lists, etc.) to rearrange content like Notion.

Code Editor Shortcuts

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

Advanced Tables

Improved table navigation, formatting, and manipulation.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.