Here is how I use Emacs and org-mode to keep myself organized.
1. I keep all my todo lists in a single file. My work items, my shopping list, my hobby projects all reside in the same file.
2. I use one top-level heading for each category.

3. Under each top-level heading I have ‘checkboxes’ for each todo item. If you begin an item with – [ ] it is treated as a checkbox. You can use C-c C-c to toggle between the checked [x] and unchecked states [ ]. There is also an intermediate stage [-] that you can use to denote work in progress (set using C-u C-u C-c C-c).


4. You can place your cursor anywhere on a top-level heading press tab to hide or show the sub-items.

5. If you type [/] against a top-level heading that has checkboxes under it, each time you check or uncheck an item, it’ll automatically update itself with a count of checked/total items. You can also force an update of the checkbox count, by placing your cursor over [/] and pressing C-c C-#

6. You can press C-c . to insert a date against a todo item. By default the calendar loads with the current date selected (you can use S–>/S-<- to select a later/earlier date) and press enter to insert the selected ate.

7. org-mode has support for Emacs’ narrow-mode and you can use it to narrow down your todo list to just one top-level item. C-x n s will leave you with just the top-level heading your cursor was on. You can press C-x n w to see all your headings again.

8. org-mode also has support for hyperlinks. You can type/paste something that looks like a link and org-mode will allow you to launch it using C-c C-o:

Links these days can look a bit unwieldy. You can give your links a title and hide the url like this: [[href][text]]. e.g. the url in the example above can be written as [[http://shop.oreilly.com/product/9780596004927.do][oreilly store]] and you’ll get a compact link:

9. A lot of our items at work these days originate as emails. Having the email corresponding to your todo item readily accessible next to it can be a big timesaver. If you use Emacs on MacOS, you can link to individual emails in Mail.app. Visiting the mail link (C-c C-o) will open the email in Mail.app. Copying the currently selected email’s link can be a little tricky. I made a minor tweak to this AppleScript snippet that I found on daringfireball.com:
tell application "Mail"
set _sel to get selection
set _links to {}
repeat with _msg in _sel
set _messageURL to "[[message://%3c" & _msg's message id & "%3e][email]]"
set end of _links to _messageURL
end repeat
set AppleScript's text item delimiters to return
set the clipboard to (_links as string)
end tell
I now use it with Alfred [I've assigned it a keyboard shortcut - cpm] to quickly copy a link to my currently selected email for use in my todo list.
