Eric's Blog 时光荏苒,岁月如梭

在 SpaceVim 中使用卢曼卡片盒笔记法做笔记

2024-12-11
Eric Wong

起因

前段时间整理自己的个人维基发现笔记太零散,很难快速定位到自己需要的笔记。 以往借助自己的 flygrep 插件根据记忆的关键字倒是可以找到相关的内容, 但是随着笔记越来越多,关键字筛选已经不足以快速定位了。 于是就想找一个更好的方式来组织管理日常的笔记,后来就了解到了《卢曼卡片盒笔记法

基于 Neovim 的 zettelkasten 插件

最开始,我是想找一个三端(手机、电脑、网页)同步的笔记软件,但是似乎没有合适的。因为都是文本编辑,而且如果要使用卡片盒笔记法的话, 那么笔记就需要遵循一定的格式。日常使用 Neovim 也非常多,几乎文本的编辑都是在 Neovim 内完成的,索性就不再舍近求远去找笔记软件了, 就直接在 Neovim 内完成。检索了下 Github 发现还是有不少现成的插件实现,但是功能似乎都不是很完善。

因此自己 Fork 了一个插件,在这个插件的基础上做了一些功能的改进和增加,有兴趣的话欢迎尝试:vim-zettelkasten

基于 Tags 的 ZkBrowser

浏览笔记列表时,展示笔记的引用数量以及被引用数量,同时列出笔记包含的 Tags 列表,如下图所示:

同时,在 ZkBrowser 窗口内支持的快捷键包括:

快捷键 功能描述
q 退出 ZkBrowser 窗口
<LeftRelease> 鼠标左键点击 Tag,筛选包含该 Tag 的笔记
gf 打开光标 ID 下的笔记
Ctrl-l 清除 Tags 筛选,列出所有笔记
Ctrl-] 使用 preview-window 窗口预览笔记
[I 使用 quickfix-window 列出 References
F2 打开 Tags 列表侧栏

侧栏的效果图如下,可以在侧栏窗口中使用回车键或者鼠标左键点击 Tag 实现筛选:

侧栏中,标签按照首字母归类,鼠标左键点击归类的字母,可以折叠这些标签。

使用 Telescope 检索 Tags

当笔记 Tags 非常多的时候,可以使用 telescope.nvim 进行检索,检索后默认的回车键行为是列出包含该 Tag 的所有笔记。 默认的快捷键为 SPC m z g

使用 Telescope 检索标题

笔记的标题(Title)也可以使用 telescope.nvim 进行检索,默认的快捷键是 SPC m z f

补全笔记 ID

在编辑笔记过程中,可以使用快捷键 ctrl-x ctrl-u 来打开补全窗口,补全引用的笔记 ID。

笔记模板的筛选

如果是使用 SpaceVim,可以通过 zettelkasten 模块选项设置笔记模板的文件夹,新建一些常用的笔记模板,比如:

[[layers]]
  name = 'zettelkasten'
  zettel_dir = 'D:\me\zettelkasten'
  zettel_template_dir = 'D:\me\zettelkasten_template'

通常基于默认新建笔记直接使用 SPC m z n 快捷键即可,如果需要基于其他模板来新建,可以使用快捷键 SPC m z t 调用 Telescope 检索常用模板。

Vim 的支持

因为 SpaceVim 默认是兼容 Neovim 和 Vim 的,因此后面是有计划让这个插件也支持 Vim 的,但是为了减少重复实现的一些代码,可能是需要 Vim 有 +lua 特性。

参考文章:


版权声明:本文为原创文章,遵循 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)版权协议,转载请附上原文出处链接和本声明。


延生阅读

分享到:

评论

目前只支持使用邮件参与评论。