Tab key at the end of text tabs indents entire text instead of adding tab stop to the end

We strongly recommend you to search the forum with possible keywords before submitting a new bug report. Please also try your repro steps with third-party plugins and custom CSS disabled and see if it’s still reproducible. If it’s an issue with third-party plugins or themes, try contacting the author for help. Once you’ve done the above, delete this line.

Steps to reproduce

type text
position cursor behind last character on that line
hit tab

Expected result

Text((tab space here))[cursor]

Actual result

((tab space here))Text[cursor]

Environment

Windows 11
  • Operating system:
  • Debug info:

Additional information

This is important because you may want to line up text neatly using tabs so that text after the tab is horizontally uniform and neat.

Word1.....................Translation
Longerword................Translation

If we don’t have this functionality, you get the following, or you have to space this out manually using the space bar which is timing consuming and still produces sloppy looking results:

Word1=Translation
LongerWord2= Translation

Thank you!

that’s intentional.
We favor ease of indenting (for bullet lists, code) over “source text alignment” which has no meaning in markdown.

Gotcha, thanks!

Is there any way to get a standard length of space in Obsidian, so that text lines up neatly?

yes, use a monospaced font.

Well, a monospaced font will permit alignement in raw mode only. Once rendered, the text won’t be aligned anymore, because 1+ spaces counts as one in Markdown. So:

  • For precise horizontal alignements, you have to use tables.
  • If you leave the header without text, it will be reduced to a low, almost invisible, row – in Obsidian at least; not in every Markdown implementation.
  • You can find CSS snippets that will make your table borderless and without lines between cells, if that’s what you want.
  • You can load such snippets globally for your vault or note by note with the “cssclass:” directive in the YAML header.

Nevertheless, you can get “crude” alignement by using “en spaces”, “em spaces”, “thin spaces”, etc. which won’t be reduced to just 1 space. Syntax:   (look in a Unicode table for additional codes). Sometimes, it’s just what you want, but generally, tables are the way to go.

This is the shortest version of a more detailed answer, I think.