From 78b05b5448696642e350b67c8cb6e22cffb11c2d Mon Sep 17 00:00:00 2001 From: sterni Date: Fri, 24 Jan 2025 20:31:02 +0100 Subject: [PATCH] feat(sterni/emacs): binds for refiling and archiving subtrees in org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Archive to a single archive file that is ignored in org-agenda. Archiving that “stays close” can be done using the archive tag. Change-Id: Icd121a765e5befa0ab2f6df662d757483c65efa5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13049 Autosubmit: sterni Reviewed-by: sterni Tested-by: BuildkiteCI --- users/sterni/emacs/init.el | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/users/sterni/emacs/init.el b/users/sterni/emacs/init.el index 48122186a..c30fe8c1a 100644 --- a/users/sterni/emacs/init.el +++ b/users/sterni/emacs/init.el @@ -120,8 +120,11 @@ (setq org-clock-persist 'history) (org-clock-persistence-insinuate) -(let ((org-folder (concat (getenv "HOME") "/files/sync/org"))) - (setq org-agenda-files (directory-files-recursively org-folder "\\.org$") +(let* ((org-folder (concat (getenv "HOME") "/files/sync/org")) + (org-archive-file (concat org-folder "/archive.org"))) + (setq org-archive-location (concat org-archive-file "::") + org-agenda-files (remove org-archive-file + (directory-files-recursively org-folder "\\.org$")) org-default-notes-file (concat org-folder "/context.org") initial-buffer-choice org-default-notes-file org-refile-targets '((org-agenda-files . (:maxlevel . 2))))) @@ -233,7 +236,10 @@ (display-fill-column-indicator-mode 'toggle))) ;; org-mode (evil-define-key 'normal 'global (kbd "oa") 'org-agenda) - (evil-define-key 'normal 'global (kbd "oc") 'org-capture)) + (evil-define-key 'normal 'global (kbd "oc") 'org-capture) + (evil-define-key 'normal 'org-mode-map (kbd "or") 'org-refile) + (evil-define-key 'normal 'org-mode-map (kbd "oAA") 'org-archive-subtree) + (evil-define-key 'normal 'org-mode-map (kbd "oAT") 'org-toggle-archive-tag)) (use-package evil-collection :after evil