【提问】能否使 org-id-get-create 在创建 ID 的同时创建 CUSTOM_ID ?

我这只是一个示意变量

问题已解决,多谢各位大佬的指点,麻烦各位了

org-id-get-create 是会自动加索引啊,你是不是没开 org-id-track-globally ?

只有你的索引丢失了,才需要用 @Voleking 的方法重建所有索引。

用 org-id-new api 生成「那一串东西」

要怎么开启 org-id-track-globally ?

这个 org-id-new api 是怎么用?

一般默认开启的,如果你没动过的话。你看一下值是不是t

org-id-new 可以不需要参数直接调用,返回你要的 unique id

(org-set-property "CUSTOM_ID" (org-id-new))
1 个赞

我一般没动过,但貌似并不能链接,不知是在哪看值是不是t

配置文件加了这行之后报错

(org-set-property "CUSTOM_ID" (org-id-new))


Debugger entered--Lisp error: (error "Before first headline at position 1 in buffer *scr...")
  signal(error ("Before first headline at position 1 in buffer *scr..."))
  error("Before first headline at position %d in buffer %s" 1 #<buffer *scratch*>)
  org-back-to-heading(t)
  org-entry-put(nil "CUSTOM_ID" "2d770c75-ce71-4a69-b344-72bb766b9010")
  org-set-property("CUSTOM_ID" "2d770c75-ce71-4a69-b344-72bb766b9010")
  eval-buffer(#<buffer  *load*-703188> nil "/home/spqr/.emacs.d/lisp/init-org-id.el" nil t)  ; Reading at buffer position 324
  load-with-code-conversion("/home/spqr/.emacs.d/lisp/init-org-id.el" "/home/spqr/.emacs.d/lisp/init-org-id.el" nil t)
  require(init-org-id)
  eval-buffer(#<buffer  *load*> nil "/home/spqr/.emacs.d/init.el" nil t)  ; Reading at buffer position 969
  load-with-code-conversion("/home/spqr/.emacs.d/init.el" "/home/spqr/.emacs.d/init.el" t t)
  load("/home/spqr/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x15568c0a6275>) #f(compiled-function () #<bytecode 0x15568c0a6289>) t)
  command-line()
  normal-top-level()

你看看文档,或暂时用前面朋友的方案吧。基础知识储备不足,讲起来暂时对你也没有用。

好的,我最主要就是能用链接就行