org.nvim

Sparse trees

<prefix>/ shows a menu:
  / r  regexp   t  TODO entries     T  specific keyword
  m  match      M  match, TODO only p  property value
  d  deadlines due or overdue       b  before date
  a  after date D  between dates    c  cycle date types
  C  clear

The date trees (b, a, D) highlight each timestamp before the date, on or after it, or from the first date up to (not including) the second, like Emacs. Which timestamps count is the date type shown in the menu's title, sparse_tree_default_date_type at first (org-sparse-tree-default-date-type); c cycles it: SCHEDULED/DEADLINE (nil), "all", "scheduled", "deadline", "active", "inactive", "closed". The planning types look at the planning line; the others at timestamps in the text, not in planning or clock lines, property drawers, blocks, comments or verbatim. Subtrees tagged :ARCHIVE: stay folded, with their headline visible, unless sparse_tree_open_archived_trees (org-sparse-tree-open-archived-trees).

<C-c>\         Tags / property match sparse tree (org-match-sparse-tree).
                With a count, only TODO entries match.

The buffer is folded so only matching entries are visible, the matches are highlighted, and the location list is filled (:lnext). The highlights go away with the next <C-c><C-c>, and those of searches (all but tag and property matches, like Emacs' org-occur) with the next change too (remove_highlights_with_change, org-remove-highlights-with-change). Regexp searches ignore case (occur_case_fold_search, org-occur-case-fold-search: true, false or "smart", only when the regexp has no upper case letter; \c / \C in the regexp win). How much shows around each match follows org-show-context-detail (occur-tree and tags-tree). After a search the User autocmd OrgOccur runs (org-occur-hook), with data.matches the number of matches.