Emacs Org-Roam

Emacs Org-Roam

安装

download org-roam-ui

git clone git@github.com:org-roam/org-roam-ui.git

config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(use-package org-roam
  :ensure t
  :init
  (setq org-roam-v2-ack t)
  :custom
  (make-directory "~/org-roam")
  (setq org-roam-db-gc-threshold most-positive-fixnum)
  (setq org-roam-directory "~/org-roam")
  (setq org-roam-completion-everywhere t)
  (setq org-roam-v2-ack t)
  (setq org-roam-ui-mode nil)
  (add-hook 'after-init-hook 'org-roam-mode)
  :bind (("C-c n l" . org-roam-buffer-toggle)
         ("C-c n f" . org-roam-node-find)
         ("C-c n i" . org-roam-node-insert)
         :map org-mode-map
         ("C-M-i" . completion-at-point))
  :config
  (org-roam-setup)
  (setq org-roam-capture-templates
        '(("d" "default" plain "%?" :if-new
           (file+head "%<%Y-%m-%d>-${slug}.org" ": ${title}\n#+date: %<%Y-%m-%d> \n #+LAST_MODIFIED: %U\n*${title}\n\n** 参考文档")
           :unnarrowed t)
          )
        )
  )

使用

官方文档

node创建

官方文档的定义: A node is any headline or top level file with an ID. 通常用一个node表示一个大纲,每个node都有一个独一无二的ID, 这个id可以通过M-x org-id-get-create生成 目前我的用法是不在node里面放太多的东西,除非这个node已经足够细化,最好不要分开

创建node

根据我们的快捷键设置, C-c n f可以查看node,如果填入一个没有的就会自动创建, C-c C-c实现创建

插入node

C-c n i — org-roam-node-insert 可以在当前页面或者节点插入roam的node,C-c C-c会回到老node页面,

查找node

C-c n f — org-roam-node-find

node查看反向链接

C-c n l — org-roam-buffer-toggle

node别名

org-roam-alias-add org-roam-alias-remove

加标签

通过头加#+filetags

添加ref

org-roam-ref-add org-roam-ref-remove

自定义模版

这里可以参考https://www.orgroam.com/manual.html#The-Templating-System C-h v org-roam-capture-templates 这个变量是关于roam的模版的 我们需要修改下默认模版, 把title加上