我的笔记本迭代历程

就在今天,我终于把我的MarkDown笔记迁移到一个令我非常满意的平台上了.好激动!!

缘起

究竟是怎么一回事?事情还要从我刚开始讲电脑生产环境切换到Linux说起。在有一天我终于受够了快要被塞满的电脑磁盘后,下定决心要切换系统,思考再三决定不再使用Windows,转而将Linux系统作为我的主要生产系统。主要原因有下面几点:

  1. windows系统过于繁重。使用半年左右居然就占据了进70GB的体量,还是在我在注册表级别关闭自动更新的前提之下。
  2. windows系统在终端程序的支持上弱于Linux
  3. Linux系统天生就是开发利器,因为基本所有服务器都运行在Linux平台之上
  4. Linux平台开发Android程序具有一定优势
  5. 合适的Linux系统体量很小,且非常灵活
  6. 在Linux系统之上具有极大地灵活性,让我免于受到第三方服务商的限制,对于系统可以做到更底层的控制
  7. Linux系统相比于Windows系统,中毒的几率更低 ,攻击破坏力更小
  8. 系统恢复成本更低,数据迁移更灵活

由于本文主要打算说明,关于Linux系统的挑选细节在这里不再详述,在这里只需说明在我经过长期的使用体验之后确定了deepin这一款由国人开发且在国际平台知名的基于debian的Linux发行版,体验很棒!(如有需要我会在后期分享deepin使用体验)

就在我切换到deepin系统之后,做开发的过程中确实舒服不少,而且由于其天然的优势,在链接服务器方面也更加方便,很多工作几乎不需要依靠第三方平台软件,只需要在终端里输入指令就可以完成,这一点绝对是Windows不可能做到的。世上没有完美的事情,总会多多少少有一些缺憾。

编程过程确实感觉很不错,但是不就我就发现一个问题,那就是笔记记在哪里呢?

在Windows时代,我的笔记大都记录在印象笔记中,积累到现在已经有998篇笔记(还有110篇躺在废纸篓里),使用很方便,在我还是用windows+Android的时代更是如此,印象笔记在这两个平台的支持非常友好,特别是他的网页剪藏功能,简直就是网络摘录的利器。

IMG_0342.png

但是后来,我还是放弃了印象笔记。为什么?就是因为一件事情,那就是印象笔记,不支持Markdown!

markdown是什么

维基百科中的说明如下:

English Wikipedia

Markdown is a lightweight markup language with plain text formatting syntax. Its design allows it to be converted to many output formats, but the original tool by the same name only supports HTML.Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

Chinese Wikipedia

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。[4]这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

那么markdown可以用在哪里呢?举一个常见的例子就是在github的开源项目自述文件中。(图为作者开源项目)


在github等代码托管平台上,常常需要对项目做说明,在这时markdown可以发挥其强大的作用;除此之外,markdown作为一种轻量级的写作语言,可以让写作者把精力放在内容本身,把复杂的格式调整交给几个简单的markdown符号完成,之后就可以到处html甚至直接导出格式化的word文本,使用起来极其方便,初次之外,诸如思维导图这样子的结构化文本更是可以与markdown互转,灵活性非常高。

说了这么多,我用markdown做什么呢?一切文字可以总结为两个关键词:

  • 写博客
  • 记笔记

基本上就是用于这两个用途,在接触到markdown之后我果断放弃了第三方提供的各种编辑器,因为现有提供的编辑器就算是功能再强大,都存在一个问题,那就是×迁移性×。现有强大的编辑器可能在单个平台上做的很美观,但是如果需要从一个平台将内容转移到另一个平台上时候常常需要进行一个很痛苦而机械的格式转换过程。这一过程在我将自己的博客从WordPress迁移到hexo上时候有了切身的体验。

解决这一问题的答案就是markdown,markdown是一种通用且轻量的标记语言,可以很灵活的从markdown将内容转移到其他平台,而且这一过程非常快捷。初次之外markdown还具有灵活的特点。在当前的大环境下有太多的开源作品支持markdown或为其赋能。无论是编辑器、博客、图床,都有很多开源好用的项目,都是一些让人用了就爱上的东西。

可能markdown的使用会令一些不喜欢甚至厌恶计算机编程的人望而却步,但是我作为一个大学开始学习编程,后来自学markdown使用的人来说,markdown真的是如果不用,就是望而却步,但有一天用了,就再也离不开的东西。

markdown笔记本环境

铺垫了这么多,到这里终于要说到本篇博客的重点了,那就是如何使用markdown呢?在这一过程中我进行了很多的探索,希望将自己的经历尽可能全面的记录下来,帮助有需要的人。

markdown笔记具有下列优势:

  • 轻量级
  • 灵活性高
  • 可扩展性强

基于上列说的所有,我下定决心使用markdown作为自己记录笔记的工具,那么问题来了,如何找到适合自己的markdown笔记方式呢?

好了,问题出现,先来分析一下我需求:
我需要一个笔记本,这个笔记本必须支持markdown,而且提供很好的转换功能,提供云同步功能,并能够在所有平台运行,我的所有数据必须在全平台内可以无线同步,除此之外软件交互要做的足够简单且美观,符合我个人的审美,即使需要收取一定费用赞助也可接受(当然要在我自己的承受范围之内)。总结一下大概就是下列几点:

  • 云同步
  • 跨平台(linux+android+macos+ios+windows+web)
  • markdown
  • 简约时尚美观大方

需求明确了,下面就要寻找解决方案。解决方案大概可以从两条路走,第一条就是寻找一个一站式服务平台,即找到一个笔记本服务商,提供我需要的所有功能,当然这是最理想,比如印象笔记(但是印象笔记不支持markdown,虽然它在windowsn和mac上已经支持,但是不支持全平台)。第二条就是我可以找一个云同步存储服务+markdown编辑器。第一条路可能很困难,这个有些看运气的成分,碰到了就是缘分,不知道就是无可奈何。所以先从第二条下手。

Cloud | 云存储

先是云存储提供商,经过我长时间的搜罗,大概总结了下列云存储提供商,将我所知道的关键词放在后面的括号中,仅供参考:

  • 百度云盘(极不灵活、限速、几乎不可扩展、墙内)
  • 坚果云(国内最灵活、具有一定扩展性、限量)
  • iCloud(墙内、mac生态良好、对外扩展性几乎没有)
  • OneDrive(半墙、灵活、功能强大、扩展性好、同步)
  • Dropbox(墙外、灵活、美观、扩展性好、限量、同步)
  • MEGA(墙外、安全、较灵活)
  • Google Drive(墙外、很灵活、很强大、扩展性很好)
  • NextCloud(开源、自建、灵活性极强、性能限制于个人服务器)

可能看着这个说明有些迷茫,在这里简单说明一下,灵活性是指其是否能够灵活的对接各种平台,而不局限于官方提供的客户端;扩展性是指是否有其他第三方的扩展可能性;限速、限量不言而喻。在这特别说明一下nextcloud,这是一个开源的服务平台,搭建在自己的服务器上,可以对接各种第三方存储平台,操作较为专业,数据安全有保障,但性能受限制于服务器性能。上述的云提供商各有优缺点,但是可以就使用场景做一些推荐:

  • 若常常需要在国内进行官方的数据共享,百度云盘可以说是最正牌可靠地提供商,但是个人使用成本较高,同时不具有什么扩展性,对接资源尚可,对接数据就很困难,因此个人并不喜欢这个平台
  • 若需要进行小数据量的同步和共享操作,坚果云可以说说是不二之选,提供限量的不限速数据存储,不限制总量,而且可以提供团队协作,因此在小团队之间进行不频繁的数据交换很方便高校
  • 苹果用户自然是iCloud不必多说,内部生态让人进去了就不想出来
  • 如果office使用较多可考虑onedrive,功能强大,文档编辑很爽
  • 除了文档外更多的数据交换等可以考虑dropbox
  • 安全性要求较高可以考虑MEGA,加密传输,甚至密码不可找回
  • 喜欢折腾可以使用NextCloud,搭建在自己的服务器上,很有意思

说了这么一圈,我对于云存储的需求几乎没有一个可以满足,满意的几乎需要科学爱国,这就增加了操作复杂度。

最终考虑Dropbox和onedrive,虽然不是那么满意,但是能用。

Editor

markdown编辑器太多了,两只手都不够用,在这里我就大概总结一下我接触到的较好用的的编辑器。

  • vscode(微软良心之作,对markdown的支持不用多说,本身就是ide,编译文字能力不会差)
  • typora(官网,桌面端跨平台,windows+linux+macos,简洁高效)
  • iA Write(支持苹果和安卓,高颜值,我很喜欢)
  • mweb(ios+macos)
  • 马克飞象(专注于印象笔记)

多的不说了,太多了,编程的时候几乎是一个ide都是支持的,除此之外桌面端可以考虑typora,很简单好用,移动端考虑ia write,很好用,但是苹果收费,付费不亏,让人用了就上瘾的东西。

到了这里其实也发现了,我的文字中几乎就透露了一些消极,因为我几乎在近半年时间中都在探索是否有一种好的方式,而在我发现自己最满意的Simplenote之前,几乎都在被上述平台“折磨”,说是折磨并不是他们不好,在某一方面来说他们都太优秀了,只是不符合我的需求。我尝试过下列组合

  1. OneDrive + typora
  2. 马克飞象 + 印象笔记
  3. DropBox/OneDrive + iA Write
  4. 甚至还有Cloud Studio + Coding

第一个组合由于其不支持移动端,因此几乎不怎么用,第二种勉强支撑了一阵子,但是在ipad上的体验真的不好,第三种由于iA Write在ios上做的实在是太精美了,让我开心了很久,但是还是因为无法做到同步,因此淘汰。最后第四种也用了挺长一段时间,但是由于腾讯的CLoud Studio不是那么稳定,而且在移动端的浏览器支持没有那么好,还是不那么好。

note | 笔记本

其实第一条路和第二条路只是在行文中想到的更好表达的方式,在实际中我是在各方面一起探索的,在此整理一下本人目前了解到的具有多端同步功能的笔记本。总结一下大概有下面几个:

  • Evernote | 印象笔记
  • OneNote
  • 有道云笔记
  • Simplenote

下面结合自己的精力讲一讲自己的一些印象,还有一些自己体验过但是没有深入了解的笔记本软件就不提了。

印象笔记,不得不说这是一款非常优秀的笔记本软件,具有良好的扩展性,可针对印象笔记开发很好用的第三方插件,功能易用,上文也提到本人已经在此之上记录了一千余笔记,体验很棒,但是最终就是由于一个不不支持markdown,我放弃了它。可能有人会说,它支持呀!没错,印象笔记在mac端很早就是支持markdown了,在Windows也是近期退出了markdown的支持,但是在linux平台,确实灭有很好的印象笔记产品,而且在移动端也并不支持markdown,因此我最终将它作为次一级工具,因为他的一些功能还是很好用的。

OneNote。不得不说这是微软出品的一款很优秀的笔记本软件,具有良好的扩展性。特别是在windows设备上,且在surface上拥有很好的原笔迹体验,最大化的保留了笔记的自由度,纸张无限拖放,真的是让我爱不释手的作品。但是由于其仅仅在Windows的平板设备上体验良好,本人对于这样的平板并不是十分满意,因此也算是忍痛放弃。

有道云笔记。网易出品,一定是精品。网易的东西有自己的风格,我没有深度使用故不过多评价呢,但是其支持markdown,且跨平台云同步,但是由于其具备广告特性,故本人不是十分喜欢,且扩展性不是那么强,因此我几乎没有在这里停留太久。

Simplenote。

The simplest way to keep notes.

Light, clean, and free. Simplenote is now available for iOS, Android, Mac, Windows, Linux, and the web.

本片文章就是使用Simplenote完成,它就是我寻找了半年之久的最佳伴侣。看到他的特性之后,我几乎是毫不犹豫将自己的笔记迁移到这个平台,主要有下列几几个原因:

  • 全平台,特别是Linux
  • 多端云同步
  • 为markdown量身定制,符合markdown思想
  • 界面清新美好,简约大方,大气,实用。

不必多言,现在的笔者已经是很疲惫了,一方面是喜悦,因为我太满意了,这个问题困扰了我很久很久,如今终于有了一个我比较满意的结局。另一方面,这么久的寻找,我真的好累。不过还是很兴奋的,兴奋道立刻写了一篇文章。事实说话,其实经历了这样一件事情,我弄懂了几件事情:

  • 别人的就是别人的,探索到最适合自己的才是最好的
  • 别人那里好的东西,不一定在自己这里也是好的
  • 任何东西,但凡是自己探索得到的,一定是异常珍贵的
  • 不要总是抱怨,去解决问题,付出努力,然后得到自己满意的结局

最后放几张截图吧:

Linux:

ipad:

IMG_0341.png

Android:

Screenshot_20190616-002428_Simplenote.jpg

这几张截图就是我分别在三个设备截取后图床获取链接后插入文章的,感觉很棒。

祝贺自己,今天终于得到一个我所满意的笔记本了。但是在最后还是要说明一件事情,就是对于一个新东西需要一个接受过程,如果从来没有接触过编程或者没有接触过markdown的人可能使用起来不是那么的惊艳,因为有些东西就一定是需要有一个探索的过程或者是接受的过程的。不管怎样,此刻我体验到了极大地满足感,但同时也感觉到其实没有什么特别,因为发生的一切都是努力的成果,如果努力后还没有成功,那就加倍努力。

参考文献