Как настроить Emacs для архивирования Выполненные задачи для архивирования файлов? - PullRequest
0 голосов
/ 04 сентября 2018

Я храню все задачи в файле todo.org. После того, как задача выполнена, я бы хотел выбрать ее и заархивировать в отдельный файл archive.org. Я хочу установить это в моем конфигурационном файле, конечно, не как заголовок для файла.

Я пробовал это:

(setq org-archive-location (concat org-directory "~/Dropbox/logs/archive.org::"))

Какой кажется для работы; Я вижу сообщение о том, что задача была заархивирована по выбранному пути. Но - когда я открываю archive.org, там ничего нет. Когда-либо. Затем, всякий раз, когда я закрываю и снова открываю Emacs, я вижу сообщение об ошибке Symbol's value as variable is void: org-directory.

Итак: Как правильно настроить Emacs для архивирования задач, которые я выбрал в правильном месте? Все еще новичок в режиме Org, так что помилуйте.

РЕДАКТИРОВАТЬ: Использование Emacs 25.3.2 и Org 9.1.7.

1 Ответ

0 голосов
/ 05 сентября 2018

Поскольку О.П. также выразил (в комментарии под первоначальным вопросом) желание автоматически сохранить целевой буфер архива, этот ответ также касается этого:

(require 'org)

(setq org-archive-location "~/Dropbox/logs/archive.org::")

(defun org-archive-save-buffer ()
  (let ((afile (org-extract-archive-file (org-get-local-archive-location))))
    (if (file-exists-p afile)
      (let ((buffer (find-file-noselect afile)))
        (if (y-or-n-p (format "Save (%s)" buffer))
          (with-current-buffer buffer
            (save-buffer))
          (message "You expressly chose _not_ to save (%s)" buffer)))
      (message "Ooops ... (%s) does not exist." afile))))

(add-hook 'org-archive-hook 'org-archive-save-buffer)
...