org.nvim

Refile and archive

<prefix>r       Refile the subtree as the last child of another headline
                (org-refile, <C-c><C-w>). In Visual mode, refile the
                selected lines; they must start with a headline and form a
                sequence of subtrees. The subtree keeps its blank lines and
                goes after the target's own blank lines, like Emacs. A
                count works like Emacs's prefix argument: 4 (C-u) jumps to
                a target, 16 (C-u C-u) to the last refiled entry, 64
                (C-u C-u C-u) clears the target cache (refile.use_cache),
                2 refiles under the running clock and 3 copies
                (org-refile-keep). With refile.log = "note", the note is
                typed in the *Org Note* buffer (note_buffer). The User
                autocmd OrgRefile fires once the entry is in place
                (org-after-refile-insert-hook, org-api-events).
<prefix>R       Copy the subtree to a refile target, keeping the original
                (org-refile-copy, <C-c><M-w>).
:Org refile_goto       Jump to a refile target (C-u C-c C-w).
:Org refile_goto_last  Jump to where the last refile or capture went
                       (C-u C-u C-c C-w).
:Org refile_cache_clear  Clear the refile target cache
                       (C-u C-u C-u C-c C-w).
By default the targets are the level-1 headlines of the current buffer,
shown by their heading (Emacs's org-refile-targets nil). Refile options:
  targets             like org-refile-targets. A list of specs, each with
                      files ("agenda", "current" (the default), a path or
                      glob, a list, or a function) and any of max_level,
                      level, tag, todo, regexp (Vim regexp on the
                      headline):
refile = { targets = {
  { files = "current", max_level = 2 },
  { files = "agenda", tag = "project" },
  { files = "~/org/someday.org", level = 1 },
} }
  max_level           shortcut when targets is empty: the agenda files
                      plus the current file (unless include_current_file
                      = false) up to this level
  use_outline_path    how targets are shown (org-refile-use-outline-path):
                      false (default) the heading, followed by
                      " (file.org)" for other files; true "Parent/Child/";
                      "file" "file.org/Parent/Child/"; "full-file-path",
                      "title" (#+TITLE) and "buffer-name" likewise. The
                      last four also offer the files themselves (top
                      level). A "/" in a heading is shown as "\/"
  outline_path_complete_in_steps
                      with an outline path, choose one level at a time
                      (default true)
  allow_creating_parent_nodes
                      true or "confirm" (ask first): type "Target/New" to
                      create missing headlines under an existing target
  active_region_within_subtree
                      refile a Visual selection that does not start at a
                      headline by making its first line one
  verify              function(headline) -> boolean to drop targets
                      (org-refile-target-verify-function)
  log                 false | "time" | "note": add "Refiled on [date]"
                      to the entry's logbook (org-log-refile); a region
                      only gets time stamps
  reverse_note_order  refile as the first child (org-reverse-note-order);
                      <C-c><C-M-w> (refile_reverse, org-refile-reverse)
                      refiles with it inverted
  use_cache           keep the targets between refiles
                      (org-refile-use-cache): new headlines are not
                      offered until the cache is cleared with a count of
                      64 (C-u C-u C-u C-c C-w) or :Org refile_cache_clear;
                      a cached target that moved is found again by its
                      heading, one that is gone is an error
<prefix>$       Archive the subtree. The location comes from the ARCHIVE
                property, then #+ARCHIVE:, then archive_location
                (default %s_archive::). Forms:
                  "%s_archive::"             another file, top level
                  "archive.org::* Archived"  another file, under a headline
                  "::* Archive"              same file, under a headline
                  "archive.org::datetree/"   another file, in a date tree
                                             for the CLOSED date (or today)
                  "archive.org::datetree/* Sub"  under "Sub" in the day
                A new archive file starts with
                archive_file_header_format ("\nArchived entries from
                file %s\n\n", false for none; a file not named *.org also
                gets an Org mode line). Entries are separated by one blank
                line (none in a date tree); archive_reversed_order makes
                them the first child. archive_mark_done (true or a done
                keyword) marks them done.
                Adds ARCHIVE_TIME, ARCHIVE_FILE, ARCHIVE_OLPATH,
                ARCHIVE_CATEGORY, ARCHIVE_TODO and ARCHIVE_ITAGS (also
                "ltags" and "olid") according to
                archive_save_context_info. Inherited tags become local
                tags when archiving within the same file
                (archive_subtree_add_inherited_tags: "infile", true or
                false). IDs of archived entries keep resolving
                (org-id). With a count, 4 (C-u) runs archive_all_done
                and 16 (C-u C-u) archive_all_old.
                A destination inside the source subtree is rejected
                (Emacs org-archive-subtree has no such guard and loses
                the subtree; this follows org-refile's check).
                Archive and hidden-target refile save failures keep the
                source text in place and report the write error.
                User autocmds OrgArchive (source buffer, before the
                subtree is removed; org-archive-hook) and
                OrgArchiveFinalize (archive buffer;
                org-archive-finalize-hook) get data = { bufnr, lnum,
                title, archive_file }.
<prefix>hA      Toggle the ARCHIVE tag. Archived subtrees stay folded and are
                excluded from the agenda. With a count (C-u C-c C-x a),
                offer to tag every child without open TODO entries.
<C-c><C-x>A     Move the subtree under its "Archive" sibling
                (archive_sibling_heading), which is created with the
                ARCHIVE tag when missing (org-archive-to-archive-sibling).
<C-c><C-x><C-a> Archive with archive_default_command
                (org-archive-subtree-default): "archive_subtree" (the
                default), "archive_to_sibling", "set_tag" (add the ARCHIVE
                tag) or a function(target). The agenda's a uses it too.
                archive_subtree_save_file (org-archive-subtree-save-file-p)
                says when archive_subtree saves the archive file: true,
                false, "from_org" (default: not when archiving from the
                agenda) or "from_agenda" (only then).
:Org datetree_cleanup
                Move each entry of a date tree whose active time stamp
                is not the date of its day node under the right day,
                creating it (org-datetree-cleanup). Entries without a day
                node as parent are left alone. Unlike Emacs, SCHEDULED
                and DEADLINE stamps are skipped: Emacs's check for them
                never matches, so it files entries by their planning
                dates.
:Org archive_all_done
                Offer to archive each child of the headline at the cursor
                (each top-level tree when not on a headline) that has no
                open TODO entries (C-u C-c C-x C-s in Emacs).
:Org archive_all_old
                The same for children whose first active time stamp lies
                before today (C-u C-u C-c C-x C-s).