Org-roam(v2) 以及 org-roam-ui 的使用姿势(已支持Emacs 29 内置的 sqlite)

应该合入 org-mode :star_struck:

已经超过 10 个了,手工创建…… 我不懂得录制键盘宏

对于重复操作,宏还是很好用的。 可以参考我整理的一个文章,也是本论坛大佬分享的内容。

2 个赞

可以考虑在一个.org文件里面少写一些 node 。写太多会显得特别杂乱。另,写太多也不是太符合卡片笔记的理念。当然,还是根据实际需要来,如果需要在一个.org文件里面写很多 node ,可以绑定一个按键,这样可以少打几个字。

1 个赞

卡片笔记在我眼里是一个概念,而非一种固定的做法。并不是把笔记存进一个文件才叫卡片。我放在一个 Org 文件里,本身也是方便自己浏览回顾。另外,也是放在不同知识库的意思,我一个 Org 就相当于一个知识库本身。相关的都在里面,这时候就比较需要用到 Org-roam 这种来做双向链接,方便我去整理。

我最终会写一篇文章对这些知识点进行总结。

6 个赞

写一个简单的函数,可以在保存时自动为文件中的所有heading添加id

 (defun yuchen/ensure-org-ids-in-buffer ()
   "Run `org-id-get-create' on all headlines in current buffer
 Suitable for use with `before-save-hook'."
   (interactive)
   (when (eq major-mode 'org-mode)
              (org-map-entries #'org-id-get-create t 'file)))
 
 (add-hook! 'org-mode-hook
   (add-hook 'before-save-hook 'yuchen/ensure-org-ids-in-buffer nil t))

add-hook! 是doom的宏定义,不用doom需要稍微改一下

7 个赞

这个太棒了,谢谢,我试一试

org-roam 的作者分享了一篇文章,讲述他自己是如何记笔记的。感兴趣朋友的可以去看看: https://jethrokuan.github.io/org-roam-guide/

2 个赞

是啊,同感,有沒有办法仍然用v1的文件名链接呢?

文件改名怎么办?

文件尽量不改名,如果需要改名在文件头部声明。

使用 id 链接有什么劣势吗?

有个功能可以隐藏properties这些,看不习惯你可以操作一下。我在org-roam 的论坛看到的。

Org-roam 已经支持在 Emacs 29 中使用内置的 sqlite,需要安装 emacsql-sqlite-builtin ,这个包也可以通过 melpa安装 并设置:

(use-package org-roam
  :custom
  (org-roam-database-connector 'sqlite-builtin)
)

使用内置 sqlite 的好处:启动 org-roam 速度更快了,首次加载都是秒开的感觉,使用过程也更加顺滑了😄。

这是我的个人配置

也可以参考这里:

8 个赞

这次更新 org-roam 配置的时候才发现,(setq org-roam-v2-ack t) 这个配置也不需要了。

3 个赞

不用emacs 29, 在以前的版本有办法加速一开始的sqlite的加载吗?

我是在windows上用的, 而且还是org-roam v1.

求教!

不用 Emacs 29 没法用这个选项,因为 sqlite 在 29 才内置支持的。

建议你先升级到 V2,有升级向导。安装好 org-roam 最新版本后,执行 M-x, org-roam-migrate-wizard 会引导你进行数据迁移(建议迁移前先备份好 V1 的数据)。

那还是算了, 我完全不需要v2中的特性, 而且已经习惯v1了.

不过org-roam的内核本来就不大, 我准备自己维护了.

1 个赞

V1 用的习惯的话,确实没必要折腾了。用的舒服才是最重要的

之前v1的时候用过一段时间,但基本都是记流水帐了。现在就只用text mode记,然后grep一顿搜,简单粗暴。我觉得真正想在pieces间建立联系只有写成essay这一条路。。好工具不如烂笔头

1 个赞

其实Zettelkasten方法的核心是写而不是记,建议阅读介绍Zettelkasten方法的书 How to Take Smart Notes