作为经常使用Windows和Linux两大桌面系统的我来说,经常希望能在两个平台中使用同一套生产力工具,比如Chrome、Vim等。

作为重度笔记创作者,一直没有找到两个平台上都能很好工作的笔记软件,特别是针对Markdown的笔记软件。虽然有很多跨平台的Markdown编辑器,但不是编辑功能羸弱,或是清一色地双边预览,就是缺少文件管理功能。

不过,一年多前终于等到国内个人开发者开发的跨平台Markdown笔记软件VNote。在作者每月一更的完善和增强后,全新的VNote 1.22,终于让很多人,特别是程序员,在Linux有了一款胜任整理知识笔记的Markdown软件。

1. 自动补全

VNote里面的自动补全,是类似于代码编辑器中的自动补全,而不是常见的那种输入左括号补全右括号那种。这很是符合我的口味:很多时候,我就是喜欢我输入啥就是啥,有时候我就是要输入一个左括号,括号补全会打断我的输入思路。

VNote里面的补全和Vim里面的一样,需要通过快捷键Ctrl+N/P激活补全。VNote会将当前文章简单分词,然后作为一个候选列表供我们选择。在做代码笔记或者绘制UML图表的时候,面对冗长的类名字,这个功能简直是不能再爽。

自动补全
自动补全

当然,VNote里面也是支持快捷键输入常见标记的,如Ctrl+B会插入****,并将光标放在两个**中间,然后可以继续输入内容,结束后,再按一次Ctrl+B,光标会跳过后面的**,一气呵成,行云流水。而按Ctrl+B输入****后,如果后悔了,再按一次Ctrl+B会将这插入的4个标记符号删除。

2. 内容为大,专心记录

VNote在界面上的设计一直都是针对内容为主,尽可能最大化编辑区域。没有牛屎大的顶部按钮,没有摆设的侧边导航按钮,更没有闪亮的广告区域。

菜单栏可以隐藏,工具栏可以隐藏,文件导航栏可以隐藏,大纲栏也可以隐藏,也可以全屏,一个编辑区域可以占据整个软件界面。相比那种两边大量留白、编辑区域只占1/3的所谓专注模式,个人更喜欢这种清净直率的界面,特别是当一半屏幕参考一半屏幕记录的时候。

宽广的编辑区域
宽广的编辑区域

3. 强大的文档管理和分类

从未有哪个Markdown软件或者笔记软件能够提供VNote目前提供的文件管理体验。

3.1. 无限层级目录树和标记

VNote通过笔记本来管理笔记。我们可以根据数据的不同属性来建立不同的笔记本,比如个人的学习笔记、生活笔记和工作笔记。每个笔记本都对应系统上的一个文件夹,只需要把这个文件夹保存、同步妥当,我们就能在任意电脑上使用VNote来管理笔记。每个笔记本下面是不限层级的目录和子目录。

目录树
目录树

3.2. 标签

VNote同时也支持通过标签来管理笔记,可以为笔记添加多个标签,并按照标签来索引笔记。

标签
标签

3.3. 外部文件

另外,VNote也提供一个浏览栏来浏览系统的文件,从而可以作为一个普通的编辑器来编辑外部文件。或者,我们只需要将一个文件夹拖拽到VNote上面,VNote就会打开该文件夹。

外部文件
外部文件

3.4. 强大的搜索

很多Markdown编辑器都被我否定了,无他,就是因为没有全文搜索,一切都是白说。VNote提供的全文搜索除了强大,还可以用舒适来形容。

VNote配备了一个搜索栏。我在使用的时候,一般都是将该栏拖拽成一个浮动窗口,这样显示搜索结果的窗口会大很多。(其实,我很少使用搜索栏)

强大的搜索
强大的搜索

  • 支持“与”和“或”逻辑的多个关键词搜索;
  • 支持在已打开文件、当前文件夹、当前笔记本和所有笔记本中进行搜索;
  • 支持搜索文件名、路径、内容、标签和大纲(没错,能搜索当前所有已打开文件的大纲标题);
  • 支持搜索笔记本、文件夹或者文件对象;
  • 支持文件名模式过滤或选定特定文件,比如*.md搜索所有Markdown文件;
  • 支持大小写敏感、只搜索整个词、模糊查找和正则表达式(没错,有了正则表达式,你还想要啥)。

这是VNote搜索强大的一方面,舒适就体现在VNote的通用入口了。程序员估计都知道Vim的CtrlP插件或者SublimeText的随意跳转。通用入口就是这样一个功能。

通过快捷键Ctrl+G唤出一个简单的输入框:

舒适的通用入口
舒适的通用入口

输入q(表示在所有笔记本中根据文件名搜索文件夹或者笔记文件),然后输入关键词vim,马上就能列出所有名字包含vim的文件或者文件夹:

列出包含Vim的文件
列出包含Vim的文件

接下来,Ctrl+J/K就能在搜索结果中进行上下导航,Enter打开对应项目。对了,Vim对VNote的影响可谓是深到骨子里面的,几乎所有窗口都可以使用Ctrl+J/K进行上下导航;双手放在键盘上就是舒服。

4. 其他功能

4.1. 解析HTML富文本为Markdown格式文本

我们可以直接复制网页或者OneNote上的一段图文,然后粘贴到VNote中,VNote会尝试解析并转换为Markdown文本插入。非常方便对信息进行收集。

当然,很多工具实现这个功能都是基于开源库Turndown的,这就是开源的好处和力量!

4.2. 强大的快捷键

前面提到,Vim对VNote的影响是深到骨子里面的。

  • 编辑器支持Vim模式;
  • 阅读模式下,支持Vim导航、Vim查找等;
  • 大部分的部件都支持Ctrl+J/K进行上下导航;
  • 大部分的输入框都支持Ctrl+H/W/U来删除一个字符、一个词或者一行;
  • 引入舰长模式,通过前导键Ctrl+E避免大部分的快捷键冲突问题;
  • 引入导航模式Ctrl+E W后,所有部件都会显示两个提示字符,按下对应字符,对应的部件就可以获得输入焦点;可以看出,这是受Vim里面的EasyMotion插件的启发。

另外,VNote早期版本就支持正则表达式的页内查找和替换。

4.3. 强大的导出功能

VNote支持复制导出到微信公众号、OneNote等等,也支持在编辑模式下直接将所选文本转换为HTML并复制。

复制为微信公众号
复制为微信公众号

VNote支持导出为Markdown、HTML和PDF。对于PDF的导出,支持将多个笔记导出为一个PDF文件。支持通过调用外部工具(如Pandoc)来导出各种各样的格式。

VNote还有一个比较有趣的小工能小推车。类似于购物车,我们能将感兴趣的几个笔记放到小推车里面,然后在导出的时候把小推车里面的笔记统一导出。可以看到,作者在用心地将平时的使用经验融进到VNote里面。

5. 未来可期

以上只是VNote里面的几个主要功能,更多功能有待大家自己去发掘。个人而言,VNote给我们带来了舒适的Markdown体验和强大的文件管理,使得在Linux下做Markdown笔记从未如此轻松。如果你觉得VNote很好用,一定要去官网支持VNote哦!作为一款开源软件,除了能免费下载使用、没有广告、不用破解之外,更多的是提供了一个框架,让有能力的人能够按照自己的喜好去魔改一个属于自己的工具!希望有更多的程序员能参与到VNote的开发社区中。

VNote项目地址:https://github.com/tamlok/vnote