使用markdown进行文字编辑已经差不多都要有三年了,这个时间放在我年方20出头的芳龄里,好像也差不多是一个初中,或者一个高中的年纪。本来没有想过要在这件事情上,这么一本正经地进行一次安利。都是在各种聊天里满怀热情地去细心推荐的,但是发现收效甚微。
随着我年龄渐长啊……我发现我对这种感染他人的事情,越来越力不从心了,再也没法那样元气满满地跟别人拍胸脯了……但是好的东西始终还是要分享的,这不是我们的核心精神吗。
markdown的基础语法其实根本不太用多说,去百度一下“作业部落”什么都一清二楚了。虽然这样生硬地打了一波软广,但是我并没有收钱。作业部落的确是我认为样式优化还有编辑体验都不错的一个编辑器,并且一登录就可以看到语法提示页面,我经常在有时候忘了一些高级用法的时候去看看。但是他并不是我最推荐的编辑器。
一个好的编辑器真的是影响文字编辑体验的核心啊。既然md已经把所有的语法操作都能放在键盘上解决了,而且我们也不考虑键盘显示屏这些外因的时候,编辑器的字体,同步滚屏预览的效果,最终渲染的效果和通用程度……这些才是“当我们在讨论markdown的时候,我们谈论的重要因素”。接下来我就围绕这几点,给大家谈谈我的想法。
- 编辑器字体
这篇文章我是直接在cnblogs的文档编辑器上写的,说实话写到这时候,我已经基本不太想接着写下去了。行间距,字体大小,分段的段间距,以及特殊语法生效的小提示一个都没有。打了半天跟在写字板上写并没有啥差别。这种编辑体验本身就很不舒适,很多程序员其实在选择IDE的时候也会有类似的需求,要有看着不累的字体,合适的字体大小,还有适合理清思路的分段间距。这一点其实大部分专门做md的编辑器都会做的比较好,但是也难保有些极客喜欢用VIM来写小的md文档,例如readme?
如果你想要一种,比较特别和舒适的编辑环境,我比较推荐专门为了写md下载合适的编辑器。所以我们淘汰掉这种,不友好的cnblogs内置编辑器或者写字板,大家应该没意见吧。 - 同步滚屏
既然我们选择了md专用的编辑器,那么一般都会是有“预览”效果的,但是其实这个真的……我觉得到最后,这种同步预览的效果大部分md使用者熟练掌握语法后是会摒弃掉的。理由如下:
- 我在使用md进行编辑的时候,大部分是做课堂笔记(写字不如打字快系列),或者是开视频会议的时候做纪要。本身笔记本的屏幕就不是那么空间宽裕了,因为横向分辨率更高的视频占去了不小比例的时候,我一般把笔记都缩减到屏幕三分之一宽度或者更小的区域去做。这种时候是不太可能开启同步预览的。
- 假设我并没有开启视频,而是单纯输出文字而已。那我的编辑器宽裕到充满整个屏幕,但是开启同步滚屏就会把我编辑区放到屏幕左边(有些编辑器是可以调整编辑区和预览区的左右位置的)。这就有点别扭……并不能说我长时间头偏向左边或者右边这么一小个角度就会多难受,只是感觉没有“雨露均沾”就很不舒服。我相信有这种感觉的肯定不是就我一个,因为在简书里,如果开启文档编辑,会有一个“写作模式”的选项,那种舒适的居中显示,并且底色和字体颜色也很恰到好处,的确是可以让人更加集中注意力放在写作上的。
- 虽然上面两点已经足够让我忽略这个同步滚屏,但是还是要再补上一刀,那就是其实是有比同步滚屏更好的解决方案的,就是有一些编辑器在你不是很熟悉语法的阶段,可以让你直接在预览界面进行修改和编辑,例如我现在也在用的Typora,他有一个code模式和一个preview模式,并没有同步滚屏,输入体验好到让你基本忘记掉还有同步滚屏这回事
- 语法渲染效果和通用程度
在上面的第三点中,我们提到了Typora的双模式切换实现预览渲染效果的目的。其实渲染就是我们通过语法实现md排版的方式,不同的平台或者编辑器,针对相同的语法文本渲染的结果是不一样的。打个比方就是Typora这个编辑器不支持多级无序列表,但是有些例如为知笔记的mdedit插件是支持的。但又或者说为知笔记的部分md语法例如框图和甘特图是特殊的,和别的平台不同,也是可能的……
除了上面说的语法渲染的通用性不同,最终我们生成PDF或者HTML或者是保存在博客的渲染效果也是不同的。但是这一部分就不赘述了,因为大部分极客用户会去网上选择自己喜欢的CSS渲染样式或者是自己写一个。如果硬要说通用性你要通过自己去写JS文件来补充或者是修改一部分语法……那我也没得反驳。
其实我们大部分不会真的去修改CSS或者是JS文件,所以我们还是会依赖编辑器本身自带的主题和默认的渲染样式(我这样说是不是又毙了一堆用sublime和atom做markdown编辑的大佬的,罪过罪过)。那在考虑这点的时候,就需要同志们在上手一个编辑器的时候,基本就确定了解自己大部分编写的文档是否经常需要使用一些特殊语法(例如流程图和甘特图或者是数学公式等),如果需要,就去对这类支持较好的平台上进行写作;如果需求不高,那就找一个比较通用支持的渲染,例如git上的渲染类型就很多平台都支持。 - 是否支持直接输出渲染文档
上面的那个问题,可能会出现一种难以取舍的问题。“我真的好喜欢这个文档输出的样式啊”,“我真的好享受在这个编辑器上编辑的感觉啊”……诸如此类,如果你真的很喜欢他的渲染样式,你就要考虑,这种渲染样式能不能保存输出。保存成PDF就不会出现别的地方的渲染问题了呀,发布到关联的博客上也不会有太大问题了呀;我就在本地浏览,不准备发布的,也不用考虑这个问题……
但是如果编辑器仅仅是编辑器,不具备发布功能,那你在把它复制到博客(例如这个cnblogs,或者CSDN或者简书)的时候,就要仔细检查一下语法是否会出现问题了。因为我有过这种情况,在编辑器上的时候,渲染还是挺好的,直接复制到博客上然后发布,发现代码段和文章段都有错位的问题。
有些编辑器是支持一键将渲染好的文档发布到博客的,例如为知笔记就有这种功能,但是我尝试过将为知笔记发布到cnblogs,体验应该说不是很好,修改也很不方便。而且因为想要修改cnblogs的CSS样式的时候,发现这种一键发布的博文都是还是用的<wiz-markdown>
类型,无法直接统一修改。 - 是否能方便从剪切板中获取截图
重要的都说完了,我再说一小点点关于我自己要吐槽的。大家都知道md的实现其实就是HTML渲染,所以添加图片,就成了一个很特别的动作,不再是直接复制粘贴就可以的了,而是要通过编辑器生成一串字符,最后通过渲染生成。这个操作就违背了我们最初使用markdown“抛弃鼠标”的目的了。目前为止,我感觉在这块做的最好的还是为知笔记的editmd插件(恕在下真的没有用过印象笔记,更没用过马克飞象)。
最后我就直接说结论吧,我现在最喜欢用的还是为知笔记,配合他的editmd插件,可以选择多种样式和渲染主题,并且支持云端存储笔记,一键导出pdf,剪贴板图片无缝转换成字符插入文档……
唯一一点我觉得他做的不好的就是准备写作环境很麻烦,界面需要七七八八按很多按钮才能最后调整成一个没有预览、没有侧边栏目录导航,工具栏lite的界面,而且文档超过两百行之后,有明显的延迟;查看完预览模式后暂未找到快捷键退出预览模式回到编辑模式,还要用鼠标点……
刚想和wiz讨一点软广费,发现自己要吐槽的还真的不少。不过爱和恨都是并存的啊,它的确是目前为止我觉得最适合我的一款文字编辑器了,虽然还是有很多缺点……
通过上面的几个维度的考量,相信你也能找到自己喜欢和合适的md文档编辑器。
别怕麻烦……我们不是要变成极客的人嘛?