Org is part of Emacs 22. To make it even easier to collect tasks and notes, install a separate package called Remember. First, download and unpack Remember. As of this writing, Remember is at version 1.9. You can get the TAR.GZ from http://download.gna.org/remember-el/remember-1.9.tar.gz or the ZIP archive from http://download.gna.org/remember-el/remember-1.9.zip . If these instructions are out of date, check http://www.emacswiki.org/cgi-bin/wiki/RememberMode to find out where to get Remember. Then add this basic configuration for Org and Remember to your ~/.emacs,
(add-to-list 'load-path "~/elisp/remember-1.9") ;; (1) (require 'remember-autoloads) (setq org-remember-templates '(("Tasks" ?t "* TODO %?\n %i\n %a" "~/organizer.org") ;; (2) ("Appointments" ?a "* Appointment: %?\n%^T\n%i\n %a" "~/organizer.org"))) (setq remember-annotation-functions '(org-remember-annotation)) (setq remember-handler-functions '(org-remember-handler)) (eval-after-load 'remember '(add-hook 'remember-mode-hook 'org-remember-apply-template)) (global-set-key (kbd "C-c r") 'remember) ;; (3) (require 'org) (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) ;; (4) (global-set-key (kbd "C-c a") 'org-agenda) ;; (5) (setq org-todo-keywords '("TODO" "STARTED" "WAITING" "DONE")) ;; (6) (setq org-agenda-include-diary t) ;; (7) (setq org-agenda-include-all-todo t) ;; (8)
- (1): Change the directory as necessary.
- (2): You can use a different filename.
- (3): You can change this keyboard shortcut.
- (4): This tells Emacs to open all .org files in org-mode.
- (5): You can change this keyboard shortcut.
- (6): This makes it easy to pull in holidays and other events. See the chapter on managing your schedule.
- (7): This includes all unfinished todos in the Org daily and weekly views. You can remove this line when you get used to working with todo lists.
- Open ~/organizer.org (or whichever file you specified in (2)).
- Save it. This is probably the only time you'll have an empty TODO list.
- Use C-c [ (org-agenda-file-to-front) to add it to your org-agenda-files. You only need to do this once for this agenda file.
Org and GTD
So you've read David Allen's book about Getting Things Done (or any of the countless summaries of it on the Net), and you'd like to get started with Emacs and Org mode. I'll show you the bare minimum you need to support the five phases in the GTD task workflow:
|Collect||Capture everything you need to do.||Collect all your bits of paper or put everything into your inbox|
|Process||Actionable? Yes: do, delegate, or defer; no: file, throw, or incubate||Put tasks on your list, track delegated tasks|
|Organize||Next actions, projects, waiting for, someday/maybe||Tag tasks, view tasks by tag|
|Review||Daily, weekly, etc.||Agenda view|
|Do||Actually do the work!||No, Emacs won't do the work for you... (But it can brew coffee!)|
CollectThe first thing you need to do is get all the tasks out of your head, off scraps of paper, out of your e-mail, and so on. If this is the first time you're putting tasks into Org, you have a lot of tasks to collect. The best way to collect lots of tasks is to open your Org agenda file (~/organizer.org) and put this heading at the end of the file:
* InboxNow go to the end of the file, and type in ** TODO and the first task you can think of, like this:
** TODO Buy milkPress C-M-RET and keep typing other tasks. Keep going until you've gone through all the things in your head and all the scraps of paper lying around. Do not get distracted. Your goal is to write all the tasks down. If you are as easily distracted as I am, do not even open up a browser window or look at your e-mail. It can be a real struggle sometimes to focus long enough to get everything down, especially when you're writing down all these tasks that you can work on. DO NOT DO A TASK UNLESS IT TAKES LESS THAN TWO MINUTES TO DO. In fact, if you are just starting out with GTD, you might find it better to resist all temptations to do tasks during this step. Get it all out. Now that you've gotten your tasks out of your head and into your organizer.org file, breathe. There's less stress in your brain now, because you don't have to worry about forgetting things (as long as you remember to check your Org file, that is!). DO NOT FILL YOUR BRAIN BACK UP WITH OTHER THINGS TO DO. The brain is a wonderful thing, but it's not good at remembering what you need to do. Whenever a task comes your wayâ€”through e-mail, in conversation, in the showerâ€”put it in your ~/organizer.org. Well, you probably don't want to drip all over the computer, so sometimes you'll need to hang on to an ideaâ€”but get it out of your head and into your organizer as quickly as possible. To collect tasks within Emacs as they come up, use Remember. With the basic configuration you set up in the previous section, you can use C-c r t (or M-x remember and "t" for the Tasks template) to pop up a buffer where you can type in the task description and some notes.
## Filing location: Select interactively, default, or last used: ## C-u C-c C-c to select file and header location interactively. ## C-c C-c "~/notebook/personal/organizer.org" -> "* Tasks" ## C-u C-u C-c C-c "???" -> "* ???" ## To switch templates, use `M-x org-remember'. * TODOAnd if you're lucky, there will even be a hyperlink to the file or e-mail you were looking at when you called C-c r t (remember, tasks). If you brain-dump your tasks and use C-c r t to collect tasks as they come up, you can free up your brain for other things, such as contemplating the meaning of life.
ProcessNow that you've collected all those tasks into your inbox, you can process them. Open your Org agenda file and go to your inbox. For every item there, decide if it's something that you need to act on. Is it really just a note? If so, take out the TODO keyword and organize it like you would store other notes. If it's a true-blue task, decide if it's something you can do within the next two minutes, delegate to someone else, or leave on your task list. Go through your list systematically, delegating and eliminating whenever possible. If you delegate the task, change it to WAITING by moving your cursor to the headline with the TODO keyword and typing S-r (org-shiftright) until it changes to WAITING. To keep track of who you delegated it to, just edit the task description to reflect it. Your organizer file will look like this:
** WAITING Buy milk - WJY
OrganizeYou have a list of tasks that _you_ need to act on. If you've braindumped everything that people have asked you to do and that you've thought of doing, this is probably a very long list. Intimidatingly long. The next step in restoring sanity to your life is to organize your list into next actions, projects, things you're waiting for, and someday/maybe tasks. Review that task list. For each task, decide if it's something you can do immediately. Is it something you can do in one sitting, and do you have everything you need in order to do it? If so, great! It's a next action. Leave it on your task list. If you can't immediately work on a task, it may be a project in disguise, and it needs to be broken down into smaller, concrete next actions. For example, the task:
** TODO Write a book about Emacswould probably result in me getting complete writer's block. If you're faced with a big task like this, move it out of your inbox and make it a project. Then you can think of the very next action you need to do. Your Org file could look something like this:
* Projects ** Emacs book *** TODO Write about basic Org and GTD * Inbox ** TODO ... lots of other things go here ... ** TODO ... lots of other things go here ... ** TODO ... lots of other things go here ...A task might also be stuck because you need to wait for someone else. For example, I'm currently working on renewing my visa, but I need to wait for the embassy. Mark those stuck tasks as WAITING with S-right (org-shiftright). Someday/maybe tasks are nice to think about once in a while, but you don't want to clutter your day-to-day tasks with them. A basic way to deal with this is to move those tasks into a separate Organizer file such as ~/someday.org . Another is to use tags, which we'll cover in the section on intermediate Org. For now, just move them to another file.
ReviewYou've gone from a whole bunch of tasks in your brain and on pieces of paper to one text file containing everything you need to do, with an easy way to get to just the things you can do right now. To view all your tasks, type C-c a t (org-agenda, tasks). You'll get something that looks like this:
Global list of TODO items of type: ALL Available with `N r': (0)ALL (1)TODO (2)STARTED (3)WAITING (4)DONE TODO Write about basic Org and GTD TODO Blog TODO Answer my mail TODO Alter slacks ...Type "1 r" to show only the active tasks, and review what you're waiting for with "3 r". Review this WAITING list every so often to make sure that nothing falls through the cracks. Type "f" to start follow mode, which displays the relevant lines from your Org agenda file as you move around. This is helpful for quickly reviewing your task list.