在Emacs中使用中Denote做笔记
Denote (denote.el) | Protesilaos Stavrou是一个以命名为核心,基于Org mode的Emacs笔记插件。作者是 Protesilaos ,一位哲学家和Emacs用户。
他在自己的博客里说到:
1 | In a manner of speaking, I just talk to programmers about philosophy and to philosophers about programming. |
Denote 的核心理念在于它的命名思路,Protesilaos 认为文件名需要清楚表达文件内容,而不需要额外数据参考。这不仅适用于笔记,也适用于所有的视频、图片等文件。Denote默认对笔记的命名为:日期和时间–标题__关键词.文件格式(DATE–TITLE__KEYWORDS.EXT)。
其中日期为“年月日T时分秒”的一串数字和字母(YYYYMMDDTHHmmss),比如这个笔记的创建时间为20241020T121212.
在Denote中,每一个文件的区分以创建时间为主,不同的时间表示不同的文件,每一个文件以它的创建时间不变量。
这点和Denote的核心功能:“引用”有关,假如有一个文件为20241020T121212–Denote_in_Emacs__Emacs.md。在其它笔记引用这个文件时,Denote是用20241020T121212来引用这个文件的。
这样有一个优点:用户可以用任何软件随意修改文件的名称和关键词,而无需在修改后去其它文件中同步修改引用时的文件名。
缺点就是:不能在同一秒创建多个文件,Denote无法区分同一秒的其它文件。
Denote的基本配置如下:
1 | (use-package denote |
由于,Denote 使用了xargs作为反向链接的搜索工具,而Windows不自带xargs工具。
但Git for windows中自带xargs,于是把git的库填写到emacs的Path中,是一种可行的方法。
1 | (when (eq system-type 'windows-nt) ;; windows specific settings |