Making an entry into your agenda in GNU Emacs 29.3 (or really, any recent Emacs version with Org mode) primarily involves using Org mode. Org mode is a major mode for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. The agenda is then generated from these Org files.
Here's a step-by-step guide on how to make an agenda entry:
1. Create/Open an Org File:
- Org mode works with files that usually have a
.orgextension. You can create a new one or open an existing one.- To create a new one:
C-x C-f(that'sCtrl-x Ctrl-f), then type a filename like~/org/todo.organd pressEnter. - To open an existing one:
C-x C-f, then navigate to and select your.orgfile.
- To create a new one:
2. Basic Agenda Entry (Headings with Dates):
Agenda entries are typically headings in your Org file that have a timestamp.
-
Create a heading: Start a line with one or more asterisks (
*). The number of asterisks indicates the heading level.- Example:
* My Task for Tomorrow
- Example:
-
Add a timestamp: Place your cursor on the heading line or the line directly below it and use
C-c .(that'sCtrl-c .). This will prompt you to enter a date.- You can type dates in various formats (e.g.,
2025-07-28,tomorrow,next monday). - Press
Enterafter typing the date. - This will insert a timestamp like
<2025-07-28 Mon>.
Example:
* My Task for Tomorrow <2025-07-28 Mon>Or, you can put the timestamp directly on the heading line:
* My Task for Tomorrow <2025-07-28 Mon> - You can type dates in various formats (e.g.,
3. TODO Items for the Agenda:
You can turn any heading into a TODO item, which will also appear in your agenda's TODO list.
- Turn a heading into a TODO: Place your cursor on the heading line and type
C-c C-t(that'sCtrl-c Ctrl-t). This will cycle through states likeTODO,DONE, etc.- Example:
* TODO Finish report <2025-07-30 Wed>
- Example:
- Set a deadline/scheduled date for a TODO:
- Deadline: For tasks that must be done by a certain date. Place your cursor on the heading line and type
C-c C-d. Enter the date. Example:* TODO Submit expense report DEADLINE: <2025-08-01 Fri> - Scheduled: For tasks you plan to work on or start on a certain date. Place your cursor on the heading line and type
C-c C-s. Enter the date. Example:* TODO Start research project SCHEDULED: <2025-08-05 Tue>
- Deadline: For tasks that must be done by a certain date. Place your cursor on the heading line and type
4. Adding Org Files to Your Agenda Path:
For Emacs to know which .org files to scan for agenda entries, you need to tell it where they are. This is done by customizing the org-agenda-files variable.
-
Using
M-x customize-variable(Recommended for persistence):- Type
M-x customize-variable(that'sAlt-xfollowed bycustomize-variableandEnter). - Type
org-agenda-filesand pressEnter. - You'll see a customization buffer. Click on the
[INS]button to add a new file or directory. - Type the full path to your
.orgfile (e.g.,~/org/todo.org) or a directory containing multiple.orgfiles (e.g.,~/org/). - Click
[Apply and Save]to make the change permanent across Emacs sessions.
- Type
-
Adding to your
init.el(More advanced): You can directly add this to your Emacs configuration file (usually~/.emacs.d/init.elor~/.emacs).(setq org-agenda-files '("~/org/todo.org" "~/org/projects/"))Replace the paths with your actual
.orgfile locations. After adding this, you'll need to restart Emacs or evaluate thesetqexpression (C-x C-eafter the closing parenthesis).
5. Generating the Agenda:
Once you have your Org files set up with dated and TODO entries, you can generate the agenda.
- Press
C-c a(that'sCtrl-c a). This will bring up the Org Agenda dispatcher. - Then press
aagain for theorg-agendacommand (the main agenda view).
This will open a new buffer displaying your agenda, showing upcoming tasks, deadlines, scheduled items, and general dated entries.
Key Emacs/Org Mode Shortcuts to Remember:
C-x C-f: Find file (open/create)C-c C-s: Insert a timestamp (scheduled date if on TODO)C-c C-d: Insert a deadlineC-c C-t: Cycle TODO stateC-c a: Org Agenda dispatchera: Agenda for current week/dayt: List all TODO entriesm: Match tags/propertiess: Show scheduled itemsd: Show deadline items
By following these steps, you'll be well on your way to effectively managing your agenda within GNU Emacs 29.3 using Org mode.
