Make the hotkey for bold and italic behave like in document processors (Word, Google Docs)

Obsidian has text/code editor bias when it comes to hotkeys.
Users coming from pure word processor are disoriented by the behavior of hotkeys for bold/italic, cmd-b/cmd-i or (cltr-b/ctrl-i).

For example, they expect to write part of sentence bold with the following workflow:
regular text <cmd-b> bolded text <cmd-b> regular text

6 Likes

If I have bolded or italicized Markdown text, and I place my cursor inside that text (with no text selected), I expect Ctrl-B or Ctrl-I to unbold or unitalicize the text.

Currently it adds more asterisks, as if to let you start typing bold or italic text. (Of course, that does not even work, it just breaks the formatting.)

This is how most other Markdown editors work, in my experience. It makes unformatting text much easier. You no longer have to carefully select the text to unformat, you just have to put the cursor inside it.

9 Likes

Came here to write about something similar. If I hit ctrl-I, ** appears with the cursor in between the asterisks. I would expect that hitting ctrl-I again would move the cursor to after the second asterisk—analogous to typing a close-quote to skip over an already-existing automatic close-quote. But instead, if I hit ctrl-I while in between the two asterisks, it just adds another pair. It’s very nonintuitive and seems to make the ctrl-I/B option pointless since it’s easier in that case to just type both asterisks.

2 Likes

In most editors, if I’m in italics and I’m at the end of a word and hit ctrl+I, the italics ends for the next text I type, and in a markdown editor, jumps past the last asterisk. In Obsidian, it just adds another pair of asterisks.

Since this is different from other editors it’s very nonintuitive, and it also seems to make the ctrl-I/B option pointless, since it’s easier in that case to just type all the asterisks manually.

8 Likes

or maybe this should be considered a bug?

It’s not just word processors. Other than code editors, it’s nearly all widely used applications that support text formatting. Even markdown editors like Drafts behave like this when auto pairing is turned off.

And it’s not just that it’s disorienting to new users. It’s distracting and breaks the flow of writing for those who have to write in both markdown and rich text apps and have muscle memory from using contol/command i and b to both start and end italic and bold formatting.

1 Like

Probably true for those that use rich text.

It’s true for other conventions too - such as Enter = New Paragraph rather than New Line (again there’s a feature request for that).

There are four ways of tackling this.

  1. Simply type markdown. Not too much extra to remember just for italic and bold, and doesn’t disrupt the usual muscle memory too much.
  2. Type in a program with preferred UX and copy/paste into an empty markdown file in the vault.
  3. Use your preferred word processor, save into its usual format and convert into markdown using a converter or an editor like Typora. (You could use Obsidian’s Pandoc plugin).
  4. If you can find a markdown editor you prefer that saves into local documents, then use that and save into the vault.

I very rarely type into Obsidian directly.

It’s true for other conventions too - such as Enter = New Paragraph rather than New Line

They’re not really the same. Love it or hate it, Enter = New Line is part of the standard markdown specification.

By contrast, Command/Control-i and Command/Control-b:

  • are not part of the markdown standard specification

  • are much older than markdown

  • are a convenience borrowed by markdown editors from rich text editors, word processors, page layout programs, email clients, spreadsheet apps, etc., etc. (which probably borrowed them from pre-GUI word processors)

  • have long-established standard behaviors that predate markdown by decades

I don’t think I and other people who’ve brought this up on the Discord, etc. are asking for anything unreasonable here. We simply want the toggle that turns off auto-pairing to actually turn off auto-pairing. And when it’s turned off, we want Command/Control-i and Command/Control-b to behave the way they’ve always behaved: type them to begin italic or bold formatting, and type them again to end it.

Perhaps I’m missing something here, but I also don’t see what those who prefer control/command-I and control/command-b to auto pair markdown syntax have to lose from any of this. They can simply leave the auto-pair toggle on.

2 Likes

点击后去除语法

In 0.14.4, Toggle bold/italics will now smartly skip over the closing markers when at the end of the block, instead of adding more marker symbols.

2 Likes

Awesome! Expected release date?

(are upcoming version/feature releases given public timelines anywhere, or do they just happen when they happen?)

Also, forgive my ignorance if this doesn’t make sense, but would the behaviour of this feature (markdown autopairing/hotkeys applied to highlighted block of text) be modifiable with a plugin? If so, what parts of the code control this?

This gesture regent appears to have been implemented. Thank you so much, Silver and Licat!