堪称艺术品的写作工具 —— WriteMonkey 2
中文网络上最全面的 WriteMonkey 2 介绍
(全文约一万字, 纯文字, 无图)
无论在 Mac, Windows, 还是 Linux 上, 很难说哪个写作工具是"最好的写作工具", 因为不同的工具适应着不同的场景. 即使是 scrivener 这种商业软件中最接近完全体的写作工具也不是完美的, 它在组织网状逻辑时甚至比不上 gingko 这种简单的 web app, 写多分支剧情时也比不上 weavi 这种简单的 web app.
但是如果限定使用场景和写作类型, 找出同类型最强的工具还是可以做到的. 在针对单篇文章写作的全屏写作软件中, writemonkey 2 (wm2) 毫无疑问是最优秀的, wm2 尽管外观极简, 但是功能个个击中痛点, 从各种设计上就可以看出, wm2 的设计者对"写作"这件事本身有极其深刻的理解.
必须强调的是, wm2 虽然也支持 markdown 等标记语言, 但这仅仅是锦上添花的附带特性, 用 markdown 编辑器的标准来评价 wm2 是不合适的, 因为 wm2 本质上是一款真正的 写作工具 , 它跟那些不懂写作的 markdown 编辑器有本质区别.
另外, 虽然 wm2 主要针对的是单篇文章而不是长篇作品, 但这并不意味着 wm2 是一个"轻量级"工具. wm2 的功能既丰富又讲究, 大多数自称针对长篇写作的软件其实在功能上根本比不上 wm2, 即使非要用 wm2 来写长篇, 它也比绝大多数写作软件要好用.
这是 writemonkey 的下载地址 , writemonkey 的官网可以说是我见过的网站里最能体现极简美学的一个网站了.
适合场景
先明确一下 wm2 的适用范围吧, 如果 wm2 不适合你的使用场景, 就没必要往下看这篇长文了.
wm2 胜任不了的场景:
- wm2 使用 markdown, 但是不支持 mathjax 数学公式和流程图甘特图等乱七八糟的元素. 对数学公式有刚需的话(其实大多都是伪需求), wm2 不适合你.
- 很看重预览功能或者所见即所得的话, wm2 不太适合你, 捐赠者版本才能安装 live preview 插件, 而且它无法预览图片. 也就是说, wm2 不适合那种需要大量插入图片和表格的文章.
- wm2 的每一篇文章都是一个文本文件(任意后缀名都行), 搜索替换和词频统计等功能都只能针对单个文件, 如果想对多个文件进行搜索替换或者统计, wm2 是做不到的. 但这并不意味着 wm2 一定不能用来写长篇作品.
wm2 适合的场景:
- 纯文字文章(小说, 演讲稿, 各种虚构类写作)
- 插入少量图片或表格的文章
- 对写作技法有一定要求的文章(比如雪花写作法, 细胞写作法, 卡片写作法, 分轨写作法等写作方法)
- 内部逻辑很复杂, 以至于靠简单的软件难以搞定的文章
理念与体验
在介绍 writemonkey 2 本身之前, 先来建立一个概念: 究竟什么是真正的"写作工具"呢?
托尔斯泰只靠纸笔誊抄也能做版本管理, 并且写出传世之作, 这说明只要作者本身水平高, 即使不依赖什么工具也能产出好作品. 所以一提到写作工具, 就有一帮原教旨主义者要尬提 notepad (windows 系统自带的记事本), 可是一个东西看起来简单并不代表它用起来省心; 剩下的原教旨主义者高举 word 大旗, 觉得使用正经写作软件的人都是瞎折腾, 他们完全没想过一个富文本排版工具根本帮助不了创作过程.
现在门户博客在中国已然式微, 由个人搭建的博客的大多都是技术博客, 所以一提到写作工具, 就有 geek 要尬提 vscode/Vim/Emacs + markdown/latex ( 其实都是一些入门门槛 很低 的东西 ), 完全没有分清创作过程与发布过程的界限;
当然 notepad 不是不能写作, Vim 也不是不能写作, 我当然也认为一个现代的写作软件最好支持 markdown, 但问题是, 真正能够帮助创作过程的功能, 这些软件提供了吗? 我可以非常肯定地回答, 基本没有.
再加上某些名气很大的营销软件引领的歪风邪气, 导致目前很多写作工具对自身的定位是这样理解的:
写作工具 = markdown编辑器 + distraction-free模式
这种理解绝对是错的.
虽然历代文学巨匠并不需要什么写作神器, 但假如非要做一个现代写作软件的话, 它到底该具备些什么功能呢?
答案就是, 一款真正的写作软件, 需要提供的是 创作体验 , 而不是本末倒置去过度优化 markdown.
某些 markdown 编辑器加入了一个全屏的 distraction-free mode 就敢自称是写作工具, 殊不知 distraction-free 仅仅是写作工具的最低要求, 更别说它们并没有把 distraction-free 给做好.
一些静态博客框架(比如 hexo)都使用 markdown 格式来发布文章, 我自己也在用静态博客, 但是我一直都在提醒其它人, 标记语言对内容创作这件事本身没有任何帮助. 特别是对于
小说创作
, 一个单纯的 markdown 编辑器起不到什么助益, 就拿 typora 来说, 自定义
typora-root-url
参数以适应静态博客框架之类的极致细节确实很赞, 但这类功能并不能帮助用户写出更好的文字.
在 markdown 上面下的功夫再多, 如果不提供真正能帮助内容创作的功能, 就不能称之为写作工具. 世界上大多数 非免费 写作软件都是开发者自我满足的产物, 完全没有真心为写作者考虑, 比如 The Ultimate Writing App.
而 wm2 的理念, 就是要死磕写作者在内容创作过程中遇到的每一个痛点, 使用户舒服方便地进行写作.
真正的"无干扰"
从 distraction-free 说起吧.
给写作软件设计一个精简美观的全屏模式, 就可以称之为 distraction-free 了吗? 全屏之后就真的没有干扰了吗? 仅仅是开启全屏就可以让人"focus on what you wirte"了吗?
wm2 对写作中的各种"干扰"有很深刻的理解, 对 wm2 来说, 全屏模式仅仅是个开始.
segment focus
对一个写作软件来说, 干扰不仅仅来自外部的其他软件. 实际上干扰更多地来自内部.
在写作某一个段落时, 我会忍不住回顾上面的内容, 看看写得是否完善, 是不是有错别字; 如果一开始就列出了整篇文章的大纲标题, 一旦不小心瞟到了下面几段的标题, 我会忍不住分神去构思后面的内容.
这就是所谓的上下文干扰.
比较讽刺的是, 在一个界面复杂花哨的软件里, 我很难注意到上下文, 而所谓的全屏 distraction-free 模式反而放大了这种干扰.
wm2 提供了 segment focus 功能来应对这个问题, 类似于 Emacs 中的 narrow 功能. 按下一个简单的快捷键, 光标处的段落就会在一个新的 focus 页面打开, 这个 focus 页面里没有会形成干扰的上下文, 只有当前正在编辑的这一小段内容. 编辑完成后, 按下快捷键回到正文, 刚才在 focus 页面写下的内容已经出现在了正文中原来的位置.
我觉得那些做个简单的全屏功能就开始自称排除干扰的 markdown 编辑器都应该好好学学, 这 TM 才是真正的 distraction-free.
简洁但用心的界面
wm2 打开之后就默认进入全屏的 distraction-free 模式, 正中间是纸张区域, 可以用光标左右拖动, 我喜欢把纸张拖到偏左一点的黄金分割点. 纸张两边的无用区域使用细斜纹布满, 当视线聚焦在中间的纸张区域时, 这些细细斜纹使屏幕两边的区域显得更加的模糊, 这个斜纹细节真的太用心了.
和 foucus writer 不同, 全屏的 wm2 彻底去掉了各种菜单栏, 工具栏, 侧边栏, 底栏, 因为写作者不应该总是去操作光标. 所以 wm2 预设了大量有规律的快捷键, 可以让熟练用户做到纯键盘操作. 全屏模式下的 wm2 把光标的操作全部塞到了右键菜单中, 对 wm2 不熟悉的新用户也可以很方便地在右键菜单中找到各种选项, 这种设计强制性地让 wm2 的 UI 保持了极度简洁.
虽然简洁, 但是 wm2 的整个界面元素其实有多到令人眼花的定制选项, 贴心到了极点, 除了背景图片这种干扰写作的功能之外, 基本上所有的 UI 细节都可以定制, 而且每套配置方案都可以保存成一个 profile.
(即使是不怎么会用到的窗口模式, wm2 也提供了彻底隐藏 windows 窗体的功能, 颜值党福音.)
真正对创作过程有帮助的功能
虽然功能和特性不少, 但难得的是, wm2 基本没有一个功能是冗余的. 这里仅仅列举一些真正为写作者(而不是为爱写技术文章的 geek)服务的功能. 这里列举的功能不多, 但 writemonkey 绝不是只有这些功能.
打开就写, 写完就关
以前我看到这样一种说法: notepad (windows 系统自带的记事本) 可以做到"打开就写", 所以 notepad 是最不折腾的写作工具.
真的是这样吗? 来看看 wm2 怎么处理这个问题的, wm2 可以设置成启动时直接打开上次编辑的文件, 并且恢复光标位置. 如果要切换到其它最近编辑过的文件, 直接按下
ctrl + tab
就好了.
什么叫打开就写? 这才是真正的打开就写.
并且 notepad 还得手动确认保存, 不像 wm2 可以设置自动保存与备份, 写完直接
ctrl + q
关闭程序就行了, 全程不用考虑保存的事. 也是就说 wm2 不仅可以打开就写, 还可以写完就关. 相比之下, notepad 才是真正的折腾.
所以各位喜欢尬提 notepad 的人, 无论你们是不是真的在用它, 我真心建议你们别再尬提 notepad (或者 notepad++, notepad3, etc)了, 这种言论对别人毫无价值, 而且讲这种话真的不幽默 . 我今天算是得罪了你们一下 .
自动保存与备份
上一段提到了自动保存和备份, 接下来就详细说一下这个功能吧.
自动保存和备份是写作软件的基本功能, wm2 当然具备这种功能, 而且它可以在指定路径保留固定数量的备份文件.
自动备份(和自动保存是两回事)其实没什么好说的, 对于写作软件来说, 真正有意义的是手动备份.
为什么说自动备份意义不大呢? 因为自动备份是按照某个特定的时间间隔来自动保存一个版本, 所以自动保存产生的一个个版本很多都是毫无意义的, 如果我把自动备份时间间隔设置为一分钟, 备份上限设置为 30 个, 那我的 30 个备份文件可能都是今天之内产生的, 它们之间可能根本没多大区别, 而且还会把今天之前的备份文件挤掉.
而手动保存就不一样, 写作者可以只在重要节点手动保存真正有意义的版本, 这样在回溯的时候也会更方便.
wm2 可以不启用自动备份, 只启用手动备份. 我感觉 wm2 的设计者对写作备份有很深刻的理解.
repository: 灵感+草稿+备注
非小说类文章的大纲靠正文中的 markdown 标题就行了, 但如果是为了构思一个故事, 我们可能需要写一点简单的草稿, 比如人物关系, 比如草蛇灰线的伏笔在何处埋下, 将来又在何处填坑; 在写作过程中, 我们随时可能会突然产生一些灵感需要赶紧记录下来.
在纸笔时代, 记录上面这些内容的方法可能是另外找一张纸, 现在 wm2 提供了一个简单的 repository 功能来帮写作者完成上面的任务.
在 wm2 中, 按下一个顺手的快捷键(
alt + r
或
F5
), 就可以在正文页面和一个附属页面之间切换, 附属页面和正文页面的内容实际上存储在同一个文本文件里, 只是在 wm2 中分开显示.
这个附属页面就是所谓的 repository, 可以快速记录草稿与灵感, 也可以把参考资料复制到 repository 页面跟正文来回对照.
极其强大的跳转功能
作为一个针对单篇文章的全屏写作软件, wm2 让用户可以快速方便地在文章内部的各个标题, 段落, 书签之间跳转, 或是在任何用户自定义的元素间跳转. 而用户需要做的, 仅仅是按下
alt + j
呼出跳转面板.
wm2 的跳转窗口有很多的细节, 比如每个元素上面都会以游标的形式显示该元素在整篇文章百分之多少的滚动位置, 方便用户把控篇幅.
wm2 的跳转功能非常强大, 再配合它丰富的快捷键, 可以让用户非常流畅爽快地进行写作.
注: wm2 的跳转功能除了可以在正文中使用, 也可以在 repository 页面中使用.
标题跳转
如果一个写作软件支持某种标记语言, 那么支持标记标题之间跳转就是一个天经地义的功能, 即使不能用快捷键来跳转, 最少也得提供一个常驻的 TOC 列表.
wm2 默认使用 markdown, 所有
#
标题都会被自动识别, 按下
alt + j
, 呼出跳转窗口, 各级标题都会显示在这里, 接下来既可以直接用上下方向键来选择某个标题, 也可以按下
tab
然后输入文字来过滤标题, 整个过程行云流水, 不需要光标的参与. 同时, 这个跳转窗口也可以让人鸟瞰整篇文章的大纲结构.
做到这个程度其实已经非常方便了, 但 wm2 并不满足于此, 因为用户即使会用标记语言, 也不一定选择 markdown. 必须考虑到使用其它标记语言的用户.
所以 wm2 允许用户用正则表达式来自定义包括标题格式在内的各种跳转元素, 除了 markdown 的
#
标题之外, 用户还可以把任何一种符号定义成标题, 甚至可以让多种标题符号同时存在.
什么叫极致细节啊?(战术后仰)
书签跳转
wm2 在文章内标题间跳转的功能很好用, 但是有些体裁是不需要标题的.
以小说为例, 一篇文稿的内部根本不需要任何
#
标题. 但是写作过程未必是一蹴而就的, 有时候也需要来回修改, 如果使用了细胞写作法, 雪花写作法, 卡片写作法等写作方式的话, 对整篇文稿进行前期的分块也是有必要的. 对于大纲式的写作, 那些待写的部分也需要加上 TODO 标记.
可是不用标题的话, 靠什么来标记这些呢?
wm2 的解决方案是, 提供一种特殊的书签(bookmark)符号:
///
, 做为一种特殊的跳转标记. 注意: 书签不能放在行尾, 每行只会有一个书签.
和标题一样, 书签的符号也可以自定义, 但是 wm2 很看重书签这个东西, 所以定义书签不需要正则表达式, 并且可以用快捷键
alt + m
快速插入书签.
按下
alt + j
呼出跳转窗口, 书签和标题被分别列在不同的 tab 页里, 也可以在文章的各个书签之间跳转.
比起标题, 书签最方便的一点在于, 所有书签符号可以在跳转窗口右下角的菜单里一键删除(只删除 /// 三个符号). 对于不需要小标题的小说类文字, 如果需要分而治之, 使用 wm2 的书签会很方便.
其它元素跳转
除了标题与书签, wm2 还可以用正则表达式定义以下几种元素, 它们全都可以被自动识别, 并且可以在跳转窗口中列出来:
评论(comment):
// 这是一句评论, 在导出菜单中, 可以选择是否将评论一起导出.
数字编号(numbering): 比如 2.2, 3.2.1 这样的数字编号, 可以用来管理带有数字小标题的文章. 它和标题的不同之处在于, 这些数字无论出现在正文中的哪个位置都会被识别出来.
引用(quote):
»Quoted text1«
"Quoted text2"
“Quoted text3”