这么多Markdown编辑器,我最终选择了它~
前言
本人是一个完美主义+极简主义+颜控+强迫症的复杂矛盾体,在选择软件的时候经常会犯选择恐惧症。最近博客搭建的差不多了,之后可以专注于写文章了。但是在这之前还需要选择一款称手的写作工具,也就是markdown编辑器。
基于极简主义,或者说“如无必要,无增实体”的奥卡姆剃刀原则,我一直使用VScode集成多个工作环境,譬如写C++,写Python,写Latex,包括写Markdown。对于前三者这种代码元素比较多的工作情景,VScode确实很合适。但是像md这种以内容为主,代码偏少的轻量级标记语言来说,vscode在某些方面还是不能媲美专业的md编辑器。于是笔者开始了漫长(bushi)的寻找最佳md编辑器的历程。本文就我在搜寻过程中比较中意的几款编辑器进行比较,分别是VScode、MarkText、Typora、Zettlr。
介绍
VScode
VScode是一款很流行的文本编辑器,深受程序员们喜爱,包括我自己。它凭借极其丰富的第三方插件社区,几乎可以承担所有编辑工作。VScode原生支持md文档编辑和预览。可以通过安装Markdown Preview Enhancement插件来强化预览功能,以及vscode-markdown-editor插件来获得和Typora等专业软件的“所见即所得”、“即时渲染”的工作环境。
Zettlr
在知乎上看到有人推荐,这款编辑器的特点在于吸取了所见即所得的精华,在实时渲染的同时保留了源代码,一定程度上有助于调试,而且还支持数据库等功能。但是我在测试时有明显的打字卡顿,于是及时止损,卸载之。因此它不参与之后的评测。当然这可能是个人电脑原因,各位看官可以自己实测一下。
Typora
大名鼎鼎的Typora,UI简洁,所见即所得,支持打字机模式、专注模式。并且可以自定义css样式,社区也有很多好看的样式,属于颜控最爱。可惜收费了。
MarkText
免费开源的md编辑器,所见即所得,支持打字机模式,专注模式,功能直逼typora。UI比typora更美观简洁,内置几款css样式,暂时不能自定义样式(作者表示新版计划会加入这一功能)。
评测
书写体验
VScode
使用插件的即时渲染模式时,光标所处位置会显示源代码,这点我觉得比较好,方便调试。顶部有工具栏,可以从工具栏点击来插入表格、代码块、图片等,当然也可以用快捷键。其实代码块、图片这些代码也很简单,我一般直接手动输入。至于表格确实很有必要一键生成,但是这个插件生成表格默认是3*3的,需要后续自己调整行列。
有几个致命缺点,一是插入代码块不太友好,即使渲染模式下输入```后强制要求选择语言,按ESC键才能取消选择。所见即所得模式下直接跳到代码输入框,需要手动调整光标输入语言。另外插入代码块有时候会抽风瞎跳转。另一个缺点是没有打字机模式,眼睛要一直盯着底部,这就很难受。
当然也可以不使用vscode-markdown-editor这个插件,用MPE插件实现源代码模式+实时预览。这种方案的好处是,可以充分利用vscode作为文本编辑器的代码高亮和自动补全功能。特殊格式的文字(粗体,斜体,代码块)都会自动高亮,数学模式下可以自动补全latex代码。MPE内置了几款样式,可以自定义样式,不过自定义的兼容性好像不是很好,网上找了几款css样式都没有很好的显示。而且MPE预览不能显示太长的表格。
Typora
所见即所得,有打字机模式、专注模式,支持各种快捷键插入,可以说该有的功能都有了。属于书写体验这方面的天花板。而且可以自定义或者下载很多超级好看的样式,比如这个Torillic主题
另外一些优点还有数学公式实时预览非常快,几乎是打什么就显示什么。插入表格可以选择几行几列等。
有一个致命缺点是没有底部滑条,意味着表格太长时会超出屏幕,像下面这样。
MarkText
书写体验上跟Typora类似,所见即所得,支持打字机模式,专注模式,各种快捷键插入。但是MarkText的一个特点是每一段前面有个长得像的图标,点击它可以把当前段转化为某级标题、代码块或者引用。另外新起一段开头打@可以选择本段的模式(图片、代码块、引用、链接、图表等),对不太熟悉markdown语法的同学很友好。
数学公式预览没有Typora那么丝滑,不过还是挺快的。
另外一个优点是marktext有底部滑条,解决了表格太长超出屏幕的问题。这一点就比typora细节多了。

还有很重要的一点时MarkText可以拖动调整图片大小,这是其他编辑器都没有的特性!
导出文件
VScode可以通过MPE插件导出为PDF、HTML、ebook等多种格式。我常用的只有PDF格式,所以下面也以PDF为主。MPE导出PDF需要安装Prince,不能调整打印选项。导出效果如下
可以看到右上角带了一个prince的图标,这就很丑了。
对于代码块的排版如下:
可见对于一页放不下的块,它直接留了一个大空白。
对于过长表格,打印出来也不能显示全。
Typora
Typora可以导出PDF,HTML,ebook等多种格式,基本覆盖了需求。可以设置页边距、页脚页眉等选项。可以按markdown主题打印,这就很美观。
Typora对代码块的排版就很智能了,可以自动切割代码块排在不同页,避免了大空白。当然图片的话是没法切分的。
过长表格依然显示不全。
MarkText
MarkText目前只能导出PDF和HTML,可以调整打印选项,选择主题。
对于代码块不能自动切分。
过长表格显示不全。
图床
由于我用的是私人图床,没法用图片自动上传工具。但是vscode的MPE和MarkText都自带有上传图片的工具,Typora可以配合Picgo。这里我因为没有需求,所以不做过多评测。
总结
-
书写体验方面,Typora=MarkText>VScode
-
导出文档方面,Typora>MarkText>VScode
-
颜值方面,Typora>MarkText>VScode
不过Typora就收费这一点就要大打折扣,MarkText免费开源非常加分,前途无量,并且确实不比Typora差多少。由于我目前的文章大部分发布在博客上,博客有专门的主题,因此在编辑器上追求主题好看就没有太大必要了,那么就我个人而言,更有理由选择MarkText。而Typora的文档导出功能确实强大,如果以markdown为书写工具,PDF为阅读工具的话,可以选择Typora。至于VScode,我觉得它更适合喜欢源代码模式的人。毕竟写代码才是VScode的老本行。
以上就是本期测评啦,内容很简单,没有做全方位的测评,只是针对我个人需求对个别功能进行对比。各位还需根据自己需要酌情选择。