Better vim support in lists

Use case or problem

When I’m inside of some list and press ‘o’ in vim normal mode, I expected to have a new list item created below, just like when hitting ‘Enter’ creates a new list item. Instead ‘o’ creates a new blank line. Similarly with ‘O’.

Another thing that would be neat (but it’s less essential), is when some list item has children which are folded, hitting ‘o’ should intuitively create a new item after all those children, without unfolding. Instead it has a really strange behavior, where the ‘…’ indicator gets moved to the new line, so this folded item gets broken.

There are probably more vim commands that could be adapted to lists, like ‘cc’ but they are less important.

Proposed solution

Current workaround (optional)

I tried to remap:

:nmap o A<Enter>

but it turns out that obsidian doesn’t handle this remapping well - when I hit ‘o’, only ‘A’ gets executed, and then <Enter> gets ignored. I tried it also with other things than <Enter>, but all of them get ignored, after ‘A’ already changed the mode to insert mode.

This may be an issue with CodeMirror.

Related feature requests (optional)

2 Likes