How to add RefTeX support
[Worg/babel-doc.git] / org-glossary.org
blobb98c7e7c33d4e4d8ea8712216f4a30e816d32301
1 #+OPTIONS:    H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc
2 #+STARTUP:    align fold nodlcheck oddeven lognotestate
3 #+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
4 #+TAGS:       Write(w) Update(u) Fix(f) Check(c)
5 #+TITLE:      Org Glossary: An Explanation of Basic Org-Mode Concepts
6 #+AUTHOR:     Worg people
7 #+EMAIL:      bzg AT altern DOT org
8 #+LANGUAGE:   en
9 #+PRIORITIES: A C B
10 #+CATEGORY:   worg
11 #+INFOJS_OPT: view:overview toc:nil localtoc:t mouse:#cccccc buttons:0 path:http://orgmode.org/org-info.js
13 # This file is the default header for new Org files in Worg.  Feel free
14 # to tailor it to your needs.
16 [[file:index.org][{Back to Worg's index}]]
18 # Please feel free to add items or to complete any of the unfinished items.
20 * The Glossary
22 The org-manual does a great job of explaining the myriad features of
23 org-mode. But for new users, the sheer number of options and features
24 can be overwhelming.
26 #+begin_quote
28 What exactly are properties? How should I use them? Do I need to know
29 how they work in order to use org mode?
31 What are categories? How do they differ from tags?
33 #+end_quote
35 If you find yourself asking such questions, this document is for you.
36 Below you will find an alphabetical list of basic concepts/features in
37 org-mode. Click on any item for a brief definition, a more detailed
38 explanation of the feature, and a description of possible uses.
40 * Agenda
41   :PROPERTIES:
42   :CUSTOM_ID: agenda
43   :END: 
44 ** Definition
46 The agenda allows you to create filtered views of the items in your
47 [[#agenda-files][agenda files]]. These include "day-planner" views of your schedule,
48 lists of your todos, and the results of queries (for tags, words,
49 regular expressions, etc.). You might think of the agenda as a
50 combination of a task manager and a very powerful search interface.
52 ** Details
54 Provided you have followed the manual's instructions on setting up
55 org-mode and have designated some [[#agenda-files][agenda files]], simply type =C-c C-a=
56 (or =M-x org-agenda=) to gain access to the various views available.
58 Here are brief explanations of the options:
60  - a (Agenda) :: Presents a view of today's (or, optionally, this
61    week's) scheduled items, appointments, and upcoming deadlines.
63  - t (Todo entries) :: Presents a list of all active [[#todo-keywords][todo
64    keywords]] in your agenda files.
66  - m (Match) :: Allows you to search your agenda files for headlines
67    with particular metadata (tags, properties, or TOD0s). 
69      + The simplest way to query your files is to enter the name of a
70        tag, e.g., "@computer".
72      + To construct more advanced queries, please [[http://orgmode.org/manual/Matching-tags-and-properties.html][consult the manual]].
74  - L (Timeline for current buffer) :: Shows a chronological view of
75    all items with dates in the file you are currently visiting.
77  - s (Search) :: Allows you to search entries in your agenda files for
78    particular words or regular expressions.
80  - / (multi-occur) :: Shows all lines in your agenda files matching a
81    regular expression.
83  - < :: Restricts the agenda view to the file you are currently
84    visiting.
86  - << :: Restricts the agenda view to the subtree you are currently
87    visiting.
89 Within the agenda view, each item is linked to its location in your
90 files, so you can jump directly to that location from the agenda (by
91 pressing =TAB= or =RET=).
93 ** Uses
95 The uses of the agenda are limitless!
97 The agenda frees you from having to worry too much about the
98 organization of your org-mode files. If you are new to org-mode,
99 simply start by creating todos in your outlines and notes and
100 (optionally) adding tags and scheduling information to them. Even if
101 your file is cluttered with extraneous notes and ramblings, the agenda
102 will find the relevant lines and display them in a clean and readable
103 fashion.
105   - One use of the agenda is as a day planner system. If you prefer to
106     schedule your tasks and to see a daily agenda of TODOs, you'll
107     probably be pressing =C-c a a= a lot.
109   - The agenda can also be used for a powerful GTD system. If you like
110     to filter your "next actions" by context, then you'll probably
111     make frequent use of =C-c a t= to see a list of all your active
112     TODOs and to filter them by tag/context.
114   - While the agenda is a powerful task management tool, it is also a
115     fantastic research tool. If you keep a file full of reading notes,
116     for instance, you can use the agenda to locate entries containing
117     a particular word or labeled by a particular tag.
119 There are many more possibilities of configuring the agenda with
120 [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php][custom agenda commands]].
121     
122 * Agenda files
123   :PROPERTIES:
124   :CUSTOM_ID: agenda-files
125   :END:
126 ** Definition
128 These are the files that are used to generate your [[#agenda][agenda]] views. When
129 you call your agenda, the TODOs and scheduling information in your
130 agenda files will be displayed.
132 ** Details
134 There are different ways to designate these files:
136   1. Add a file manually with =C-c [= (=M-x
137      org-agenda-file-to-front=).
138      
139      - Remove with =C-c ]= (=M-x org-remove-file=).
141   2. Type =M-x customize-variable [RET] org-agenda-files= and enter
142      the names of your agenda files.
144      - If you enter a directory, all org files in that directory will
145        be included in your agenda files.
147 ** Tips: Organizing agenda files
149 One of the most common questions for new (and seasoned) users of
150 org-mode is how to organize agenda files. Should you put everything in
151 one big file organized by project? Should you create a new file for
152 each project? Or should you have separate "containers" for different
153 types of data: i.e., one file (or subtree) for appointments, one for
154 reference, one for todos, and so on.
156 The short answer: it doesn't matter. The agenda will be able to parse
157 and organize your TODOs, appointments, and deadlines no matter how
158 they are organized in your files.
160 If you are using org-mode for the first time, the simplest approach
161 may be to use a single file and to enter projects or todos as the
162 appear. Then, whenever you review your file, reorganize your todos and
163 projects into "groupings" (i.e., trees) that make sense to you. If a
164 tree starts to get too big, then start a new file. Perhaps you'll
165 discover that you want to keep your "work" and "personal" tasks in
166 different files.
168 Perhaps the main consideration in organizing your files is to consider
169 [[#inheritance][inheritance]] and [[#file-restriction][restriction]]. If you'd like a number of items to belong
170 to the same category or to have the same tags for easy agenda
171 filtering, then they probably belong in the same tree and/or file.
173 An example:
175   - If you'd like all your appointments to belong to the [[#category][category]]
176     "appts", then it probably doesn't make sense to scatter them as
177     first level headings among multiple files. It would make more
178     sense to create an appointments file or heading with the category
179     "appts".
181   - On the other hand, if you'd prefer to organize your appointments
182     by area of responsibility (e.g., work, personal, health, etc.),
183     then it would make perfect sense to place them in separate trees
184     and/or files.
186 * Archiving
187   :PROPERTIES:
188   :CUSTOM_ID: archiving
189   :END:
190 ** Definition
192 Archiving is a way of hiding and/or getting rid of old or unwanted
193 items in your org files without deleting them altogether.
195 ** Details
197 Archiving works on [[#tree][subtrees]] in your org-file by doing the following:
199   - Preventing them from opening when you cycle visibility with =TAB=
200     or =Shift-TAB=. (They will stay closed unless you explictly open
201     them with =Control-TAB=.)
203   - Keeping them out of your [[#agenda][agenda]] views. (They will only be included
204     if you type =v a= or =v A= in the agenda.)
206 There are three different ways to archiving an item/tree:
208   - C-c C-x a :: Mark the subtree as archived (i.e., give it an
209      =:ARCHIVE:= tag) but leave it in its current location.
211        - The headline remains visible in your org file but its contents
212          will not open during cycling and it will not be included in
213          the agenda.
215   - C-c C-x A :: Move the subtree to a separate archive headline
216      within the parent tree and/or file.
218        - This is useful for maintaining a clean org-file, since it
219          removes archived headlines from view.
221   - C-c C-x C-s :: Move the subtree to a separate file. The default
222      name of the file is =[filename].org_archive=.
224        - This is useful for getting rid of subtrees altogether. You
225          might want to use this when you finish a project.
227        - Since this is a relatively drastic action, org-mode offers an
228          alternate version of the command (=C-u C-c C-x C-s=) that
229          checks the subtree to make sure there are no active TODOs
230          before archiving it.
232 ** Uses
234 Archiving is very useful for keeping your org files free of clutter.
235 But which type of archiving should you use?
237 Here are a few ideas:
239   - Use =C-c C-x a= when you'd like to archive an entry/subtree but
240     want to be reminded of its presence (e.g., to be reminded of a
241     completed task) when you view your org file.
243   - Use =C-c C-x A= when you want to remove an entry/subtree from view but
244     want it to remain together with its context (i.e., within the file
245     or parent tree). This is often useful for archiving TODO items
246     that are part of an incomplete project.
248   - Use =C-c C-x C-s= when you are sure you no longer require an
249     entry/subtree except for reference. This is often useful for
250     archiving completed projects.
252 * Category
253   :PROPERTIES:
254   :CUSTOM_ID: category
255   :END:
256 ** Definition
257 A category is the group an item belongs to.
259 ** Details
260 The category of an item is shown in the left hand column of the
261 daily/weekly agenda view.
263 : Day-agenda (W38):
264 : Wednesday  16 September 2009
265 :   badclient:  Scheduled:  TODO Call angry client to calm him down
266 :   appts:      Dinner at Julio's 
268 By default an item's category is the name of the file (minus the
269 extension) to which it belongs.
271 You can specify a different category for a file by placing the
272 following line at the top of your org file:
274 #+begin_src org
275   ,#+CATEGORY: CompanyABC
276 #+end_src
278 Or, you can set a category as the property of a [[#tree][tree]]. All items in
279 that tree will [[#inheritance][inherit]] that category and be labeled with it in the
280 agenda.
282 #+begin_src org
283   ,* Birthdays
284   ,  :PROPERTIES:
285   ,  :CATEGORY: birthdays
286   ,  :END:
287 #+end_src
289 ** Uses
291 The main purpose of a category is to increase visibility in the
292 daily/weekly agenda --- i.e., to allow you to see which "group" an
293 item belongs to. 
295 Apart from visibility and compartmentalization, categories do not add
296 much additional functionality to an item. It is certainly *not*
297 necessary to set them for every file and/or heading.
299 You can search for items by category in the agenda using the following
300 key sequence:
302 : C-c C-a m CATEGORY="birthdays"
304 In general, categories are *not* an efficient way of searching
305 for and/or filtering tasks. It is much faster to use [[#tag][tags]] or filetags
306 for this.
308 Here's one way to distinguish between categories and tags: an entry
309 can belong to only one category but it can have multiple tags.
311 * DEADLINE 
312 ** Definition
314 A deadline is a special timestamp for indicating items that should be
315 performed by a certain time. Reminders about deadlines appear in your
316 agenda a specified number of days before they due.
318 ** Details
320 You can add a deadline to a headline/entry by typing C-c C-d. You can
321 remove a deadline by typing C-u C-c C-d.
323 Here is the syntax for deadlines:
325 #+begin_src org
326   ,* My big project
327   ,  DEADLINE: <2009-09-20 Sun>
328 #+end_src
330 You will be alerted of this deadline ahead of time when you select the
331 daily/weekly agenda (=C-c C-a a=).
333 :  index:      In   3 d.:  My big project
335 How soon the warning appears in your agenda is controlled by the
336 variable =org-deadline-warning-days=. The default number of days is
339 The deadline will remain in your agenda (as an overdue item) until it
340 is marked done.
342 You can change the a warning period for a particular headline by
343 adding something like "-3d" (3 days) or "-2m" (two months) to the
344 timestamp:
346 #+begin_src org
347   ,* My big project
348   ,  DEADLINE: <2009-09-20 Sun -2m>
349 #+end_src
351 ** Uses
353 The obvious use of a deadline is to reminder yourself of tasks that
354 need to be completed by a certain date. 
356 Deadlines can also be useful as an "advanced notice" system --- e.g.,
357 reminding yourself to prepare for an event or project.
359 You can add both a deadline and a scheduling timestamp to the same
360 entry.
362 * Docstring
363   :PROPERTIES:
364   :CUSTOM_ID: docstring
365   :END:
367 ** Definition
368 A [[http://en.wikipedia.org/wiki/Docstring][docstring]] is the documentation written as part of a emacs lisp
369 variable or a function. It is part of Emacs' wonderful interactive
370 help system.
372 (Note: This definition is not org-mode specific, but is rather a more
373 general org-mode/lisp/coding concept. It's included here because
374 mailing list posts often reference a "docstring," an obscure phrase
375 for anyone not familiar with coding lingo.)
377 ** Details and uses
379 If you are wondering what a particular org-mode key combination,
380 function, or variable does, the manual is not your only source of
381 information. Carsten has also embedded a wealth of resources into the
382 org-mode source code itself. These can be easily viewed using Emacs
383 built-in help functions.
385 For instance, let's say you want to learn more about creating a clock
386 report in org mode. One way to do this is to type =C-h k= or =M-x
387 describe-key= and then to enter the relevant key combination (=C-c
388 C-x-C-r=). This will provide the following very helpful information:
390 : org-clock-report is an interactive compiled Lisp function in
391 : `org-clock.el'.
393 : It is bound to C-c C-x C-r, <menu-bar> <Org> <Logging work> <Create
394 : clock table>.
396 : (org-clock-report &optional arg)
398 : Create a table containing a report about clocked time.
399 : If the cursor is inside an existing clocktable block, then the table
400 : will be updated.  If not, a new clocktable will be inserted.
401 : When called with a prefix argument, move to the first clock table in the
402 : buffer and update it.
404 : [back]
406 If you happened to know the name of the function, you could also
407 locate the same information using =C-h f= or =M-x describe-function=
408 and entering =org-clock-report=. Or you could use =C-h a= or
409 =apropos-command= to browse all functions that contain the words "org
410 clock".
412 Finally, if you want to learn more about variables, you can read their
413 docstrings by browsing the customize interface (=M-x customize-group
414 [RET] org=) or by typing =C-h v= or =M-x describe-variable=).
416 * Drawers
417   :PROPERTIES:
418   :CUSTOM_ID: drawers
419   :END:
420 ** Definition
422 A drawer is a container that can hide information you don't want to
423 see during normal viewing and/or cycling of your outline.
425 ** Details
427 A drawer looks like this:
429 #+begin_src org
430   ,* Daily sleep log
431   ,  :LOGBOOK:
432   ,  - Note taken on [2009-09-16 Wed 04:02] \\
433   ,    Didn't sleep at all.
434   ,  - Note taken on [2009-09-15 Tue 05:25] \\
435   ,    Slept fitfully.
436   ,  - Note taken on [2009-09-14 Mon 09:30] \\
437   ,    Slept like a log.
438   ,  :END:
439 #+end_src
441 When you cycle the visibility of your outline, the contents of the
442 drawer will remain hidden. 
444 #+begin_src org
445   ,* Daily sleep log
446   ,  :LOGBOOK:
447 #+end_src
449 The only way to view the contents is to press =TAB= directly on the
450 drawer.
452 If you want a new name for a drawer, such as :NOTES:, you must
453 customize the variable "org-drawers". Simply type =M-x
454 customize-variable [RET] org-drawers" and add a new label.
456 ** Uses
458 By default, org-mode uses drawers to hide a variety of information,
459 such as [[#property][properties]] and clocked times.
461 But drawers are also quite useful for storing comments that you don't
462 want to see all the time. For instance, if you are writing a paper,
463 you might add a =:NOTE:= drawer to the variable =org-drawers=. Then
464 you can deposit any notes to yourself in such drawers. By default, the
465 information you put in drawers will not be exported to HTML, LaTeX,
466 etc.
468 * Entry
469   :PROPERTIES:
470   :CUSTOM_ID: entry
471   :END:
472 ** Definition
474 An entry is the basic unit of data in org-mode. It consists of a
475 [[#headline][headline]], metadata (tags, todo keyword, properties, priority, etc.),
476 and whatever other text it contains.
478 ** Details
480 An entry is to be distinguished from a [[#tree][tree]], which consists of all
481 headlines and entries beneath a particular entry within the outline
482 structure. Entries nested within other entries form a tree.
484 Here is a sample entry with a lot of data:
486 #+begin_src org
487   ,* TODO [#B] Headline                                                   :tags:
488   ,  :PROPERTIES:
489   ,  :DESCRIPTION: This is a sample property.
490   ,  :CATEGORY: documentation
491   ,  :CUSTOM_ID: an-extra-special-headline
492   ,  :END:
493   
494   ,And here is the text of an entry. You can put an unlimited amount of
495   ,text in an entry!
496   
497   ,You can also add lists:
498   
499   , - First item
500   
501   , - Second item
502   
503   , - Third item
504   
505   ,And tables:
506   
507   ,| Meal      | Food            | Calories |
508   ,|-----------+-----------------+----------|
509   ,| Breakfast | Eggs            |      500 |
510   ,| Lunch     | Escargot        |      800 |
511   ,| Dinner    | Bread and Water |      200 |
512   ,|-----------+-----------------+----------|
513   ,| Total     |                 |     1500 |
514 #+end_src
516 * Headline
517   :PROPERTIES:
518   :CUSTOM_ID: headline
519   :END: 
520 ** Definition
521 A headline is the name for an outline heading in an org file.
523 ** Details
524 Headlines begin with one or more asterisks. 
526 #+begin_src org
527   ,* A headline
528 #+end_src
530 The "level" of a headline corresponds to the number of asterisks. The more asterisks,
531 the deeper the level in the outline.
533 #+begin_src org
534   ,***** A "level 5" outline heading
535 #+end_src
537 As are all outlines, org-files are organized hierarchically. Deeper
538 headlines are "children" of higher-level "parent" headlines (and can
539 "inherit" their properties). Headlines on the same level are known as
540 siblings.
542 #+begin_src org
543   ,* A parent
544   ,** A child
545   ,*** Sibling one (also a child of "A child")
546   ,*** Sibling two
547   ,*** Sibling three
548 #+end_src
550 You can move headlines (and their corresponding [[#entry][entries]]) by using the
551 cursor keys in conjunction with the =Meta= key.
553  - =M-Left= and =M-Right= move the headline horizontally (i.e., change
554    its level).
556    - The org documentation often uses the terms "promote" and "demote"
557      for this action.
559  - =M-Up= and =M-Down= move the headline vertically.
561 You can easily jump to another headline using =M-x org-goto= (=C-c
562 C-j=).
564 You can easily "refile" a headline in a different location using =M-x
565 org-refile= (=C-c C-w=).
567 ** Uses
569 The basic use of headings, of course, is to distinguish separate
570 sections within your outline and to organize them hierarchically.
572 The other major use of headings is as TODO "items" that appear in your
573 agenda.
575 The power of org-mode lies in its treatment of headlines as
576 "containers" of information to which you can attach all sorts of data
577 ([[#todo-keywords][todo keywords]], [[tag][tags]], priorities, timestamps, [[#property][properties]], and an
578 unlimited amount of text). This turns org-mode's deceptively simple
579 outline structure into a powerful "database" of information, in which
580 units of data can be nested within one another.
582 * Inheritance
583 ** Definition
585 Inheritance is a term used to describe the way in which [[#entry][entries]] in a
586 [[#tree][tree]] can share the properties of their "parent" [[#headline][headlines]].
588 ** Details
590 Org-mode takes full advantage of the hierarchical structure of
591 outlines by allowing lower level headlines to "inherit" (or share) the
592 properties of their parents.
594 The most common form of inheritance in org-mode is "[[http://orgmode.org/manual/Tag-inheritance.html][tag inheritance]]".
595 This is controlled by the variable org-use-tag-inheritance (true by
596 default). When turned on, lower level outline headings share the tags
597 of their parents. Thus in the following tree, all the headlines have
598 the tag "=:reading:=", even though it is only explicitly set for the
599 top level headline:
601 #<<tag-inheritance-example>>
602 #+begin_src org
603   ,* Summer reading list                                               :reading:
604   ,  DEADLINE: <1965-06-06 Sun>
605   
606   ,** /To Kill a Mockingbird/
607   
608   ,** /Catch 22/
609   
610   ,** /Herzog/
611 #+end_src
613 Some properties, such as [[#category][category]], are also inherited by default. See
614 [[http://orgmode.org/manual/Property-inheritance.html][the manual]] for more details.
616 ** Uses
618 The most common use of tag inheritance is in agenda views and agenda
619 filtering. For instance, if you searched for the tag "reading" in your
620 agenda files, all of the headings in the [[tag-inheritance-example][example above]] would appear. 
622 As a result it is easy to add a tag and/or category to a whole subtree
623 of items simply by adding a single tag to the parent headline.
625 Let's say for instance, that you want to designate a whole bunch of
626 tasks as belonging to the project "topsecret". By adding =:topsecret:=
627 to the top headline of the group, you are in effect labeling all the
628 items in the tree as "topsecret". An agenda search for the TODOs with
629 the tag "topsecret" (=C-c a M [RET] topsecret=) would then return any
630 active TODOs in the entire tree.
632 Another common use of inheritance is to allow a special setting (e.g.,
633 logging or archive location) to apply to an entire subtree.
635 Finally, inheritance plays an important role in org-mode's column
636 view.
638 * Property
639   :PROPERTIES:
640   :CUSTOM_ID: property
641   :END:
642 ** Definition
644 A property is an arbitrary piece of "metadata" you can attach to an
645 entry. A property takes the form of a "data pair," which consists of
646 a key and its value.
648 ** Details
649 Properties are stored in [[#drawer][drawers]] beneath a headline. Here is a sample
650 property drawer:
652 #+begin_src org
653   ,* Invoice for fixing the toilet
654   ,  :PROPERTIES:
655   ,  :LOGGING:  lognoterepeat
656   ,  :BILLED: 102.13
657   ,  :BILLING_DATE: 2009-09-11
658   ,  :CLIENT:   ABC Company
659   ,  :END:
660 #+end_src
662 Though org-mode reserves a handful of property keys for special uses
663 (e.g., LOGGING in the example above), you are otherwise free to add
664 whatever property keys and values you'd like.
666 Though you can type properties by hand, the simplest way to add them
667 is to type =C-c C-x p= or =M-x org-set-property=.
669 ** Uses
671 For new org users, properties can seem a bit puzzling. What exactly
672 are they for? Here are some of their uses:
674    1. To specify settings for the local org-mode [[#tree][tree]]. 
676       - For instance, though you may not normally want to be prompted
677         for a note when you mark an item as DONE, you might want to
678         make an exception for a particular task or project. To do so,
679         you would set the LOGGING property to "lognotedone" in the
680         relevant subtree.
682    2. To create a small database of information.
684       - The manual offers an nice example of this: [[http://orgmode.org/manual/Property-syntax.html#Property-syntax][keeping track
685         of a information about a CD collection]].
687       - Similarly, you might keep bibliographical information about
688         books you've read in properties.
690    3. To enter data that can be viewed as a "spreadsheet" in column view.
692    4. To create more specific labels for headlines than generic tags allow.
694       - For instance, if you are keeping track of expenses, you could
695         put the type of expense in a tag, but then it would be mixed
696         up with your other tags. A solution would be to create a
697         special property (e.g., EXPENSE_TYPE) to hold the information.
699    5. To label a particular tree with a unique ID so that it can be
700       referenced easily via hyperlinks.
702 * Tag
703   :PROPERTIES:
704   :CUSTOM_ID: tag
705   :END:
706 ** Definition
708 A tag is a label (or piece of "metadata") that is attached to a
709 headline for easy identification and filtering later. Several tags can
710 be attached to the same headline.
712 ** Details
714 Tags can be added to headlines with the key combination =C-c C-q= or
715 =C-c C-c=.
717 Tags have the following syntax:
719 #+begin_src org
720   ,* A headline with tags                               :Richard:URGENT:errands:
721 #+end_src
723 You may be familiar with tags from blogs or sites like [[http://del.icio.us][del.icio.us]].
724 Tags are a way of labeling information without having to rely on a
725 rigid hierarchical structure. Unlike categories, you can give a
726 headline/entry multiple tags. In many ways, org-mode offers the best
727 of both worlds: the hierarchical organization of an outline and the
728 impromptu labeling of tags.
730 The entry above would appear in queries for any of the tags:
731 "Richard", "URGENT", or "errands".
733 The syntax for searching tags via the [[#agenda][agenda]] is quite simple. For
734 instance, you could create a targeted agenda search for all items
735 tagged "Richard" and "urgent".
737 : C-c a m Richard+URGENT
739 Or for items tagged Richard that are not urgent:
741 : C-c a m Richard-URGENT
743 You can also use sparse view searches to display all tags within a
744 particular org-file.
746 If you find yourself commonly using certain tags, you can create a
747 list of shortcuts for them by typing =M-x customize-variable [RET]
748 org-tags-alist=. You can also set special tags for a particular file.
749 See [[http://orgmode.org/manual/Setting-tags.html][the manual]] for more details.
751 ** Uses
753 One common use of tags is as [[http://en.wikipedia.org/wiki/Getting_Things_Done#GTD_methodology][GTD contexts]]. You might, for instance,
754 define a list of tags in org-tags-alist that correspond to the various
755 contexts in a "next action" can be completed: @computer, @home,
756 @errands, @work, and so on. Then you can quickly filter for these tags
757 by pressing "=/=" in the agenda. See [[http://orgmode.org/manual/Agenda-commands.html#Agenda-commands][the manual]] for more details.
759 Another common use of a tag is to label a group of tasks as belonging
760 to a particular project or area of responsibility. For instance, you
761 might create a subtree in your file that contains all your house
762 repair projects and tag it with ":houserepair:". Let's say that when
763 Saturday rolls around, you decide to work exclusively on repairs.
764 Thanks to [[#inheritance][inheritance]], you can quickly locate all your tasks that
765 inherit the ":houserepair:" tag.
767 Here's what this would look like:
769 #+begin_src org
770   ,* Tasks around the house                                        :houserepair:
771   
772   ,** TODO Fix sink
773   
774   ,** TODO Mow lawn
775   
776   ,** TODO Tear up carpet
777 #+end_src
779 Tags are also extremely useful for notetaking and research. You might,
780 for instance, create a file of reading notes in which each entry is a
781 snippet of information tagged with relevant keywords. The beauty of
782 org-mode is that these snippets can be easily rearranged within the
783 outline and yet remain easy to find via tags.
785 ** Considerations: Tags vs. TODO keywords vs. Properties
787 One question that often emerges for new users of org mode is how to
788 decide when tags, [[#todo-keyword][TODO keywords]], or [[#property][properties]] are appropriate.
790 For instance, should you define your projects by creating a special
791 todo keyword for them (=PROJECT=) or by giving them a "=:project:="
792 tag? Similarly, should you create a TODO keyword for items that are
793 waiting, or should you add a "=:waiting:=" tag?
795 Either choice would be fine, of course, but here are a few
796 considerations to keep in mind:
798 1. Do you want quickly to filter for the item in the agenda view? If
799    so, a tag is probably your best choice.
801    - Note, you can add a setting to your .emacs that automatically
802      adds a tag whenever you assign a particular TODO keyword. Type
803      "=C-c v org-todo-state-tags-triggers=" for more information.
805 2. How visible do you want the keyword and/or tag to be? When viewing
806    an org-mode file, TODO Keywords are highly visible, tags somewhat
807    less so, and properties not at all.
809 3. Is the keyword part of your workflow? Do you want to be able to log
810    information (such as a timestamp and a note) when you add or remove
811    the keyword? If so, then use a TODO keyword.
813    - An example: While a "waiting" tag might make it easier to filter
814      for items in your todo list that are waiting/pending, a =WAITING=
815      todo keyword would allow you to keep track of when an item
816      entered the "waiting" state and when it left it.
818    - Similarly, if you want to keep track of a sequence of actions on
819      phone calls you receive, it would be relatively inefficient to
820      add and remove tags to designate each stage. It would probably be
821      better to set up a TODO sequence, such as ACT -> CALL -> MESSAGE
822      -> FOLLOWUP -> etc.
824 * Tree (subtree)
825   :PROPERTIES:
826   :CUSTOM_ID: tree
827   :END:
828 ** Definition
830 A tree is created by the structure of an outline. It consists of a
831 heading and all subheadings/entries beneath it within the outline
832 hierarchy.
834 ** Details
836 A tree is to be distinguished from an [[#entry][entry]]. Whereas an entry
837 indicates only a single headline and its data, a tree consists of
838 multiple nested entries. And, of course, subtrees are nested within
839 larger trees.
841 * Todo Keywords
842   :PROPERTIES:
843   :CUSTOM_ID: todo-keyword
844   :END:
845 ** Definition
847 A TODO keyword is a small keyword at the beginning of a headline that
848 defines the TODO state of the entry. 
850 ** Details
852 The default TODO keywords in org-mode are TODO and DONE. They are
853 automatically given nice colors to make them stand out.
855 #+begin_src org
856   ,* DONE Check cupboard to see if I'm out of bread 
857   ,  CLOSED: [2009-09-16 Wed 13:14] 
858   ,* TODO Buy bread at the store
859 #+end_src
861 Org mode distinguishes between two types of keywords, active and
862 inactive (corresponding with the default TODO and DONE). By default,
863 active TODOs will be shown in [[#agenda][agenda views]]. Inactive todos will not be
864 shown.
866 You can select a TODO keyword by typing =C-c C-t= on an item. Or you
867 can move sequentially through TODOs by typing =Shift-Left= or
868 =Shift-Right=.
870 While the default keywords TODO and DONE will suffice for many users,
871 you can define your own TODO keywords (such as PROJECT, WAITING,
872 etc.) by following the instructions in the manual:
874 - http://orgmode.org/manual/TODO-Items.html
876 ** Uses
877    :PROPERTIES:
878    :ID:       e0f76b6c-411f-4df1-88f5-445e11d9ca1d
879    :END:
881 Not surprisingly, the most common use of TODO keywords is to indicate
882 items in your outline files that require action. Where other task
883 management systems often separate notes and todos, org-mode allows you
884 to mark items in your notes as TODOs.
886 Another common use of TODO keywords is to follow a single item through
887 an extended workflow. For instance, you might create a special TODO
888 keyword sequence for invoices by placing the following at the top of
889 your org file:
891 #+begin_src org
892 , #+SEQ_TODO: INVOICE(i) MAIL(m) WAITING(w) FOLLOWUP(f) | RECEIVED(r)
893 #+end_src
895 Note: The "|" separates active from inactive todos.
897 You can combine such todo sequences with logging in order to keep a
898 record of when each event in the sequence happened.
900 * TODO Awaiting definitions
901 ** Agenda filtering
902 ** CLOCK 
903 ** Column view
904 ** Cycling
905 ** Effort estimate
906 ** Filetag
907 ** Project
908 ** Note
909 ** List 
910   
911 ** Level
912 ** Logging
913                      
914 ** SCHEDULED 
916 ** Restriction lock
917 ** Table 
919 ** Timestamp