Markdown标记语言一直是许多程序员的最爱。目前,有许多优秀的Markdown编辑器,也有许多优秀的笔记软件,但是能够支持Markdown并提供优秀编辑体验的笔记软件却并不多见。
我之前一直用的是为知笔记,支持Markdown,支持Linux。但用过的估计都会被其捉急的Markdown编辑体验伤害过。为知笔记并不是使用纯文本来编辑Markdown,而是使用HTML,因此格式往往很混乱。另外,编辑的时候,无法查看大纲,往往很难跳到笔记的某一处上。我也使用过一些Markdown编辑器,很多都支持实时预览,但感觉这样还是将Markdown的编辑与预览割裂开来了。后来,有一段时间使用Vim配合语法高亮来编辑Markdown文件,发现体验还是不错的,通过恰当的语法高亮,能够让作者在编写的时候容易看到各个标题段落、强调等;但有一个问题,Vim无法显示图片。
于是,我萌生了编写一个Markdown笔记软件的想法,希望通过精心调教的语法高亮,编辑时预览图片等功能来将Markdown与生俱来的编辑与阅读的割裂感降到最低。刚开始计划能够兼容为知笔记的服务器,利用为知笔记的多个客户端,但后来为知笔记更改服务政策,因此这个想法也就作罢了。
VNote主界面
简介
VNote是一个基于Qt框架的、免费的开源笔记软件。VNote专注于Markdown的编辑与阅读,以提供舒适的编辑体验为设计目标。
基于Qt框架,VNote能够在主流操作系统上运行,包括Linux,Windows以及MacOS(未测试)。Android客户端目前也在开发计划内,敬请期待。
动机
Markdown编辑器与笔记管理
VNote设计为带有笔记管理功能的Markdown编辑器,或者有良好Markdown支持的笔记软件。
目前一些流行的笔记软件也提供Markdown的支持,比如为知笔记、有道云笔记等,但是大多数都只是简(liao)单(sheng)支(yu)持(wu),特别是在Linux平台上更是体(can)验(bu)不(ren)佳(du)。
当然,目前也有很多非常强大的专注于Markdown的编辑器。但是,大多数都不会提供笔记管理功能(作为一个编辑器,也没有必要提供),或者只是提供一个简单的文件系统浏览器。其中,CuteMarked就是一个流行的Markdown编辑器之一,VNote在实现的过程中也在很多地方参考借鉴了该软件。
舒适的Markdown体验
VNote尝试尽量减小Markdown与生俱来的编辑和阅读之间的割裂感。目前很多编辑器通过左右两栏来同时编辑和预览Markdown,但是编辑和阅读还是割裂明显。VNote利用准确有意义的语法高亮来帮助用户追踪、辨认笔记内容,使得Markdown在编辑的时候也能和阅读一样提供良好的视觉、排版效果。同时,VNote支持编辑时原地预览图片,进一步减小割裂感。使用VNote后,你一定会更想留在编辑模式。
另外,VNote也借鉴了Vim和Shell来提供很多非常方便高效的快捷键。VNote目前没有提供真正的Vim模式,这是因为和编写代码不一样,在编辑笔记的时候用户一般都是顺序编写的。
功能
基于笔记本的管理
VNote使用笔记本来管理笔记。类似于OneNote,一个笔记本可以保存在系统上的任意位置。一个笔记本对应于一个账户的概念。例如,你可以在本地文件系统上有一个笔记本,另外在某台OwnCloud服务器上保存另一个笔记本。当不同的笔记有不同的保密要求时,独立的笔记本就非常适用了。
一个笔记本对应于文件系统上的一个独立完整的文件夹。你可以将该文件夹拷贝到其他位置(或者另一台计算机上),然后将其导入到VNote中。
VNote支持一个笔记本中包含无限层级的文件夹。VNote支持在笔记本内或笔记本间拷贝或剪切文件夹和笔记。
VNote文件夹导航栏
直观的笔记管理
所有笔记被保存为纯文本而且通过纯文本的配置文件进行管理。即使没有VNote,你也能方便访问你的数据。这样,你也可以使用第三方的文件同步服务来同步你的笔记,并在另一台计算机上导入到VNote中。
VNote支持Markdown和富文本笔记,其中Markdown笔记必须以md为后缀名。
最小化编辑与阅读的鸿沟
通过使用有意义的语法高亮和其他一些功能,VNote尽可能为Markdown提供所见即所得的体验。
语法高亮
VNote支持精确的Markdown语法高亮。通过精心调试的高亮样式,VNote使得你能够轻松跟踪和阅读你的文档。
语法高亮
实时图片预览
VNote支持在编辑时预览图片链接。这样一来,你就能尽可能地留在编辑模式,避免频繁切换。
如果想要拷贝图片,可以选取该图片,然后复制。
实时图片预览
良好的图片体验
编辑时,支持像其他富文本编辑器一样直接粘贴插入图片,VNote会帮你管理所插入的图片。VNote将这些图片保存在和笔记同一目录下的images子目录中。插入图片时,VNote会弹出一个窗口预览即将要插入的图片。另外,当你移除笔记中的图片链接时,VNote会自动删除对应的图片。
插入图片
编辑和阅读时交互式大纲视图
VNote为编辑和预览模式都提供了一个用户友好的大纲视图。该大纲视图是一个项目树,而不是简单地插入一段HTML。
大纲视图
同步编辑与阅读模式
切换编辑或阅读模式后,经常找不到原来的位置?在切换编辑或阅读模式后,VNote会定位到同一个小节下面,帮助你快速定位到原来所在的位置。
强大的快捷键
VNote提供很多快捷键,从而提供一个愉悦的编辑体验。
一些例子:
– Ctrl+W进入编辑模式;Ctrl+R保存并进入阅读模式;Ctrl+E最大化编辑区;
– Ctrl+D进入暂时Vim模式(比如支持hjkl移动光标);
– Ctrl+B,Ctrl+I,Ctrl+O插入粗体、斜体和行内代码。
窗口分割
VNote支持无限水平窗口分割,方便你进行笔记的整理和撰写。
窗口分割
高度可定制
VNote中,几乎一起都是可以定制的,例如背景颜色、字体以及Markdown样式等。VNote使用一个纯文本文件来记录你的所有配置,因此通过拷贝该文件就能够很快地在另一台电脑上初始化一个新的VNote。
多种定制选项
其他
VNote还支持其他很多的功能,比如:
– 高亮当前行;
– 高亮所选择的文本;
– 强大的页内查找;
页内查找
项目
欢迎勇士们试用:)。有任何疑问,都可以通过GitHub的Issue或者QQ群(487756074)或者邮件反馈。
目前VNote正在不断开发阶段,主要是根据自己使用的体验来不断改进和添加功能。项目地址为Github。