使用 Markdown 和 Git 的出色笔记系统(第 1 部分)

2025-06-07

使用 Markdown 和 Git 的出色笔记系统(第 1 部分)

一位开发人员的笔记习惯的演变……

我目前使用一种非常简单且有效的笔记系统,包括以下内容:

  • Markdown 文件
  • Git
  • Shell脚本

我想解释一下它的工作原理,希望能帮助其他人制作自己的笔记。但首先,我想再多谈谈我过去做过的许多其他笔记方式,以及它们的优缺点,以及为什么我最终选择了现在的系统。我认为这将有助于更好地理解 Markdown 文件 + Git 的优势。

纸质笔记本

以前,我用纸质笔记本记笔记。我总是遇到一个问题:每当一些重要的信息被记录下来,却因为时间流逝而忘记时,我就很难确切地知道它到底是什么:

a) 当我写下它时
b) 在哪里可以找到它

事实是,笔记本会被写满,而当我想回顾时,我可能正在使用完全不同的笔记本,这使情况更加恶化。

纸质笔记本还有其他缺点。我养成的一个习惯是列待办事项清单。在纸上列待办事项清单似乎不值得费力,因为你要么把前几天的任务延续到新的一天,要么试图把一个清单连着写好几天。对于延续式列清单的方法,手动将文本从一页复制到另一页感觉很浪费时间(因为它确实如此)。对于单页列清单的方法,随着新任务的添加,你不可避免地会用完该页的空间,所以你必须做一件奇怪的事情,预留几页空白页。

所以,由于这些以及其他一些问题,很多年前我就不再使用纸质笔记本了。实际上,我大约17年前就开始了我的科技生涯,很久以前就放弃了纸质笔记本。

电子邮件

Outlook 内置了笔记、待办事项列表和日历。我以前做笔记的方式是给自己发邮件,然后标记需要处理的邮件,或者将其转换为笔记、待办事项或日历事件。

我很快就放弃了这个系统,因为它感觉太杂乱了。在层出不穷的新邮件中塞满笔记和待办事项,只会让整个体验变得混乱不堪。

OneNote

每个人都曾经使用过 EverNote 或 OneNote,我也养成了这个习惯。这些软件的一大优势是它们能够保存附件和与外部世界的链接。

我一开始觉得OneNote 太棒了。笔记“存储在云端”的 OneDrive 里,因此随时随地都可以访问。我可以用手机、平板电脑或笔记本电脑记笔记。我可以分别使用个人和工作用途的笔记本,但使用同一个系统。

然后,我遇到了一系列与知识产权和安全相关的问题。我的公司实际上禁止我们在公共云上做笔记。如果我指向一个工作管理的 OneDrive 实例,我仍然可以使用 OneNote。但这让“随处笔记”的承诺不再现实,因为我只能使用通过 VPN 连接到工作网络的设备。

尽管如此,这个问题还是很容易解决。

然后,一个新的问题出现了。我的笔记习惯发生了变化。我不再只在会议或任务清单上做笔记。我是一名软件工程师。我开始在笔记中使用等宽文本。我有一些 Java、BASH、JS、XML、JSON 等代码片段想要记录下来。很多时候,我希望以某种方式格式化它们(空格而不是制表符!),而这种方式在 OneNote 中实现起来非常笨拙。

原始文本文件

此时,我将其转换为原始文本文件。我编写了一个非常简单的 Bash 脚本,以便可以在终端中输入注释,以便快速记录:

$ n 'Had a meeting with Cindy today'
Enter fullscreen mode Exit fullscreen mode

我的脚本会自动为笔记添加时间戳,并将其保存到以当天日期命名的文件中。如果该文件尚不存在,它会创建它。如果该文件已存在,它会将其附加到文件末尾。

这是一个非常简单的系统,不需要太多的开销就能提供一些巨大的优势:

  • 袖珍的
  • 易于搜索(使用 grep)
  • 由于代码片段是文本,因此对代码片段有很好的支持

但也存在一些缺点:

  • 无法链接到外界的任何内容(没有可点击的 URL)
  • 没有图像、音频、视频等。

因此,这个系统对我来说运行良好,持续了大约一年,但我发现我有许多白板绘图的照片或从 LucidChart 导出的图像文件,甚至还有测试计划等文件附件,我只能在文本笔记中顺便提及,而不是直接包含它们。

所以,我进化了。敬请期待本系列的下一篇,我会详细解释我是如何进化的。

文章来源:https://dev.to/scottshipp/an-amazing-note-takeing-system-with-markdown-and-git-part-1-48b1
PREV
Git Flows 之战
NEXT
提升 JS 解构和扩展语法的 4 种方法