Next: Custom agenda views, Previous: Presentation and sorting, Up: Agenda Views
Entries in the agenda buffer are linked back to the Org file or diary file where they originate. You are not allowed to edit the agenda buffer itself, but commands are provided to show and jump to the original entry location, and to edit the Org files “remotely” from the agenda buffer. In this way, all information is stored only once, removing the risk that your agenda and note files may diverge.
Some commands can be executed with mouse clicks on agenda lines. For the other commands, the cursor needs to be in the desired line.
org-agenda-next-line)org-agenda-previous-line)org-agenda-show-and-scroll-up)org-agenda-recenter)org-agenda-goto)org-agenda-switch-to)org-agenda-follow-mode)org-agenda-start-with-follow-mode.
org-agenda-tree-to-indirect-buffer)org-agenda-open-link)org-agenda-day-view)org-agenda-week-view)org-agenda-month-view)org-agenda-year-view)org-agenda-reset-view)org-agenda-span.
org-agenda-later)org-agenda-current-span days.
For example, if the display covers a week, switch to the following week.
With prefix arg, go forward that many times org-agenda-current-span days.
org-agenda-earlier)org-agenda-goto-today)org-agenda-goto-date)org-agenda-clock-goto)org-agenda-toggle-diary)org-agenda-log-mode)org-log-done) are shown in the agenda, as are
entries that have been clocked on that day. You can configure the entry
types that should be included in log mode using the variable
org-agenda-log-mode-items. When called with a C-u prefix, show
all possible logbook entries, including state changes. When called with two
prefix args C-u C-u, show only logging information, nothing else.
v L is equivalent to C-u v l.
org-agenda-manipulate-query-add)org-agenda-archives-mode)org-agenda-archives-mode 'files)ARCHIVED are also scanned when producing the agenda. When you use the
capital A, even all archive files are included. To exit archives mode,
press v a again.
org-agenda-clockreport-mode)org-agenda-start-with-clockreport-mode. By using a prefix argument
when toggling this mode (i.e., C-u R), the clock table will not show
contributions from entries that are hidden by agenda filtering1. See
also the variable org-clock-report-include-clocking-task.
org-agenda-clock-consistency-checks for
information on how to customize the definition of what constituted a clocking
problem. To return to normal agenda display, press l to exit Logbook
mode.
org-agenda-entry-text-mode)org-agenda-entry-text-maxlines. Calling this command with a numeric
prefix argument will temporarily modify that number to the prefix value.
org-agenda-toggle-time-grid)org-agenda-use-time-grid and org-agenda-time-grid.
org-agenda-redo)org-agenda-redo)org-save-all-org-buffers)org-agenda-columns)#+COLUMNS line, or from the default variable
org-columns-default-format), will be used in the agenda.
org-agenda-remove-restriction-lock)org-agenda-filter-by-category)< another time will remove this filter. You can add
a filter preset through the option org-agenda-category-filter-preset
(see below.)
org-agenda-filter-by-tag)You will be prompted for a tag selection letter; <SPC> will mean any tag at all. Pressing <TAB> at that prompt will offer use completion to select a tag (including any tags that do not have a selection character). The command then hides all entries that do not contain or inherit this tag. When called with prefix arg, remove the entries that do have the tag. A second / at the prompt will turn off the filter and unhide any hidden entries. If the first key you press is either + or -, the previous filter will be narrowed by requiring or forbidding the selected additional tag. Instead of pressing + or - after /, you can also immediately use the \ command.
In order to filter for effort estimates, you should set up allowed efforts globally, for example
(setq org-global-properties
'(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
You can then filter for an effort by first typing an operator, one of
<, >, and =, and then the one-digit index of an effort
estimate in your array of allowed values, where 0 means the 10th value.
The filter will then restrict to entries with effort smaller-or-equal, equal,
or larger-or-equal than the selected value. If the digits 0–9 are not used
as fast access keys to tags, you can also simply press the index digit
directly without an operator. In this case, < will be assumed. For
application of the operator, entries without a defined effort will be treated
according to the value of org-sort-agenda-noeffort-is-high. To filter
for tasks without effort definition, press ? as the operator.
Org also supports automatic, context-aware tag filtering. If the variable
org-agenda-auto-exclude-function is set to a user-defined function,
that function can decide which tags should be excluded from the agenda
automatically. Once this is set, the / command then accepts RET
as a sub-option key and runs the auto exclusion logic. For example, let's
say you use a Net tag to identify tasks which need network access, an
Errand tag for errands in town, and a Call tag for making phone
calls. You could auto-exclude these tags based on the availability of the
Internet, and outside of business hours, with something like this:
(defun org-my-auto-exclude-function (tag)
(and (cond
((string= tag "Net")
(/= 0 (call-process "/sbin/ping" nil nil nil
"-c1" "-q" "-t1" "mail.gnu.org")))
((or (string= tag "Errand") (string= tag "Call"))
(let ((hour (nth 2 (decode-time))))
(or (< hour 8) (> hour 21)))))
(concat "-" tag)))
(setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function)
org-agenda-filter-by-tag-refine)org-agenda-undo)org-agenda-todo)org-agenda-todo-nextset)org-agenda-todo-previousset)org-agenda-kill)org-agenda-confirm-kill.
org-agenda-refile)org-agenda-archive-default-with-confirmation)org-archive-default-command. When using the
a key, confirmation will be required.
org-agenda-toggle-archive-tag)org-agenda-archive-to-archive-sibling)org-agenda-archive)org-agenda-show-tags)org-agenda-show-inherited-tags, but still want to see all
tags of a headline occasionally.
org-agenda-set-tags)org-agenda-show-priority)org-agenda-priority-up)org-agenda-priority-down)org-agenda-add-note)org-log-into-drawer, this may be inside a drawer.
org-attach)org-agenda-schedule)org-agenda-deadline)org-agenda-do-date-later)org-agenda-do-date-earlier)org-agenda-date-prompt)org-agenda-clock-in)org-agenda-clock-out)org-agenda-clock-cancel)org-agenda-clock-goto)org-agenda-capture)org-capture, but use the date at point as the default date for
the capture template. See org-capture-use-agenda-date to make this
the default behavior of org-capture.
org-agenda-bulk-mark)org-agenda-bulk-mark-regexp)org-agenda-bulk-unmark)org-agenda-bulk-remove-all-marks)org-agenda-bulk-action)org-agenda-bulk-persistent-marks to
t or hit p at the prompt.
* Toggle persistent marks. $ Archive all selected entries. A Archive entries by moving them to their respective archive siblings. t Change TODO state. This prompts for a single TODO keyword and changes the state of all selected entries, bypassing blocking and suppressing logging notes (but not timestamps). + Add a tag to all selected entries. - Remove a tag from all selected entries. s Schedule all items to a new date. To shift existing schedule dates by a fixed number of days, use something starting with double plus at the prompt, for example ‘++8d’ or ‘++2w’. d Set deadline to a specific date. r Prompt for a single refile target and move all entries. The entries will no longer be in the agenda; refresh (g) to bring them back. S Reschedule randomly into the coming N days. N will be prompted for. With prefix arg (C-u B S), scatter only across weekdays. f Apply a function3 to marked entries. For example, the function below sets the CATEGORY property of the entries to web. (defun set-category () (interactive "P") (let* ((marker (or (org-get-at-bol 'org-hd-marker) (org-agenda-error))) (buffer (marker-buffer marker))) (with-current-buffer buffer (save-excursion (save-restriction (widen) (goto-char marker) (org-back-to-heading t) (org-set-property "CATEGORY" "web"))))))
org-agenda-goto-calendar)org-calendar-goto-agenda)org-agenda-diary-entry)If you configure org-agenda-diary-file to point to an Org mode file,
Org will create entries (in Org mode syntax) in that file instead. Most
entries will be stored in a date-based outline tree that will later make it
easy to archive appointments from previous months/years. The tree will be
built under an entry with a DATE_TREE property, or else with years as
top-level entries. Emacs will prompt you for the entry text—if you specify
it, the entry will be created in org-agenda-diary-file without further
interaction. If you directly press <RET> at the prompt without typing
text, the target file will be shown in another window for you to finish the
entry there. See also the k r command.
org-agenda-phases-of-moon)org-agenda-sunrise-sunset)org-agenda-convert-date)org-agenda-holidays)org-agenda-write)org-agenda-exporter-settings to set options for ps-print and
for htmlize to be used during export.
org-agenda-quit)org-agenda-exit)[1] Only tags filtering will be respected here, effort filtering is ignored.
[2] Custom commands can preset a filter by
binding the variable org-agenda-tag-filter-preset as an option. This
filter will then be applied to the view and persist as a basic filter through
refreshes and more secondary filtering. The filter is a global property of
the entire agenda view—in a block agenda, you should only set this in the
global options section, not in the section of an individual block.
[3] You can also create persistent custom functions throughorg-agenda-bulk-custom-functions.
[4] This file is parsed for the agenda when
org-agenda-include-diary is set.