Headings

approved

by cycsd

Navigate, copy, select, align, and move Markdown headings. - This plugin has not been manually reviewed by Obsidian staff.

55 downloadsUpdated 11d agoAGPL-3.0

Headings

English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Español | Français

Organize the outline and sections of your Obsidian Markdown notes quickly. This plugin lets you navigate, copy, select, move, insert, and align headings. It is useful when restructuring long notes, reordering sections, or maintaining a consistent heading hierarchy.

ko-fi

Commands

Go to heading

Browse all headings in the current note and move the cursor to the selected heading.

go to head

Copy heading

Browse all headings in the current note. After selecting one, you can copy the heading or insert its heading marker at the current cursor position.

copy heading

Align heading level

Move a heading and all of its content to the position after the selected heading and before the next higher-level heading. The moved heading level is changed to match the selected heading, and its descendants are adjusted by the same amount.

[!important] The heading hierarchy is changed to align the heading level.

Example: Align H5 with H3. The plugin finds the next heading higher than H3 (H2), moves H5 and its content before that H2, and changes H5 to the same level as H3.

Before:

## H2
### H3
#### H4
## H2
##### H5
###### H6

After:

## H2
### H3
#### H4
### H5
#### H6
## H2

align heading level

[!caution] Obsidian supports heading levels 1 through 6 only. When an adjustment would exceed level 6, the heading is displayed at level 6.

Example: align H3 ✌️ with H4.

Before:

## H2
### H3
#### H4
##### H5
## H2
### H3 ✌️
#### H4 ✌️
##### H5 ✌️
###### H6 ✌️

After:

## H2
### H3
#### H4
##### H5
#### H3 ✌️
##### H4 ✌️
###### H5 ✌️
###### H6 ✌️
## H2

Insert heading under another heading

Move a heading and all of its content under the selected heading, before its next higher-level heading. The inserted heading level is adjusted to preserve the intended hierarchy and make it a child of the selected heading.

[!important] You cannot insert a heading under one of its own descendants or under its current parent, because it already belongs there.

[!important] Whenever there is a level difference between the moved heading and the target heading, the moved heading level is adjusted to preserve a valid hierarchy.

Example: Insert H4 under H2 ☝️.

Before:

## H2 ☝️
### H3
## H2
#### H4

Without adjusting its level, H4 would become a child of H3 rather than a direct child of H2 ☝️:

## H2 ☝️
### H3
#### H4 ❌
## H2

To preserve the intended structure, H4 is changed to level 3:

## H2 ☝️
### H3
### H4 ⭕
## H2

insert heading under

[!caution] Obsidian supports heading levels 1 through 6 only. When an adjustment would exceed level 6, the heading is displayed at level 6.

Example: Insert H3 ✌️ under H4.

Before:

## H2
### H3
#### H4
##### H5
## H2
### H3 ✌️
#### H4 ✌️
##### H5 ✌️
###### H6 ✌️

After:

## H2
### H3
#### H4
##### H5
##### H3 ✌️
###### H4 ✌️
###### H5 ✌️
###### H6 ✌️
## H2

Move heading

Move the selected heading and all of its content to the position after another selected heading and before that heading's next section. This command does not change heading levels.

[!important] This command changes only the position of the heading and its content. It keeps the original heading hierarchy.

Example: Moving H1 to H2 ☝️, the plugin finds the next heading(H3) from H2 ☝️, and moves H1 and its content before H3 without changing their levels.

Before:

## H2 ☝️
### H3
# H1
## H2

After:

## H2 ☝️
# H1
## H2
### H3

move heading

Move current block under heading

Move the block containing the current cursor position under the selected heading.

move current block

Move selected text under heading

Move the selected text under the selected heading. move selected

Select heading content

Select all content under the selected heading. select heading content

References

Heading Shifter

Heading Shifter already provides several useful heading features. This plugin avoids duplicating those features unless necessary; install Heading Shifter when you need its corresponding functionality.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.