#+STARTUP: hidestars
* What is Remember mode?
Remember mode is an Emacs package that lets you store notes inside the
Emacs environment with little interruption to your work flow. Org-mode
has added capabilities to Remember allowing you to define templates
for different note types, and associate target files and headlines
with specific headlines.
* What does it look like?
Remember mode is bound to the =C-c r= command key, so storing a note
is just a matter of entering these few keystrokes. Here is a
demonstration of how I would use Remember mode while editing this
article.
First, I enter =C-c r=. A new window is displayed:
file:remember1.png
A menu of template names is displayed at the bottom of the screen with
associated short-cut letters. Let's choose the "Journal" option to
record a note about an interesting web site.
file:remember2.png
The journal template is prompting me for the topic text. The template
can be seen in the window, but at this stage Remember is prompting for
input in the mini buffer. I enter the topic of this journal entry then
press Enter.
file:rememeber3.png
The template has now been completed and I am prompted to Enter =C-c
C-c= to file the note. The cursor is positioned in the window, and I
enter my journal entry.
file:remember4.png
When I have completed typing my journal entry, I enter =C-c C-c= to
file the note. Confirmation of the file being updated can be seen in
the minibuffer.
file:remember5.png
It's that simple!
* How do I set it up?
Setting up Remember is described in the org-mode manual, however I am
showing my installation for reference.
My Elisp packages are stored in =L:/elisp=.
: (add-to-list 'load-path "L:/elisp/")
: (add-to-list 'load-path "L:/elisp/remember-1.9/")
Next I have the configuration of Remember:
: (setq org-directory "~/orgfiles/")
: (setq org-default-notes-file "~/.notes")
: (setq remember-annotation-functions '(org-remember-annotation))
: (setq remember-handler-functions '(org-remember-handler))
: (add-hook 'remember-mode-hook 'org-remember-apply-template)
: (define-key global-map "\C-cr" 'org-remember)
And lastly I have my templates:
: (setq org-remember-templates
: '(("Todo" ?t "* TODO %? %^g\n %i\n " "F:/GTD/newgtd.org" "Office")
: ("Journal" ?j "\n* %^{topic} %T \n%i%?\n" "L:journal.org")
: ("Book" ?b "\n* %^{Book Title} %t :READING: \n%[l:/booktemp.txt]\n"
: "L:journal.org")
: ("Private" ?p "\n* %^{topic} %T \n%i%?\n" "F:/gtd/privnotes.org")
: ("Contact" ?c "\n* %^{Name} :CONTACT:\n%[l:/contemp.txt]\n"
: "F:/gtd/privnotes.org")
: ))
* Templates
What do all those codes above mean?
Each template is a list with 4 or 5 elements. They have the
following meaning:
1. *Template Name*. For example, "Todo" or "Book"
2. *Shortcut*. This consists of a question mark followed by the letter.
3. *Template Contents*. This is the string that will be inserted into
the target file. Substitutions are made on strings beginning with
the percent sign, eg =%i%=.
4. *Target File*. The file that gets updated. If this value was omitted,
Remember would use the default notes file configured earlier.
5. *Headline*. If this is specified, the template is stored under this
headline.
The full list of %-escape codes is documented in the org-mode manual.
I used the following codes:
1. =%?= - After completing the template substitutions, position the
cursor here.
2. =%^g= - Prompt for tags with completion based on tags in the target
file. Unfortunately the tags are not aligned according to the
=org-tags-column= parameter. [Can this be fixed?]
3. =%i= - Replace with the region set when remember is called. This
has no effect on my Windows XP/GNU Environment! I have to manually
paste text into the Remember window. [Is this a bug?]
4. =%^{Topic}= - Prompt for input by first displaying the text inside
the braces.
5. =%T= - Insert time stamp with date and time
6. =%t= - Insert the date only
7. =%[L:/booktemp.txt]= - insert the contents of the named file. The
template file could be a PROPERTIES drawer or checklist.
* What do I use Remember for?
The following examples use my home =.emacs= file as well as my
office file.
** To Do
: ("Todo" ?t "* TODO %^{Brief Description} %^g\nAdded: %U"
: "~/GTD/newgtd.org" "Tasks")
My template for adding "to do" items will add the item under the
headline of "Tasks". The current date is added to the item so I can
keep track of the task age in my weekly review.
** Journal
I like to record details of the work I have done, web sites visited,
ideas, thoughts and observations. My journal is a text file with
different categories of notes identified with tags: DIARY for things I
have done, FILMS for films seen, BOOKS for books read, and WEIGHT to
record my weight (trying to reduce this!). Each entry is automatically
date and time stamped by the Rememember template.
file:journal.png
** Private Notes (Office)
: ("Private" ?p "\n* %^{topic} %T \n%i%?\n" "F:/gtd/privnotes.org")
I have a USB drive connected to my office computer. The Private
template is used to append to a file on the USB drive (Drive F).
** Internet Banking Receipts (Home)
The Remember template for Internet Banking receipts is as follows
and uses a dedicated text file.
: ("Receipt" ?r "** %^{BriefDesc} %U %^g\n%?" "~/GTD/finances.org")
When the template is run, the first prompt is for a brief description
followed by a prompt for the tag. The header of the =finances.org=
file contains:
: #+TAGS: WESTPAC(w) STGEORGE(g)
** Passwords (Home)
Where should I keep all the login details and passwords for the
various web sites I visit? I record them in my journal using a tag of
PASSWORD, but they could be stored in a separate file, such as
=passwords.org=.
** Computer Log (Home)
While I was setting up a new Dell computer, I used Remember mode to
store details of what software and hardware I installed, and various
system settings.
** Books Read
: ("Book" ?b "\n* %^{Book Title} %t :READING: \n%[~/booktemp.txt]\n"
: "~/GTD/journal.org")
After I read a book I record the name, author and year published
as well as my notes and comments. I used to use the Journal template then
choose the BOOKS tag, but now I am using a template to remind me of
the main details.
The =booktemp.txt= file contains the following text
: :PROPERTIES:
: :Title: %?
: :Author:
: :Year:
: :Publisher:
: :END:
: Comments:
This template allows me to use column view over the buffer. The
Properties drawer needs to be opened to complete each field. Maybe
this could be an org-mode option?
** Films Seen
When I see a film at the cinema, DVD or on television, I record the
details and my comments. I use the Journal template then
choose the FILMS tag. I am about to change this to use a template file
like I did for books.
** Daily Review
: ("Daily Review" ?a "** %t :COACH: \n%[~/.daily_review.txt]\n"
: "~/GTD/journal.org")
I recently read a book about Life Coaching. The author suggested
keeping a daily journal with answers to a list of questions.
The =.daily_review.txt= file contains the following:
: - What did I enjoy doing today?
:
: - What would I like to more of?
:
: - What would I like to do less of?
:
: - What did I learn today?
:
: - What will I do differently tomorrow?
:
: - Thought for the day
I am now following this practice using a template file as well as a
recurring TODO item in my main org file:
: * TODO Complete Daily Journal :HOME:
: SCHEDULED: <2008-07-24 Thu +1d>
** Further uses?
I'm still thinking of further uses for Remember mode and org-mode, and
I would be interested to hear how you are using Remember mode.
* How do I learn more?
Remember Mode wiki page @
http://www.emacswiki.org/cgi-bin/wiki/RememberMode
Org-Mode (Chapter 9 of the Manual) @
http://orgmode.org/manual/Remember.html
Sacha Chua ("Enterprise 2.0 consultant, storyteller, geek and more")
often writes about Emacs, Remember mode, Org Mode and planner @
http://sachachua.com/wp/category/emacs/
This article was written using org-mode. The source
code can be downloaded here: @remember.org@
Other org-mode tutorials by Charles Cave: @
#+BEGIN_HTML