笔记的类型
使用了几种不同的笔记软件,总结了一些经验,我的笔记主要分三种:
- 复杂的图文笔记:主要是看书或学习时记录的。
- 剪藏笔记:保存一些网页,要能打标签,方便查阅时搜索。
- 其他笔记:包括简单的图文笔记、带其他类型附件的笔记、可能会发布到网上的笔记等等。
笔记软件的选择
主要有两个因素:
- 软件的易用性,最早我只使用印象笔记,随着需求增多印象笔记渐渐只作为网页剪藏库使用了,下文会详细介绍。
- 跨平台,我主要使用的操作系统:Windows > Android > iPadOS。
弃用的软件及理由
- Notability/Bear 等各种 iOS/iPadOS/MacOS 独占的笔记软件:因为我经常要用 Windows 写笔记。
- Joplin/为知笔记:这两个对标印象笔记,早期这两个短板都比印象笔记明显,我也就一直沿用印象了,如果现在为知笔记解决了搜索和剪藏的问题的话,60 元的年费还是很划算的。
- Typora:
- 只是文本编辑器,因为可支持的 Markdown 语法取决于生成器,所以 Typora 对 Markdown 的私有扩展完全用不上。
- 效率派,相比实时渲染,软件不卡顿更令我愉快。
- 自建 WIKI 类:语法有点复杂了,比 Markdown + HTML 心智负担大,而且使用本地数据库的话同步也不方便。
- 幕布等导图生成类:适用范围太窄。
- 有道笔记/语雀/Notion/各种系统自带便笺/Obsidian 等等:私有格式或者不支持导出,迁移不便。
我用到的软件
只用来做复杂的图文笔记,尤其是需要画图的笔记,因为:
- 优点:
- 图文混排这一点 OneNote 确实没有对手,OneNote 是自由画布,所有元素都可以随意摆放,加上手写笔更是如虎添翼。
- 笔记本 + 无限层级的分类,尤其适合按章节做学习笔记。
- PC/Android/iPad 跨平台。
- 缺点:
- 自由画布用着很爽,但基本只能在 OneNote 内使用,导出成其他格式很不方便。
- 没有标签。
- 文本样式完全不能自定义。
只用来剪藏网页,因为:
- 优点:
- 网页剪藏非常好用,格式和附件都能完整保存,吊打同类软件。
- 缺点:
-
不支持多级分类,最多用“笔记本组”模拟两级分类。
-
虽然能插入图片,但不能在任意位置添加注解。或者可以在图片上注解,但注解会被合并到原始图片上。
-
印象笔记以文字笔记为主,但对 Markdown 的支持被设计得很蹩脚。
-
虽然导出很自由,但是基本不能自己设计样式,排版也不是完全自由的。
-
印象笔记国内版:印象笔记本来有免费版、标准版、高级版,本来我是印象笔记高级版用户,但是——
前几任县长把鹅城的税收到 90 年以后了,也就是他*的西历……3010 年了。
——《让子弹飞》
——然后推出了专业版,并且高级版还不能关掉升级专业版的广告,这是我抛弃印象笔记最重要的原因。
用来做不需要随手涂鸦的其他笔记,尤其是文字为主的笔记,因为:
- 长期实践下来,我发现将大量 Markdown 文本文件在本地组织成静态网站可以在撰写和预览之间取得平衡,比较高效和美观,也方便分享,这一点 OneNote 和印象笔记不具备。
- 图文混排和完备的剪藏不是我随便写写就能开发出来的功能,所以也不能抛弃 OneNote 和印象笔记。
- VS Code 是个不错的编辑器,功能强大、插件丰富,我自己开发一个编辑器不会比它更好,所以只再需要一个生成器就好了。
- 对于 OneNote 和印象笔记的缺点,以及其他静态网站生成器的不便之处,我自己开发了 Beex 来弥补。
具体的:
- 多级分类和源文件排序
- 既然使用文本文件来作为自己的笔记源文件,那么就可以直接用文件夹来当作分类,自带多级分类效果。
- 其他静态博客系统可能会根据源文件所在位置生成最终的固定链接,这意味着如果移动了源文件,超链接就失效了,所以 Beex 被设计为输出路径与源文件的路径无关。
- 我在配置文件中这样写:
new_dir_name_format = '{yyyy}{mm}{dd}-{title}'
new_file_name_format = '{yyyy}{mm}{dd}-{title}'
这样当我执行 bx new 文件名
时,文件名会在前面自动加上年月日,这样文件夹内的文件就有了固定的顺序,不会因为改 title 而改变顺序,找的时候很快。
- 支持标签
- 一篇文章不能同时放在多个文件夹里,有些时候还是需要交叉索引,所以用标签来补充。
- 附件跟随文章位置
- 其他生成器可能会要求附件统一放在某个目录中,这样附件多了基本无法维护,所以我将 Beex 设计为文章的附件可以和文章放在同一个文件夹内。
- 附件有时会包含一些原始素材,既不想分开存放,也不需要将它们上传到服务器中,这就需要渲染时能直接跳过某些文件,在 Beex 中,文件名或文件夹名以
_
开头会直接跳过。
- 生成要足够快,这样能随写随看,不能每次生成都要等很久。
- 根据不同的用途,可以建立多个站点,比如这个站点的内容是可以上传到服务器公开的,还有几个站点是只在本地浏览的私人笔记。
如果只搜索标题,使用 Windows 资源管理器自带的搜索就可以。
对于搜索内容,由于 ripgrep 超快,所以我推荐你下载它,大小只有 1M 多一点,堪称搜索神器。
32 位 Windows 下载 ripgrep-x.x.x-i686-pc-windows-msvc.zip
64 位 Windows 下载 ripgrep-x.x.x-x86_64-pc-windows-msvc.zip
- 优点:
- 快,非常快,没见过更快的了。
- 小,解压后也就一个 5M 的
.exe
文件。
- 支持各种搜索方式,文件名、内容、反向匹配……想怎么搜就怎么搜。
- 缺点:
- 有使用门槛,需要会用命令行,了解正则表达式。
解压后把 rg.exe
文件复制到 bx.exe
同样的目录下,就可以使用 rg -t md xxx
搜索 xxx
了。
命令参数简单说明:
-t md
表示只搜索 .md
文件,以免各种文件都被搜索,返回的结果太多。
- 不区分大小写:
rg -t md -i xxx
。
- 带空格用引号括起来:
rg -t md "x x x"
。
- 使用正则表达式搜索:
rg -t md "[0-9]+"
。
- 支持中文。
- 更多参数见项目主页:ripgrep