1

我想使用 Cc Cq 从 org 捕获模板缓冲区中设置标签,并让:event:标签(如果使用的话)总是及时出现(即,在任何其他标签的左侧)。我为插入初始标签的事件设置了一个组织捕获模板:event:。但是,org-set-tags默认将prepend新标签放在列表的开头,而不是append放在标签列表的末尾。

org-set-tags我在使用自定义的源代码中看到了一个选项org-tags-sort-function,但我找不到任何要从中复制/修改的示例。有没有人有一个如何使用的示例,org-tags-sort-function以便可以首先自动org-set-tags对标签之类的东西:event:进行排序(即,在所有其他标签的左侧)?

4

1 回答 1

1

排序函数只是一次比较两个元素的函数。org.eldefcustomof中预定义了两个函数org-tags-sort-function

(const :tag "Alphabetical" string<)
(const :tag "Reverse alphabetical" string>)

要构建自定义排序功能,您可以执行以下操作:

(defun event-first (x y)
  (if (string= "event" x)
      t
    (if (string= "event" y)
      nil
      (string< x y))))

我任意选择按字母顺序对非“事件”标签进行排序,但您可以更改它。

于 2013-08-13T17:08:18.070 回答