制表符宽度为 2 个空格时,预览模式下列表显示错误

请仔细说明自己遇到的问题,以下是参考模板。这里不要求非得按模板发帖,但内容中包含相关要素能让大家更好地帮助你。


遇到的问题

  • 问题:制表符宽度为 2 时,预览模式下列表显示错误
  • 环境:MacOS Obsidian v1.5.12

预期的效果

  • 制表符宽度为 4 个空格时,预览模式下效果:图片上方
  • 制表符宽度为 2 个空格时,预览模式下效果:图片下方

可以注意到二者完全不一样,但是在 Typora 和 VScode 中二者的预览效果是一样的。

在 Obsidian 的阅读模式下效果也是一样的,只有预览模式存在问题。

已尝试的解决方案

尝试打开控制台,发现是 divpadding 设置有问题:

  • 2 个空格时,padding-left 从第一级到第三级分别是 11px, 19px, 47px
  • 4 个空格时,padding-left 从第一级到第三级分别是 11px, 47px, 83px

怀疑是 css 文件中写的逻辑是:列表中行首的每 4 个空格 padding-left 增加 36px,同时设置参考线;而不足 4 个空格的按照每一个空格 4px 也就是默认文字间的空格来算。

具体的 css 文件修改暂时没想到好的方法,希望能找到解决这个问题的 主题 或者 插件,目前只能暂时用 4 个空格过渡一下(个人不是很喜欢,感觉 VScode 下源码的观感有点丑陋),之前的笔记都是用 2 个空格,改动起来很不方便。

还有一种方法:关闭缩进参考线,起码可读性提高了。

参考资料:

简单翻了 #1 链接的参考资料,官方回复之一如下:

变通方法:

编辑模式 Editing 或实时预览模式 Live Preview 可参 单插件+CSS 管理连续空格,2 空格、4 空格及以上,改为匹配两个空格添加特定样式;

阅读模式 Reading 或预览模式 Preview 可搜索关键词“列表 显示 缩进线”,有一些非标准的 CSS。

方法核心是放弃官方的缩进线,自己搭建阅读模式和实时预览的缩进线。

我在发布 QuickAdd 设置光标位于代码块内时 Tab 缩进输入 2 空格 前尝试过全部使用 2 空格缩进,后来改为只有代码 2 空格,没写代码的时候基本上是 4 个空格,所以只提一些配置思路,技术问题我就不能帮上忙了。

是的,感谢回复,我也懒得折腾了,看帖子这应该是一个很久之前就提出的 FR,但是在官方那里优先级一直不高。目前我的做法也是“关闭列表缩进参考线”,刚开始确实有些不习惯,慢慢也适应了。