Comfortably interact with the remind calendar system by Dianne Skoll from Emacs.
Syntax highlighting for .rem files:

View the remind calendar and quickly move around:

(use-package remind-calendar
:straight (remind-calendar :type git :host github :repo "jneidel/remind-calendar.el"))
(use-package remind-calendar
:quelpa (remind-calendar :fetcher github :repo "jneidel/remind-calendar.el"))With the above configuration, any .rem file will be opened in the
remind-script-mode major mode.
There are a few useful functions/keybindings:
remind-script-sort-paragraph (M-q) to sort the current paragraph (or region)
by date.
remind-script-read-date (C-c .) to interactively pick a date (and time) using
the picker you are familiar with from org-mode.
Given these inputs, you will get:
- “DATE” -> “Jan 28 2026 MSG ”
C-u C-c .“DATE” -> “Jan 28 2026 ”- “DATE 10:00” -> “Jan 28 2026 AT 10:00 MSG ”
- “DATE 10:00-19:00” -> “Jan 28 2026 AT 10:00 DURATION 540 MSG ”
remind-calendar-view (C-c o) to view the calendar.
M-x remind-calendar-view to open the calendar view.
You can jump around using these shortcuts:
t: today’s daten/j: next weekp/k: previous weekN/J: first of next monthP/K: first of previous week
You can customize the variable remind-calendar-view-command for the displayed date range and more.
To quickly add an entry to the calendar you can use org-capture. Here is the capture template I use:
(with-eval-after-load 'org-capture
(add-to-list 'org-capture-templates
'("c" "Calendar event" plain
(file (lambda () (substitute-in-file-name "$ORG_CALENDAR/main/1_cal.rem")))
"%?"
:prepend t
:hook (remind-script-read-date))))Notes:
:prependadds the entry at the top of the file. Leave it out to want append to the bottom instead.- The
:hookopens the read-date prompt right after the capture buffer is opened.
- Alternative mode for editing remind scripts: sshelagh/remind-conf-mode