上一篇介绍 MarkEditor(以下简称 ME)的文章《写作工具 MarkEditor 功能详解》着重展示了 ME 作为 Markdown 编辑器的简洁与优雅。开发者重新思考了 Markdown 的本质之后,将 ME 打造成了一款继承了 Markdown 的高效,却又摈弃了其中对于普通用户不友好的特性的编辑器。

然而 ME 的强大不止于此,丰富的应用场景,自由灵活的排版功能,以及极致追求效率的「黑魔法」,都让 ME 对得起 128 元(Pro 版)的售价。

做文字的中转站,把 Markdown 用起来

市面上一些优秀 Markdown 编辑器(如 Focused)长于对书写体验的设计,但受限于设计倾向,让文字停留在了应用之中,未能真正的让用户体会到使用 Markdown 的便捷。而 ME 则不同,开发者不仅希望用户在这里书写,更希望借助 ME,让 Markdown 渗透进用户生活的方方面面。

快速笔记窗口

最能体现开发者匠心的,当属这个看似普通的快速笔记窗口。当我们打开一款应用时相应的就进入专属的使用场景,于是类似 Ghostnote 这种基于应用来分类笔记的用法便油然而生。

多数文本类应用都会在状态栏常驻一个快速笔记窗口,方便用户可以在不打开应用的情况下,快速的记录下零散的笔记。然而 ME 的快速笔记窗口更进一步,除了基本的 Note,还有 App 和 Code 两类笔记。

App 这类笔记就会根据你当前的应用来分类笔记。例如在 iTerm 中记下常用的命令的笔记,在你打开了 iTerm 时才呈现出来。

Code 是更为特殊的一类笔记。它既是 Markdown 文档,也是可执行的代码文件(由这特殊的文件类型带来的巨大的便捷会在下文中有具体描述)。

在这个小工具中还隐藏了一个彩蛋。当你当前的应用是 Safari 时,选择 App 一栏笔记会出现一个下载按钮。可以把当前页面保存成 .md 格式的文本1。这赋予了你再次编辑该页面内容的可能性。刨去页面中的无用元素,留下想要的干货,一篇只剩精华的笔记几分钟内就能完成。

丰富的导出格式

让你「写得方便」是远远不够的,ME 也能让你「用得方便」。如果你打开 ME 的导出列表,就能感受到 ME 导出格式的全面,而每一种导出的方式都有一些相应的应用场景。

利用富文本可以直接粘贴到邮件或者知乎专栏等支持富文本输入的地方,而导出为 HTML 源代码则能用于网站后台。

除了 Markdown 编辑器常见的这些导出格式外,ME 针对目前的社交场景也有相应的解决方案。例如朋友圈,就有专门的「发送到微信」功能。在 ME 编辑好文章后,通过扫二维码这个动作就能轻松传到手机上2,使得在朋友圈里发布一段长文字变得异常简单。至于微博则可以通过导出成图片的方法生成长微博。

可以看出在导出方面 ME 不仅一应俱全,而且十分贴合国内用户的习惯

自由的排版,让 ME 成为生产力工具

Markdown 语言设计之初有一个目的就是为了让大家不要在调整文本格式上耗费太多时间,但是在日常使用的时候,难免还是需要根据情况调整格式,此时 Markdown 就显得有些力不从心,通常情况下你可能会将编辑器中写好的文字复制进 Word 或者 Pages 等工具中继续排版工作。然而 ME 在排版上的自由与强大,可能让你摆脱这种工作流程,提高你的生产力。

ME vs Word

在谈及 ME 的排版功能时,你不禁会问:为什么不使用 Word 这类应用呢?诚然 Word 是一款功能强大的文字处理应用,但且不谈正版的售价,很多使用者没意识到的是,使用 Word 来编辑文字也是极其需要时间成本的(特别是你对 Word 使用不熟练时)

而如果你已经学会了用 Markdown 来书写的话,其实写文章的过程就已经完成了一部分的排版工作(不要忘了 Markdown 的基本属性——轻量级标记语言)。在 ME 中排版,可以看成书写和排版两个动作的合二为一,从而节约了一部分排版的时间。

或许你还会认为 Word 的功能更丰富,排版更灵活。不过 ME 在功能上也不示弱。除了继承来源于 Markdown 的天然排版能力外,ME 还支持了例如「TOC 标题」和「Page」,实现了内容索引和分页,mathjax 和 fenced 风格完善了数学公式和代码的排版效果。在导出成 PDF 时,可以借助 wkhtmltopdf 在 PDF 中实现类似网页上的链接跳转的效果。

PDF 中的跳转效果

不过回顾日常工作和学习,你是否真的需要用到那些 Word 中极为细节的排版选项呢?其实 Markdown 配合 ME 的特色功能,就已经能满足 80% 对 PDF 格式没有严格要求应用场景,比如内部交流的工作文档。

如果还不满足,希望将 ME 用于学术文章和出版物这类对排版要求极其严格的场景,ME 还内置了「由 Pandoc3 导出」的选项,借助 LaTeX 模板完全可以实现你在排版上的任意需求。更实现了一次配置,多次享受的便利。

ME 与网络排版

随着自媒体这一概念的兴起,「排版」这一概念不仅限于本地文档,网页上的排版需求也日渐兴起。最为典型的场景就是微信公众号。ME 相应的也有一套解决方案。

使用 ME 进行公众号编辑的核心在于 Markdown 模板。通过给当前目录(即文本的存储目录) 配置 Markdown 模板 (该模板控制了文本从 Markdown 格式到 HTML 的转换) ,实现排版工作的自动化。

即使你不懂相关的 HTML 和 CSS,也可以请朋友根据你的需求写好相应代码文件,ME 也支持将写好的模板导入4。你所考虑的,只有内容本身。最后通过「复制为微信公众号格式」导出即可。

追求极致的效率,给程序员的「黑魔法」

Perl 语言的发明人 Larry Wall 说:「好的程序员有三种美德: 懒惰、急躁和傲慢(Laziness, Impatience and hubris)。」

而 ME 则很好的体现了第一种美德——懒惰5。面对专业用户,ME 可以省去很多繁琐的重复性工作,从而极大了提到了实用的效率。其中代表性的当属代码笔记文件和利用 FilesHook 发布 Jekyll 等静态博客。

代码笔记文件

前文中我们提到快速笔记窗口中有一栏 Code,可以将文件既保存为 Markdown 格式,在 ME 中打开,又可以在作为代码文件执行。例如.py.md 结尾的文件就既是 Python 文件也是 Markdown 文件。

为什么要设计一种这样的文本格式呢,特别是 Markdown 本身已经具有了代码区块的功能?在学习 R 语言的过程中,逐渐体会到了了它独特的优势。

很多时候我会拿包含一整段代码的文件来阅读学习。通常情况下,我需要在编辑器中新建一个文档来记笔记,然后将这两份文件放在同一个文件夹,生怕弄乱,日后复习不方便。而现在我只需将代码文件的后缀名从.r改为.r.md,里面既有写好的代码,也可以加上写我自己的笔记6,文件可以在 Rstudio 7直接运行修改代码和笔记,保存时也不必保存两份文件。

提起技术笔记,你可能会想起 Quiver 这款应用。两者相比,我感受到 Quiver 更像是一本完整的笔记本,适合你从头学习一门语言或者技术时,完整的记下所学知识点。而 ME 的代码笔记文件更像是一张便签或者草稿纸,讲求边学边记

FilesHook

(注:这部分我也只是根据应用的帮助文档浅尝辄止,如有错误请指正。)

如果你在用 Jekyll 等静态网页生成器配合 Github pages 来管理一个静态网站,利用 FilesHook 可以实现自动更新你的网站的功能。FilesHook 的作用可以类比于 iOS 平台上的 IFTTT。

具体到实际中,本来完成文章编辑后你需要手动输入以下语句来更新你的网站(修改推送到 Github 后会自动 Build):

git add -A
git commit -am "update" 
git push origin gh-pages

而如果你利用 FilesHook 接口,将这三句预设好:

cd $root$ && git add -A && git commit -am "update" && git push origin gh-pages

如果 ME 检测到文本有更新,就会触发你预设好的脚本,你不需要再去重复的写这三句,从而实现网站的更新。你在整个过程中都体会不到 git 的存在。再一次,你只需要专注于你的内容。

当然如开发者所说:「只是用来发布静态博客,其实有些大材小用。FilesHook 完全可以自定义,扩展更多的可能。」

更多更高阶的用法,期待你自己的探索。

ME 适合你吗?

看过 ME 的各类高阶用法和 128 元的售价,可能你会犹豫,会思考 ME 真的适合自己吗?
亚历山大·科耶夫(Alexandre Kojeve)说:

工作的人会欣赏他在这个世界上的作品,而他的工作实际上已经改变了这个世界:他在作品中看到了自己的影子,看到了自身的存在。他在作品中向他人展现了自身人性的客观现实,展现了他所拥有的,对自身抽象且完全主观的看法。

对于常和文字打交道的人来说,ME 就是一款趁手的利器,在使用的过程中会看到自己的影子和存在。它没有惊天的独家功能,但是如果你是那种关心文字的方方面面的人,ME 会陪你成为文字的工匠。它不是完美的,工程师气质体现得淋漓尽致。然而不断地探索潜在的可能性和突破现实的边界,正是它带给我的最好的体验。

ME 分标准版(58 元)和 Pro 版(128 元),可以在官网下载试用后再决定购买。试用本身没有时间限制,但是会不停有弹窗提醒购买,且随着试用的时长弹窗频率逐渐增加。


  1. 由于网页的样式不同,下载后的效果各有不同。  

  2. 导出到微信中时已转为图片,如果是 Pro 用户,可以在应用设置里勾选「移动设备优化」,增强导出的效果。  

  3. Pandoc 是文档格式转换的瑞士军刀。详见 Pandoc 官网  

  4. 据官方文档,ME 可导入公众号样式的 config 文件。  

  5. 懒惰:是这样一种品质,它使得你花大力气去避免消耗过多的精力。它敦促你写出节省体力的程序,同时别人也能利用它们。为此你会写出完善的文档,以免别人问你太多问题。  

  6. 写笔记时以代码注释的形式。  

  7. Rstudio 自身提供了一种「.Rmd」格式的文件,用 Markdown 语法记笔记,可以在 Rstudio 内导出成 PDF 或者 HTML。 不过该文件格式 ME 不能正确打开。