Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
最开始写作时,我也经常去尝试大家所喜闻乐见的一些 Markdown 文本编辑器,比如:Typora、Ulysses、Bear、iA Writer、纯纯写作 等。
在这些编辑器中,有的最初都是只有在手机端上才能使用,所以我在通勤过程中也尝试在手机上写下一二文字,但都苦于屏幕太小且嘈杂的环境对我造成干扰,使我没办法很好地专注于内容构思上最终而放弃。
于是后面我干脆将创作都放到了电脑上。
但在电脑写作时,作为程序员的我又感觉使用桌面端的文本编辑器往往很难让人有敲代码的那种操作感,每次碰上需要将大段内容调整、批量的文本替换等操作时,需要额外的鼠标操作从而打断写作的连贯性。
从我开始尝试使用 VS Code 来进行写作至今,粗略统计,我已经写了包括技术文档、少数派文章以及教程等在内的文字大约 30 万余;随着写作次数的增多,我发现 VS Code 在某些层面上很满足我这种有着技术背景且在桌面端进行创作的作者的需要。
除了像 Typora 这样目前完全免费的文本编辑器之外,前面提到的像 Bear、Ulysses、纯纯写作等 App 虽然基础版本都是免费的,但你需要额外付费解锁更多功能,如:同步、主题等,可这些功能对我来说要么感觉不能随心所欲地做到跨平台管理,要么就是很少用到。
而且有些 App 甚至还是平台独占,比如在 iOS 端上有,在 Android 端或 Windows 端上又没有,完全将写作体验限定在了系统平台上。直到有一天我的 iPhone 6 寿终正寝之后,我发现我已经无法再拥有平台独占编辑器的写作体验了,我必须重新找个机会将以前所写的内容导出并重新寻找下一个编辑器。
在这个过程中,数据迁移和挑选编辑器是十分消磨个人精力的事情。以至于后续无论是移动端上的 App 还是 PC 端上的应用程序或软件,能让我考虑长期使用它的一个原因首先就是跨平台。
跨平台的意义在于无论你是移动端的 iOS、Android,还是客户端的 Windows、macOS、Linux 等 OS 操作系统,甚至除了两端之外还包括 Web 网页端,你都可以拥有统一、相对一致的使用体验。当然不管是哪个为了适配哪个平台,都需要花费大量的人力物力,因此通常基本只要能满足移动端或客户端的跨平台就足够了。
而 VS Code 本身就满足跨平台的条件,即是客户端或桌面端层面的跨平台。
如果从编辑器的本质功能「编辑」上来说,VS Code 其实和其他文本编辑器其实并没有什么区别。然而仅具备的是简单的写作编辑功能,那么它相比于其他文本编辑器所拥有的同步、主题同功能来说,毫无疑问是个「缺胳膊少腿」的玩具。
但好就好在,VS Code 的设计者们从一些 IDE 前辈们中学习并汲取到了有益部分,并赋予到了 VS Code 中,而这有益的部分那就是——插件机制(Plugins)。正是这个核心的功能填补了 VS Code 一些缺失的方面。
VS Code 之所以能作为被人们青睐,除了免费开源之外,还是归功于它有着庞大且丰富的插件社区,让开发者能够二次开发或是实现其他功能。
也正是多亏了 VS Code 有着丰富的插件生态,才让我摸索出了「WVG」这么一条适合我个人的写作流程。其中:
- W 代表 Workspace,即写作环境。我能够通过选择适合我个人的主题、插件等来构建整个创作的编辑环境;
- V 代表 Vim,即 Vim 编辑器。VS Code 上是通过插件来模拟 Vim 编辑器的操作模式,只使用键盘即可实现对内容的操作,从而减少了我使用鼠标操作的次数,保持写作的连贯性;
- G 代表 Git 和 Github,即版本控制和代码托管平台。其他文本编辑器的同步功能本质上都是将每个文本文件保存到对应的服务器上,而 Git 这样一个对程序员来说熟悉得不能再熟悉的版本控制工具能很好地管理我们每次写作的内容(前提是要提交到版本控制中),然后每次写作结束后直接提交到 Github 上作为保存我们文本文件的代码托管平台中,这样我们能够在任何地方都能通过这个平台获取到我们已经写作的内容。
借助插件我们除了弥补部分缺失的功能之外,还拥有了一些文本编辑器所不具备的功能,甚至对于开发人员尤其是前端开发人员来说,妥妥地算是个前端利器。
所以为了让我的写作体验能够更好,我需要使用到其他开发者开发的插件。下文所有插件均可在 VS Code 右侧的插件模块中被搜索到并直接安装使用。
但 Vim 操作的学习成本会比较高,如果对此感兴趣的高阶玩家可以自行进一步了解。但对于大多数人非技术背景的作者来说,使用 VS Code 的快捷键和鼠标操作也就足够了。
Markdown 对很多少数派的作者来说是再熟悉不过的东西了。它是一种能让我们专注于内容而不需要太注重于排版样式的轻量标记语法。
很多人选择 Markdown 的原因在于减少人为排版的操作,通过简单的符号对内容进行标识后,由程序后期帮我们自动完成诸如一级标题、超链接、引用等样式排版工作,而我们专心管理文字内容即可。
- 认识与入门 Markdown
最初我以为只有代码才会存在格式化一说,没想到文本内容也有「格式化」,当然把这叫排版或许更为大家所熟悉。
以前没有在少数派上发文章时,我从来也没有注意对通常的文本进行简单的排版,比如:穿插在中文中的英文和数字需要左右加空格。
而经过少数派的编辑们几次帮我调整之后,我才发现对文字进行适当的排版可以提升内容的视觉感受并让人拥有良好的阅读体验。好在已经有开发者曾开发过一个名为 pangu(盘古)的格式化程序,虽然它是基于正则来实现的,但也能很好地帮助我们对文字内容进行排版。
参考阅读:
- 中文文案排版指北
- 少数派写作排版指南
如果说 VS Code 的插件是为了让我们拥有更好的写作体验,那么使用 Git 和 Github 就是让我们有着更好的版本控制、历史追溯体验,并弥补同步功能的缺失。
Git 是一个免费的、开源的分布式版本控制系统(Version Control System,简称 VCS)。所以只要是个程序员,基本上都了解或使用 Git。但我平时除了用 Git 管理代码外,还会用它来管理我的文章内容。
可能有的朋友会疑惑为什么 Git 能管理文章内容?那是因为无论是代码还是文字,本质上它们都是一些字节序列,对机器来说都是别无二致的。于是只要我们将每次写作的内容保存并提交到 VCS 之后,Git 就会给当前提交版本留下特定的快照(Snapshot)。这个快照就相当于我们在 Word 或者是其他文本编辑器中的「历史版本」,我们可以根据自己的需要进行回溯。
这也是使用 Git 的另外一个好处:它能很方便地管理我们文章的版本。
通过 Git 我们可以随时在每次提交的快照中来去自如地穿梭,当然这并不是必须的,因为文字和源代码稍微有些差异的地方在于,修改文字内容的频率可能会往往低于修改代码的频率。
比如我已经完成了第一稿的内容创作,需要开始第二稿的初步构思或修改,尽管我们可以完全拷贝第一稿的内容,然后再拷贝的副本基础上进行修改;但当我们如果在第二稿的修改过程中,零零散散地改动了第一稿中的某些内容,那此时我想要将这些改动也同样同步到第二稿上时,可能需要人工复制粘贴并核对。
结合 Git 的分支(Branch)功能,能让我们拥有更好地版本管理控制体验,分支给我们提供了可以制造一个像超级英雄漫画里平行宇宙的能力,第一稿的修改丝毫不会影响到第二稿,除非我们手动将两个平行世界进行融合。虽然两个版本是处于并行写作的状态,但在适时的时候我们可以将它们合并成新的宇宙。
如果不是从事程序员的相关工作,那么大多数人通常不到 Git,但你一旦掌握了它,或许它能在某些程度上帮助你更好地解决文章多次修改却需要人为合并的问题。
注意!最好不要使用 Git 来管理体积较大的文件,否则可能会影响拉取、合并等过程的速度。
但为了能在 VS Code 中使用 Git,你仍首先需要在电脑中下载并安装 Git。
Git 本身只提供了 VCS 功能,但不提供保存代码(或内容)的服务。因此基于 Git 就会衍生出很多代码托管平台,其中最知名的当属 Github。Github 除了为使用者们提供了基本的代码托管服务之外,还围绕着代码提供了一系列的集成方法或应用服务,比如持续集成的 Github Actions、测试代码覆盖率的 Codecov 等。
但由于 Github 是一个国外网站,如果个人访问存在一些网络阻碍时,那么国内的 码云 Gitee 也是一个很好的选择,而且它能够提供更快的同步速度。
在 Github 上你通常还能找到很多有意思的项目,不仅是个人还包括大厂都会在上面开源自己的项目,比如我之前关注的微软一个名为 Bringing Old Photo Back to Life 的项目,它通过主流的机器学习等算法能够将老照片变得更为高清,让尘封且模糊的画面变得那么真实可见。
又比如在 2018 至 2019 年时火热的 Dress 女装大佬项目,别以为程序员们都戴着黑框眼镜穿着格子衫战衣的理工男形象,谁想到一大批人实际上都是女装大佬呢?(也许,女装只有 0 次和无数次)
在程序员人群中,除了语言之争这样的话题以外,IDE 之争也是容易带起讨论和节奏的话题。但在少数派 Matrix 的作者群里偶尔也会看到一些作者们在讨论文本编辑器优劣的相关内容,可以看出并文本编辑器在作者的眼中和体验都不尽相同。
但无论是语言、IDE 还是文本编辑器,它们本质上都还是工具。这些被用以比较的工具永远都没有对错、好坏之分,只有适合和不适合一说,每个工具都有自己适合场景和人群,不一而足。
关联阅读
- 专题 | 15 分钟,学会 Markdown
- 用 Atom,在 Windows 上定制属于自己的 Markdown 编辑器