请问有什么办法可以在 org mode 中一次性重命名所有 tag?

我使用 org mode 当作 GTD 工具.

当使用一段时间后,发现某个 tag 的命名不是很恰当,所以想一次性给这个 tag 重命名.

请问在 org mode 中有什么快捷的方法吗?

直接query replace?比如把":tag:“替换成”:new_tag:"

2 个赞

有现成方案:org mode - Rename tags in org agenda files - Emacs Stack Exchange

(defun change-tag (old new)
  (when (member old (org-get-tags))
    (org-toggle-tag new 'on)
    (org-toggle-tag old 'off)
    ))

(defun org-rename-tag (old new)
  (interactive "scurrent tag: \nsnew name: ")
  (org-map-entries
   (lambda () (change-tag old new))
   (format "+%s" old)
   org-agenda-files
   ))

重命名范围:org-agenda-files

4 个赞