# Navigate, move, indent and unindent by heading

**URL:** <https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202>\
**Category:** Feature requests\
**Created:** [August 9, 2020, 11:08pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202 "2020-08-09T23:08:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam.baron](https://forum.obsidian.md/user_avatar/forum.obsidian.md/sam.baron/32/20_2.png) [@sam.baron](https://forum.obsidian.md/u/sam.baron)\
**Post date:** [August 9, 2020, 11:08pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/1 "2020-08-09T23:08:58Z")

</div>

What if notes had outline management features built around headings? So being able to move headings (and their content) up and down as well as indenting forward and backward (example: changing from heading 2 to heading 3). Hotkeys for all of these commands as well as hotkeys for navigating up and down between headings.

These features could also be part of the Outline plugin.

Some inspiration from Microsoft Word’s “Outline” view:

 ![image](https://forum.obsidian.md/uploads/default/original/2X/a/a570c92d9a6bf4e6a7315ef05c23052cc1435205.png)

Related: [https://forum.obsidian.md/t/go-to-heading-quick-menu-via-hotkey-support/4201/2](https://forum.obsidian.md/t/go-to-heading-quick-menu-via-hotkey-support/4201/2)

---

<div class="post-metadata">

**Author:** ![DavidL](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/d/ecc23a/32.png) [@DavidL](https://forum.obsidian.md/u/DavidL)\
**Post date:** [August 10, 2020, 2:46am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/2 "2020-08-10T02:46:04Z")

</div>

Because the markdown is just text, you can easily select blocks of text and then tab or shift/tab to indent or drag the text up or down.

What do you gain?

I guess you could change the format en-masee, but you could also just do that with custom css.

Doesn’t seem that needed … ?

Regarding the original post … I bet something as simple as a keyboard shortcut or two that let’s you jump up or down to the next heading / sub heading might might that need.

Best  
David

---

<div class="post-metadata">

**Author:** ![sam.baron](https://forum.obsidian.md/user_avatar/forum.obsidian.md/sam.baron/32/20_2.png) [@sam.baron](https://forum.obsidian.md/u/sam.baron)\
**Post date:** [August 10, 2020, 2:51am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/3 "2020-08-10T02:51:29Z")

</div>

@DavidL I don’t think you understand my request. I’m suggesting moving entire sections of content without selecting text. Imagine headings with several paragraphs below that you want to re-order, promote, or demote.

This feature is available in Microsoft Word from either the Navigation Pane or Outline View.

---

<div class="post-metadata">

**Author:** ![d00b](https://forum.obsidian.md/user_avatar/forum.obsidian.md/d00b/32/1675_2.png) [@d00b](https://forum.obsidian.md/u/d00b)\
**Post date:** [August 10, 2020, 6:03am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/4 "2020-08-10T06:03:29Z")

</div>

> [@sam.baron](#):
>
> able to move headings (and their content) up and down as well as indenting forward and backward

@sam.baron  
In addition to the focused heading, will the Indent/Unindent operations be applicable to all Children headings contained within the focused heading? The request says about the “move” only.

All these new operations are best accompanied by keyboard shortcuts.

---

<div class="post-metadata">

**Author:** ![sam.baron](https://forum.obsidian.md/user_avatar/forum.obsidian.md/sam.baron/32/20_2.png) [@sam.baron](https://forum.obsidian.md/u/sam.baron)\
**Post date:** [August 10, 2020, 6:05am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/5 "2020-08-10T06:05:03Z")

</div>

> [@d00b](#):
>
> In addition to the focused heading, will the Indent/Unindent operations be applicable to all Children headings contained within the focused heading? The request says about the “move” only.

Yes, that makes sense to me.

> [@d00b](#):
>
> All these new operations are best accompanied by keyboard shortcuts.

Yes absolutely, I’ll update the OP.

---

<div class="post-metadata">

**Author:** ![goodsignal](https://forum.obsidian.md/user_avatar/forum.obsidian.md/goodsignal/32/129_2.png) [@goodsignal](https://forum.obsidian.md/u/goodsignal)\
**Post date:** [August 14, 2020, 4:56am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/6 "2020-08-14T04:56:09Z")

</div>

**BIG +1** on this!

We should be able to select large blocks of text that contain various heading levels and with keyboard shortcuts promote or demote all headings (remove/add `#`) within the selected text. All non heading lines should be left alone. It should be as easy as selecting blocks of list items and indenting or outdenting.

When a new content hierarchy emerges as I’m composing a large body of text, it’s currently a real pain in the ass to adjust all the headings accordingly. Search and replacing hashes doesn’t work well for this. And even if it did, the process is so much slower than it should be with an editor like Obsidian.

---

<div class="post-metadata">

**Author:** ![goodsignal](https://forum.obsidian.md/user_avatar/forum.obsidian.md/goodsignal/32/129_2.png) [@goodsignal](https://forum.obsidian.md/u/goodsignal)\
**Post date:** [August 14, 2020, 5:51am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/7 "2020-08-14T05:51:54Z")

</div>

As for **Navigating and Moving** full sections, we would like keyboard shortcuts that move whatever section the cursor is in collectively as a unit up or down.

When implementing this feature, there is some important hierarchy logic to follow.

One essential detail is that a section that is being moved should naturally contain all of its subsections and move them collectively.

Another essential detail is that the section being moved should never switch places with another section that is of a lower level. Considering this example:

```auto
# A1
## A2
### A3
# B1
## B2
### B3

```

When moving B1 up one position, it should look like this:

```auto
# B1
## B2
### B3
# A1
## A2
### A3

```

**Not** like this:  
_(scrambles your content too easily)_

```auto
# A1
## A2
# B1
## B2
### B3
### A3

```

However there are plenty of use cases where a subsection would be moved to a different parent section, like this:

```auto
# A1
# B1
## B2
### B3
## A2
### A3

```

Here’s my current workaround. But just because there’s a workaround doesn’t mean the feature isn’t needed 😉 This workaround can be prone to mistakes if you’re not careful.

1. Enable Settings\>Core\>Editor\>Fold Headings
2. Fold a section (or sections) you want to shift up or down in your document
3. Select the folded line(s)
4. Mouse drag them to the new position (or cut/paste)

This is slightly less error prone than selecting a section and cut/pasting it somewhere else. The folding ensures that you don’t accidentally miss anything in that section.

Note that the “Swap line up” and “Swap line down” commands are problematic for lines that have a folded section. Please add “Swap section up” and “Swap section down” commands in a future release.

---

<div class="post-metadata">

**Author:** ![Ehsan](https://forum.obsidian.md/user_avatar/forum.obsidian.md/ehsan/32/2382_2.png) [@Ehsan](https://forum.obsidian.md/u/Ehsan)\
**Post date:** [August 15, 2020, 12:20am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/8 "2020-08-15T00:20:33Z")

</div>

-1

I would not like this to happen automatically to my notes. This would not align with my workflow or purpose for notes.

---

<div class="post-metadata">

**Author:** ![sam.baron](https://forum.obsidian.md/user_avatar/forum.obsidian.md/sam.baron/32/20_2.png) [@sam.baron](https://forum.obsidian.md/u/sam.baron)\
**Post date:** [August 15, 2020, 2:32am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/9 "2020-08-15T02:32:36Z")

</div>

> [@Ehsan](#):
>
> I would not like this to happen automatically to my notes. This would not align with my workflow or purpose for notes.

It wouldn’t happen automatically. There would be a hotkey combination to move heading sections around. What are you expecting would happen automatically?

---

<div class="post-metadata">

**Author:** ![nickchomey](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/n/3ab097/32.png) [@nickchomey](https://forum.obsidian.md/u/nickchomey)\
**Post date:** [August 27, 2020, 10:48pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/10 "2020-08-27T22:48:28Z")

</div>

+10. Coming from OneNote, I would love for Obsidian to mimic a full outlining tool as much as possible.

---

<div class="post-metadata">

**Author:** ![lorenzlm](https://forum.obsidian.md/user_avatar/forum.obsidian.md/lorenzlm/32/3450_2.png) [@lorenzlm](https://forum.obsidian.md/u/lorenzlm)\
**Post date:** [September 7, 2020, 5:06pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/11 "2020-09-07T17:06:23Z")

</div>

+1

(I would also give it +10, if this were possible… 😉 )

This would be a major step into a good direction, and I don’t think it’s too difficult to implement. The feature could be located in the outline window in the right pane. (That’s how it is done in Zettlr, as far as I remember.) Either as a drag and drop procedure, or with Selection+Shortcuts. You can also get inspiration on that from Mindmapping Apps like the gorgeous browser-based MindMup, where you move nodes by shortcuts as simple as Ctrl-Up and Ctrl-Down.

Greatly looking forward to this, would make my love affair with Obsidian even more persistent. (Actually, not being able to move folded sections / outline items made me leave Visual Studio Code…)

---

<div class="post-metadata">

**Author:** ![malecjan](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@malecjan](https://forum.obsidian.md/u/malecjan)\
**Post date:** [November 22, 2020, 2:49pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/12 "2020-11-22T14:49:13Z")

</div>

related feature request: [Indent outline carries children](https://forum.obsidian.md/t/indent-outline-carries-children/2505)

---

<div class="post-metadata">

**Author:** ![lucasd](https://forum.obsidian.md/user_avatar/forum.obsidian.md/lucasd/32/6834_2.png) [@lucasd](https://forum.obsidian.md/u/lucasd)\
**Post date:** [November 22, 2020, 4:11pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/13 "2020-11-22T16:11:14Z")

</div>

+1. This would be great. But note that It would be necessary to think through the scenario of outlines that go more than 6 levels deep, beyond Markdown’s capacity. In Obsidian, 6 #'s will display as a heading, but 7 #'s will not. When I want to go to level 7 in an outline, I just switch to a hierarchical bulleted list. So, level 7 has no #'s, but rather just starts with a hyphen and a space, and level 8 starts with 4 spaces (or a tab character) followed by a hyphen and a space. In fact, I just imported a Word (.docx) outline that had 10 levels (9 outline levels plus body text), and I used PanWriter plus regex find and replace to convert it to 6 heading levels plus 4 bullet levels.

Anyway, I’m not saying that it would necessarily be desirable to convert heading levels 7 and higher to bulleted lists, but it would be one option for dealing with that scenario.

(In Microsoft word, headings simply get converted to body text when indented beyond level 9, which is Microsoft Word’s limit.)

---

<div class="post-metadata">

**Author:** ![sofortlos](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/s/d6d6ee/32.png) [@sofortlos](https://forum.obsidian.md/u/sofortlos)\
**Post date:** [May 3, 2021, 7:26pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/14 "2021-05-03T19:26:46Z")

</div>

The idea of a more useful and clearer outliner seems to be realised in the [https://gingkoapp.com/](https://gingkoapp.com/) .

The recipy?

Taking the outline and **separate the different levels**. It allows you to work on **granular level** , but keeps you in the **big picture** at the same time, to navigate and restructure the document. Very ADHD-friendly.

A FR or Plugin-idea?

New thread or maybe its mentioned here already: [Outline core plugin - improvement](https://forum.obsidian.md/t/outline-core-plugin-improvement/9540) Have a look!

examples:

 ![grafik](https://forum.obsidian.md/uploads/default/original/2X/c/c4581f2bbd5ccd7834f8c201e4e5071cc14c2ac7.jpeg)

 ![grafik](https://forum.obsidian.md/uploads/default/original/2X/8/8df1e762a036becde79bc1c6111813a84a0c1c38.jpeg)

 ![grafik](https://forum.obsidian.md/uploads/default/original/2X/2/2e3633b6117ffdb9c0b4ada784f400eb83f15d23.jpeg)

 ![grafik](https://forum.obsidian.md/uploads/default/original/2X/f/ffefcbb3c0ade35e5047346d0d089718c7999f99.jpeg)

---

<div class="post-metadata">

**Author:** ![terheyden](https://forum.obsidian.md/user_avatar/forum.obsidian.md/terheyden/32/16682_2.png) [@terheyden](https://forum.obsidian.md/u/terheyden)\
**Post date:** [July 25, 2021, 6:00am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/15 "2021-07-25T06:00:16Z")

</div>

+1 – would love to have a “swap section” command added, exactly as @goodsignal describes.

---

<div class="post-metadata">

**Author:** ![crobles](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/c/b5e925/32.png) [@crobles](https://forum.obsidian.md/u/crobles)\
**Post date:** [August 17, 2021, 2:16am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/16 "2021-08-17T02:16:28Z")

</div>

+100 to this feature. I was just wondering if this was possible. It would be a great tool to easilly move around ideas in order to compose the final text.

---

<div class="post-metadata">

**Author:** ![CawlinTeffid](https://forum.obsidian.md/user_avatar/forum.obsidian.md/cawlinteffid/32/82899_2.png) [@CawlinTeffid](https://forum.obsidian.md/u/CawlinTeffid)\
**Post date:** [September 22, 2021, 9:24pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/17 "2021-09-22T21:24:17Z")

</div>

You can move heading sections up and down by enabling `Settings`\> `Editor` \> `Fold heading`. Use the `Fold all` command to collapse all headings (optional but helpful), then select and drag or cut-paste the folded heading and it will move the whole section. I think there’s also a keyboard shortcut to move lines up and down, which I imagine would work on a selected folded heading. This also works on folded list sections if you activate `Folded indents`.

Indentation only works for folded list items. If you select a folded heading and indent it, you get a code block. If you don’t select it and add spaces in front of it, it only affects the header.

---

<div class="post-metadata">

**Author:** ![obsequious](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/o/4af34b/32.png) [@obsequious](https://forum.obsidian.md/u/obsequious)\
**Post date:** [October 31, 2022, 11:51am UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/18 "2022-10-31T11:51:50Z")

</div>

For anyone bumping into this thread

- For navigating between headings, you can use [GitHub - timhor/obsidian-editor-shortcuts: Obsidian plugin to add keyboard shortcuts commonly found in code editors such as Visual Studio Code (vscode) or Sublime Text](https://github.com/timhor/obsidian-editor-shortcuts)
- To move heading sections around in the Outline view: [Drag and Drop to rearrange heading in TOC panel - #24 by cristian](https://forum.obsidian.md/t/drag-and-drop-to-rearrange-heading-in-toc-panel/5321/24)
- And to indent/unindent headings, there’s [GitHub - k4a-l/obsidian-heading-shifter: Easily Shift and Change markdown headings.](https://github.com/k4a-l/obsidian-heading-shifter)

---

<div class="post-metadata">

**Author:** ![CawlinTeffid](https://forum.obsidian.md/user_avatar/forum.obsidian.md/cawlinteffid/32/82899_2.png) [@CawlinTeffid](https://forum.obsidian.md/u/CawlinTeffid)\
**Post date:** [October 31, 2022, 12:16pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/19 "2022-10-31T12:16:36Z")

</div>

The “move line up” and “move line down” don’t have hotkeys assigned by default, so you’d have to assign ones if you wanted them. (You could also pin them in command palette, add them to a mobile-like toolbar with cMenu, or add them other places with Commander). On mobile I’m not sure if they appear on the toolbar by default but they can be added.

---

<div class="post-metadata">

**Author:** ![smkbhd](https://forum.obsidian.md/user_avatar/forum.obsidian.md/smkbhd/32/36320_2.png) [@smkbhd](https://forum.obsidian.md/u/smkbhd)\
**Post date:** [June 1, 2023, 3:53pm UTC](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202/20 "2023-06-01T15:53:32Z")

</div>

I am really with you, this is a big big feature that can improve my workflow, ( there are tons of other things that I love from Microsoft Word that can make obsidian much better tool)

for now what I use which is not the best solution but it works very well is the plugin “Quiet Outliner” it will add a outliner in right panel with some of functionality of Word navigator one of them is easy change of heading position and indent or unindent them

 ![image](https://forum.obsidian.md/uploads/default/original/3X/4/8/48a2eaf916316741cfec151229874dbb0f98f9d9.png)

[Next page](https://forum.obsidian.md/t/navigate-move-indent-and-unindent-by-heading/4202.md?page=2)
