跳到主要内容

3、究竟选择typora还是obsidian

选择typora还是obsidian呢

单个文档 & 知识库

typora适合编辑单个md文档, 而obsidian适合编辑知识库里的md文档。

问题1:换行宽度问题

故障环境

2023年12月20日记录

typora v1.7.6 ob 1.5.3

故障现象

1次回车后的效果

1、typora里换行现象 tyora源码模式下出现了一个空行:

但tyora预览模式下没有明显的换行,不友好:

ob里现象:符合预期,只有一个换行。

2次回车后的效果

此时,我们再执行一个换行,观察下效果: typora预览模式下有2个空行:

typora源码模式下却有5个空行:

ob里也有5个空行:。。。

要想实现预期的效果

要想实现预期的效果,就必须在ob里按下3个回车,这样typora里预览模式下才会出现换行,不然typora换行不明显,影响阅读!

实现效果: ob里按2个回车后效果: ob效果:

typora里效果:换行不明显。。。

ob里按3个回车后效果:

如果按3个回车行的话,那么ob里阅读体验就很不好了啊。。。

typora里效果:

排查问题

参考文档: https://forum-zh.obsidian.md/t/topic/9242

作者提出的问题

回复

因为Obsidian和typora的设计逻辑不同。

typora的实时预览是所见即所得的,类似于富文本编辑器的效果;而Obsidian则提供了渲染结果,(阅读模式)和源码编辑(编辑模式)两个独立的显示。只是后者提供了一些简单的渲染来提升视觉效果而已,但它本质是是显示的源码而非所见即所得页面。

这背后的哲学是,页面能原模原样、正确无虞地显示源码的样子,以期完全掌控文字,知根知底。这是_非所见即所得_编辑背后的哲学。^1

所以,正确的方式是,慢慢适应它。你不能总是用所见即所得编辑器的逻辑来使用源码编辑器,那会非常别扭。两次回车键其实也并不很麻烦。

当然,如果非要这样,这是可以通过一些插件1来实现的,或者使用其他软件^3,在Obsidian应用中,把一个回车键映射为两个也可以。

全角空格 是啥?

easy typing 插件

作者测试:

其他小伙伴测试:

其他小伙伴测试:

自己安装测试(测试失败)

默认配置:

本次配置部分:

配置完成测试效果: 重启 ob: 没啥效果哎:

Linter 插件

另一个大佬回答的

有点绕!

Obsidian 的严格换行选项仅影响预览模式下的显示效果,而不影响源码模式下的显示效果。是否开启这个选项,并不关乎编辑器或 markdown 本身的设计哲学,而仅仅与你的书写习惯有关。

在开启该选项的情况下,Obsidian 会将前方不带有空格的单个换行符坍缩为一个空格,将连续多个换行符视为开启新的段落,将前方带有连续多个空格的单个换行符视为硬断行。关闭该选项则会将前方不带有空格的单个换行符也视为硬断行。也就是说,是否开启这个选项,仅仅决定硬断行如何书写和解析。

标准 markdown 语法要求通过多个空格后接单个换行符实现硬断行,开启严格换行选项更符合这个要求。如果你想追求笔记语法的通用性和兼容性,则最好打开这个选项。

如果你和我一样认为标准 markdown 语法的硬断行设计很糟糕(竟然用不可见的空格符的数量来控制文本排版行为,我觉得这很不符合它的设计哲学),因而希望改由单个换行符表达硬断行,那么也可以选择关闭这个选项。

当然,如果既希望保持笔记语法的通用性和兼容性,又不希望使用标准 markdown 丑陋的空格换行语法,可以考虑开启严格换行模式,并采用反斜杠 \ 来表示硬断行,Obsidian 支持这种语法,一些其他 markdown 解析器也支持。一种最为通用但并不优雅的做法是采用标签 <br \> 表示硬断行

另一点需要注意的是,无论你是否开启严格换行模式选项,在表示开启新段落时,都应使用两个或以上换行符而非一个换行符。后者要么被视为硬断行符号,要么被忽略并坍缩为一个空格。

例外是,考虑到 Obsidian 没有块层级,因而仅有段落引用功能,无块引用功能。当你需要模拟块引用时,可以临时将硬断行当作开启新段落来使用,前提是你知道自己在干什么。

结论

后续all md文件都在ob里编辑,查看。

就段落分隔而言,ob里的1个换行效果在typora里还是可以的,只是typora的换行效果在ob里会显示3行的。

2023.12.21-最后:决定丢弃ob

ob还是不够简洁,使用过程里会出现各种格式上的问题。

(1)格式上的问题

例如:

这个是在预览模式下:

图片竟然显示有问题:。。。

在源码模式下,图片显示没问题的:

image-20231221073303142

(2)ob编辑模式和预览模式的效果有出入的

这个就很难搞了,相比typora而言,真正的所见即所得,typora真的使用起来nice!!!

问题2:换行异常

2023年12月29日 决定继续使用ob。

故障现象

typora里编辑的文档在docus渲染后,换行有异常,明显不符合自己的预期效果: 如下所示:

typora里渲染后效果:

typora里源码效果:

ob里效果: 编辑模式: 预览模式:

开始测试

这里测试下ob和typora的换行问题。

我们先来看下typora的换行问题。

gpt

typora的换行问题

gpt typora如何换行?

在 Typora 中,换行的方法与一般的 Markdown 编辑器类似。以下是一些常见的换行方式:

  1. 普通换行:

    • 在 Typora 中,按 Enter 键可以开始一个新的行,表示普通的换行。
  2. 硬换行(行尾两个空格):

    • 如果你希望在同一行内进行换行而不开始新的段落,可以在行尾加入两个空格,然后按 Enter 键。

    例如: 这是一行文本, 这是同一行的文本。

    在上述例子中,行尾的两个空格表示硬换行。

  3. 使用 <br> 标签:

    • 你也可以使用 HTML 的 <br> 标签来实现换行效果。在 Typora 中,Markdown 支持嵌入 HTML。

    例如: markdown 这是一行文本<br> 这是同一行的文本。

    上述例子中,<br> 标签表示换行。

通过以上方法,你可以在 Typora 中轻松实现不同的换行效果,根据需要选择适合的方式。

ob的换行问题

gpt obsidian如何换行?

在Obsidian中,换行的方法取决于你是使用纯文本模式还是编辑器模式。以下是两种模式下的换行方法:

  1. 纯文本模式:

    • 在编辑区域中,按Enter键即可开始新的一行。
    • 如果你想在行内进行换行而不开始新的段落,可以使用两个空格加Enter键。
  2. 编辑器模式:

    • 在编辑器模式中,Obsidian默认采用所谓的所见即所得(WYSIWYG)编辑器
    • 换行的方法与大多数文字处理软件相同,即按Enter键
    • 如果你希望在行内进行换行而不开始新的段落,可以按Shift + Enter键

总的来说,无论是在纯文本模式还是编辑器模式,都可以通过按Enter键来进行换行。如果在编辑器模式下需要在行内进行换行,可以使用Shift + Enter键。这样,你就可以根据需要在Obsidian中轻松添加换行。

实际测试效果

我这里主要测试下让docus更好地渲染出来,而不是目前typora编辑后,docsus渲染出来的有问题……

2023年12月29日 再次放弃使用ob

垃圾啊…… 使用同步盘时,利用ob编辑文档时会经常报错……,人家typora就很稳定。。。。 丢弃,丢弃。。。。

Footnotes

  1. 比如easy typing插件。