Add a hack: transpose table function (by Juan Pechiar)
[Worg.git] / org-glossary.org
blobf8b2659aaa38a69dbb6b0252ae5ef794ae6cfccf
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:      mdl AT imapmail 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
21 The org-manual does a great job of explaining the myriad features of
22 org-mode. But for new users, the sheer number of options and features
23 can be overwhelming.
25 #+begin_quote
27 What exactly are properties? How should I use them? Do I need to know
28 how they work in order to use org mode?
30 What are categories? How do they differ from tags?
32 #+end_quote
34 If you find yourself asking such questions, this document is for you.
35 Below you will find an alphabetical list of basic concepts/features in
36 org-mode. Click on any item for a brief definition, a more detailed
37 explanation of the feature, and a description of possible uses.
39 * Agenda
40 :PROPERTIES:
41 :CUSTOM_ID: agenda
42 :END: 
43 ** Definition
45 The agenda allows you to create filtered views of the items in your
46 [[#agenda-files][agenda files]]. These include "day-planner" views of your schedule,
47 lists of your todos, and the results of queries (for tags, words,
48 regular expressions, etc.). You might think of the agenda as a
49 combination of a task manager and a very powerful search interface.
51 ** Details
53 Provided you have followed the manual's instructions on setting up
54 org-mode and have designated some [[#agenda-files][agenda files]], simply type =C-c C-a=
55 (or =M-x org-agenda=) to gain access to the various views available.
57 Here are brief explanations of the options:
59  - a (Agenda) :: Presents a view of today's (or, optionally, this
60    week's) scheduled items, appointments, and upcoming deadlines.
62  - t (Todo entries) :: Presents a list of all active [[#todo-keywords][todo
63    keywords]] in your agenda files.
65  - m (Match) :: Allows you to search your agenda files for headlines
66    with particular metadata (tags, properties, or TOD0s). 
68      + The simplest way to query your files is to enter the name of a
69        tag, e.g., "@computer".
71      + To construct more advanced queries, please [[http://orgmode.org/manual/Matching-tags-and-properties.html][consult the manual]].
73  - L (Timeline for current buffer) :: Shows a chronological view of
74    all items with dates in the file you are currently visiting.
76  - s (Search) :: Allows you to search entries in your agenda files for
77    particular words or regular expressions.
79  - / (multi-occur) :: Shows all lines in your agenda files matching a
80    regular expression.
82  - < :: Restricts the agenda view to the file you are currently
83    visiting.
85  - << :: Restricts the agenda view to the subtree you are currently
86    visiting.
88 Within the agenda view, each item is linked to its location in your
89 files, so you can jump directly to that location from the agenda (by
90 pressing =TAB= or =RET=).
92 ** Uses
94 The uses of the agenda are limitless!
96 The agenda frees you from having to worry too much about the
97 organization of your org-mode files. If you are new to org-mode,
98 simply start by creating todos in your outlines and notes and
99 (optionally) adding tags and scheduling information to them. Even if
100 your file is cluttered with extraneous notes and ramblings, the agenda
101 will find the relevant lines and display them in a clean and readable
102 fashion.
104   - One use of the agenda is as a day planner system. If you prefer to
105     schedule your tasks and to see a daily agenda of TODOs, you'll
106     probably be pressing =C-c a a= a lot.
108   - The agenda can also be used for a powerful GTD system. If you like
109     to filter your "next actions" by context, then you'll probably
110     make frequent use of =C-c a t= to see a list of all your active
111     TODOs and to filter them by tag/context.
113   - While the agenda is a powerful task management tool, it is also a
114     fantastic research tool. If you keep a file full of reading notes,
115     for instance, you can use the agenda to locate entries containing
116     a particular word or labeled by a particular tag.
118 There are many more possibilities of configuring the agenda with
119 [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php][custom agenda commands]].
120     
121 * Agenda files
122 :PROPERTIES:
123 :CUSTOM_ID: agenda-files
124 :END:
125 ** Definition
127 These are the files that are used to generate your [[#agenda][agenda]] views. When
128 you call your agenda, the TODOs and scheduling information in your
129 agenda files will be displayed.
131 ** Details
133 There are different ways to designate these files:
135   1. Add a file manually with =C-c [= (=M-x
136      org-agenda-file-to-front=).
137      
138      - Remove with =C-c ]= (=M-x org-remove-file=).
140   2. Type =M-x customize-variable [RET] org-agenda-files= and enter
141      the names of your agenda files.
143      - If you enter a directory, all org files in that directory will
144        be included in your agenda files.
146 ** Tips: Organizing agenda files
148 One of the most common questions for new (and seasoned) users of
149 org-mode is how to organize agenda files. Should you put everything in
150 one big file organized by project? Should you create a new file for
151 each project? Or should you have separate "containers" for different
152 types of data: i.e., one file (or subtree) for appointments, one for
153 reference, one for todos, and so on.
155 The short answer: it doesn't matter. The agenda will be able to parse
156 and organize your TODOs, appointments, and deadlines no matter how
157 they are organized in your files.
159 If you are using org-mode for the first time, the simplest approach
160 may be to use a single file and to enter projects or todos as the
161 appear. Then, whenever you review your file, reorganize your todos and
162 projects into "groupings" (i.e., trees) that make sense to you. If a
163 tree starts to get too big, then start a new file. Perhaps you'll
164 discover that you want to keep your "work" and "personal" tasks in
165 different files.
167 Perhaps the main consideration in organizing your files is to consider
168 [[#inheritance][inheritance]] and [[#file-restriction][restriction]]. If you'd like a number of items to belong
169 to the same category or to have the same tags for easy agenda
170 filtering, then they probably belong in the same tree and/or file.
172 An example:
174   - If you'd like all your appointments to belong to the [[#category][category]]
175     "appts", then it probably doesn't make sense to scatter them as
176     first level headings among multiple files. It would make more
177     sense to create an appointments file or heading with the category
178     "appts".
180   - On the other hand, if you'd prefer to organize your appointments
181     by area of responsibility (e.g., work, personal, health, etc.),
182     then it would make perfect sense to place them in separate trees
183     and/or files.
185 * Archiving
186 :PROPERTIES:
187 :CUSTOM_ID: archiving
188 :END:
189 ** Definition
191 Archiving is a way of hiding and/or getting rid of old or unwanted
192 items in your org files without deleting them altogether.
194 ** Details
196 Archiving works on [[#tree][subtrees]] in your org-file by doing the following:
198   - Preventing them from opening when you cycle visibility with =TAB=
199     or =Shift-TAB=. (They will stay closed unless you explictly open
200     them with =Control-TAB=.)
202   - Keeping them out of your [[#agenda][agenda]] views. (They will only be included
203     if you type =v a= or =v A= in the agenda.)
205 There are three different ways to archiving an item/tree:
207   - C-c C-x a :: Mark the subtree as archived (i.e., give it an
208      =:ARCHIVE:= tag) but leave it in its current location.
210        - The headline remains visible in your org file but its contents
211          will not open during cycling and it will not be included in
212          the agenda.
214   - C-c C-x A :: Move the subtree to a separate archive headline
215      within the parent tree and/or file.
217        - This is useful for maintaining a clean org-file, since it
218          removes archived headlines from view.
220   - C-c C-x C-s :: Move the subtree to a separate file. The default
221      name of the file is =[filename].org_archive=.
223        - This is useful for getting rid of subtrees altogether. You
224          might want to use this when you finish a project.
226        - Since this is a relatively drastic action, org-mode offers an
227          alternate version of the command (=C-u C-c C-x C-s=) that
228          checks the subtree to make sure there are no active TODOs
229          before archiving it.
231 ** Uses
233 Archiving is very useful for keeping your org files free of clutter.
234 But which type of archiving should you use?
236 Here are a few ideas:
238   - Use =C-c C-x a= when you'd like to archive an entry/subtree but
239     want to be reminded of its presence (e.g., to be reminded of a
240     completed task) when you view your org file.
242   - Use =C-c C-x A= when you want to remove an entry/subtree from view but
243     want it to remain together with its context (i.e., within the file
244     or parent tree). This is often useful for archiving TODO items
245     that are part of an incomplete project.
247   - Use =C-c C-x C-s= when you are sure you no longer require an
248     entry/subtree except for reference. This is often useful for
249     archiving completed projects.
251 * Category
252 :PROPERTIES:
253 :CUSTOM_ID: category
254 :END:
255 ** Definition
256 A category is the group an item belongs to.
258 ** Details
259 The category of an item is shown in the left hand column of the
260 daily/weekly agenda view.
262 : Day-agenda (W38):
263 : Wednesday  16 September 2009
264 :   badclient:  Scheduled:  TODO Call angry client to calm him down
265 :   appts:      Dinner at Julio's 
267 By default an item's category is the name of the file (minus the
268 extension) to which it belongs.
270 You can specify a different category for a file by placing the
271 following line at the top of your org file:
273 #+begin_src org
274   ,#+CATEGORY: CompanyABC
275 #+end_src
277 Or, you can set a category as the property of a [[#tree][tree]]. All items in
278 that tree will [[#inheritance][inherit]] that category and be labeled with it in the
279 agenda.
281 #+begin_src org
282   ,* Birthdays
283   ,  :PROPERTIES:
284   ,  :CATEGORY: birthdays
285   ,  :END:
286 #+end_src
288 ** Uses
290 The main purpose of a category is to increase visibility in the
291 daily/weekly agenda --- i.e., to allow you to see which "group" an
292 item belongs to. 
294 Apart from visibility and compartmentalization, categories do not add
295 much additional functionality to an item. It is certainly *not*
296 necessary to set them for every file and/or heading.
298 You can search for items by category in the agenda using the following
299 key sequence:
301 : C-c C-a m CATEGORY="birthdays"
303 In general, categories are *not* an efficient way of searching
304 for and/or filtering tasks. It is much faster to use [[#tag][tags]] or filetags
305 for this.
307 Here's one way to distinguish between categories and tags: an entry
308 can belong to only one category but it can have multiple tags.
310 * DEADLINE 
311 ** Definition
313 A deadline is a special timestamp for indicating items that should be
314 performed by a certain time. Reminders about deadlines appear in your
315 agenda a specified number of days before they due.
317 ** Details
319 You can add a deadline to a headline/entry by typing C-c C-d. You can
320 remove a deadline by typing C-u C-c C-d.
322 Here is the syntax for deadlines:
324 #+begin_src org
325   ,* My big project
326   ,  DEADLINE: <2009-09-20 Sun>
327 #+end_src
329 You will be alerted of this deadline ahead of time when you select the
330 daily/weekly agenda (=C-c C-a a=).
332 :  index:      In   3 d.:  My big project
334 How soon the warning appears in your agenda is controlled by the
335 variable =org-deadline-warning-days=. The default number of days is
338 The deadline will remain in your agenda (as an overdue item) until it
339 is marked done.
341 You can change the a warning period for a particular headline by
342 adding something like "-3d" (3 days) or "-2m" (two months) to the
343 timestamp:
345 #+begin_src org
346   ,* My big project
347   ,  DEADLINE: <2009-09-20 Sun -2m>
348 #+end_src
350 ** Uses
352 The obvious use of a deadline is to reminder yourself of tasks that
353 need to be completed by a certain date. 
355 Deadlines can also be useful as an "advanced notice" system --- e.g.,
356 reminding yourself to prepare for an event or project.
358 You can add both a deadline and a scheduling timestamp to the same
359 entry.
361 * Docstring
362 :PROPERTIES:
363 :CUSTOM_ID: docstring
364 :END:
366 ** Definition
367 A [[http://en.wikipedia.org/wiki/Docstring][docstring]] is the documentation written as part of a emacs lisp
368 variable or a function. It is part of Emacs' wonderful interactive
369 help system.
371 (Note: This definition is not org-mode specific, but is rather a more
372 general org-mode/lisp/coding concept. It's included here because
373 mailing list posts often reference a "docstring," an obscure phrase
374 for anyone not familiar with coding lingo.)
376 ** Details and uses
378 If you are wondering what a particular org-mode key combination,
379 function, or variable does, the manual is not your only source of
380 information. Carsten has also embedded a wealth of resources into the
381 org-mode source code itself. These can be easily viewed using Emacs
382 built-in help functions.
384 For instance, let's say you want to learn more about creating a clock
385 report in org mode. One way to do this is to type =C-h k= or =M-x
386 describe-key= and then to enter the relevant key combination (=C-c
387 C-x-C-r=). This will provide the following very helpful information:
389 : org-clock-report is an interactive compiled Lisp function in
390 : `org-clock.el'.
392 : It is bound to C-c C-x C-r, <menu-bar> <Org> <Logging work> <Create
393 : clock table>.
395 : (org-clock-report &optional arg)
397 : Create a table containing a report about clocked time.
398 : If the cursor is inside an existing clocktable block, then the table
399 : will be updated.  If not, a new clocktable will be inserted.
400 : When called with a prefix argument, move to the first clock table in the
401 : buffer and update it.
403 : [back]
405 If you happened to know the name of the function, you could also
406 locate the same information using =C-h f= or =M-x describe-function=
407 and entering =org-clock-report=. Or you could use =C-h a= or
408 =apropos-command= to browse all functions that contain the words "org
409 clock".
411 Finally, if you want to learn more about variables, you can read their
412 docstrings by browsing the customize interface (=M-x customize-group
413 [RET] org=) or by typing =C-h v= or =M-x describe-variable=).
415 * Drawers
416 :PROPERTIES:
417 :CUSTOM_ID: drawers
418 :END:
419 ** Definition
421 A drawer is a container that can hide information you don't want to
422 see during normal viewing and/or cycling of your outline.
424 ** Details
426 A drawer looks like this:
428 #+begin_src org
429   ,* Daily sleep log
430   ,  :LOGBOOK:
431   ,  - Note taken on [2009-09-16 Wed 04:02] \\
432   ,    Didn't sleep at all.
433   ,  - Note taken on [2009-09-15 Tue 05:25] \\
434   ,    Slept fitfully.
435   ,  - Note taken on [2009-09-14 Mon 09:30] \\
436   ,    Slept like a log.
437   ,  :END:
438 #+end_src
440 When you cycle the visibility of your outline, the contents of the
441 drawer will remain hidden. 
443 #+begin_src org
444   ,* Daily sleep log
445   ,  :LOGBOOK:
446 #+end_src
448 The only way to view the contents is to press =TAB= directly on the
449 drawer.
451 If you want a new name for a drawer, such as :NOTES:, you must
452 customize the variable "org-drawers". Simply type =M-x
453 customize-variable [RET] org-drawers" and add a new label.
455 ** Uses
457 By default, org-mode uses drawers to hide a variety of information,
458 such as [[#property][properties]] and clocked times.
460 But drawers are also quite useful for storing comments that you don't
461 want to see all the time. For instance, if you are writing a paper,
462 you might add a =:NOTE:= drawer to the variable =org-drawers=. Then
463 you can deposit any notes to yourself in such drawers. By default, the
464 information you put in drawers will not be exported to HTML, LaTeX,
465 etc.
467 * Entry
468 :PROPERTIES:
469 :CUSTOM_ID: entry
470 :END:
471 ** Definition
473 An entry is the basic unit of data in org-mode. It consists of a
474 [[#headline][headline]], metadata (tags, todo keyword, properties, priority, etc.),
475 and whatever other text it contains.
477 ** Details
479 An entry is to be distinguished from a [[#tree][tree]], which consists of all
480 headlines and entries beneath a particular entry within the outline
481 structure. Entries nested within other entries form a tree.
483 Here is a sample entry with a lot of data:
485 #+begin_src org
486   ,* TODO [#B] Headline                                                   :tags:
487   ,  :PROPERTIES:
488   ,  :DESCRIPTION: This is a sample property.
489   ,  :CATEGORY: documentation
490   ,  :CUSTOM_ID: an-extra-special-headline
491   ,  :END:
492   
493   ,And here is the text of an entry. You can put an unlimited amount of
494   ,text in an entry!
495   
496   ,You can also add lists:
497   
498   , - First item
499   
500   , - Second item
501   
502   , - Third item
503   
504   ,And tables:
505   
506   ,| Meal      | Food            | Calories |
507   ,|-----------+-----------------+----------|
508   ,| Breakfast | Eggs            |      500 |
509   ,| Lunch     | Escargot        |      800 |
510   ,| Dinner    | Bread and Water |      200 |
511   ,|-----------+-----------------+----------|
512   ,| Total     |                 |     1500 |
513 #+end_src
515 * Headline
516 :PROPERTIES:
517 :CUSTOM_ID: headline
518 :END: 
519 ** Definition
520 A headline is the name for an outline heading in an org file.
522 ** Details
523 Headlines begin with one or more asterisks. 
525 #+begin_src org
526   ,* A headline
527 #+end_src
529 The "level" of a headline corresponds to the number of asterisks. The more asterisks,
530 the deeper the level in the outline.
532 #+begin_src org
533   ,***** A "level 5" outline heading
534 #+end_src
536 As are all outlines, org-files are organized hierarchically. Deeper
537 headlines are "children" of higher-level "parent" headlines (and can
538 "inherit" their properties). Headlines on the same level are known as
539 siblings.
541 #+begin_src org
542   ,* A parent
543   ,** A child
544   ,*** Sibling one (also a child of "A child")
545   ,*** Sibling two
546   ,*** Sibling three
547 #+end_src
549 You can move headlines (and their corresponding [[#entry][entries]]) by using the
550 cursor keys in conjunction with the =Meta= key.
552  - =M-Left= and =M-Right= move the headline horizontally (i.e., change
553    its level).
555    - The org documentation often uses the terms "promote" and "demote"
556      for this action.
558  - =M-Up= and =M-Down= move the headline vertically.
560 You can easily jump to another headline using =M-x org-goto= (=C-c
561 C-j=).
563 You can easily "refile" a headline in a different location using =M-x
564 org-refile= (=C-c C-w=).
566 ** Uses
568 The basic use of headings, of course, is to distinguish separate
569 sections within your outline and to organize them hierarchically.
571 The other major use of headings is as TODO "items" that appear in your
572 agenda.
574 The power of org-mode lies in its treatment of headlines as
575 "containers" of information to which you can attach all sorts of data
576 ([[#todo-keywords][todo keywords]], [[tag][tags]], priorities, timestamps, [[#property][properties]], and an
577 unlimited amount of text). This turns org-mode's deceptively simple
578 outline structure into a powerful "database" of information, in which
579 units of data can be nested within one another.
581 * Inheritance
582 ** Definition
584 Inheritance is a term used to describe the way in which [[#entry][entries]] in a
585 [[#tree][tree]] can share the properties of their "parent" [[#headline][headlines]].
587 ** Details
589 Org-mode takes full advantage of the hierarchical structure of
590 outlines by allowing lower level headlines to "inherit" (or share) the
591 properties of their parents.
593 The most common form of inheritance in org-mode is "[[http://orgmode.org/manual/Tag-inheritance.html][tag inheritance]]".
594 This is controlled by the variable org-use-tag-inheritance (true by
595 default). When turned on, lower level outline headings share the tags
596 of their parents. Thus in the following tree, all the headlines have
597 the tag "=:reading:=", even though it is only explicitly set for the
598 top level headline:
600 #<<tag-inheritance-example>>
601 #+begin_src org
602   ,* Summer reading list                                               :reading:
603   ,  DEADLINE: <1965-06-06 Sun>
604   
605   ,** /To Kill a Mockingbird/
606   
607   ,** /Catch 22/
608   
609   ,** /Herzog/
610 #+end_src
612 Some properties, such as [[#category][category]], are also inherited by default. See
613 [[http://orgmode.org/manual/Property-inheritance.html][the manual]] for more details.
615 ** Uses
617 The most common use of tag inheritance is in agenda views and agenda
618 filtering. For instance, if you searched for the tag "reading" in your
619 agenda files, all of the headings in the [[tag-inheritance-example][example above]] would appear. 
621 As a result it is easy to add a tag and/or category to a whole subtree
622 of items simply by adding a single tag to the parent headline.
624 Let's say for instance, that you want to designate a whole bunch of
625 tasks as belonging to the project "topsecret". By adding =:topsecret:=
626 to the top headline of the group, you are in effect labeling all the
627 items in the tree as "topsecret". An agenda search for the TODOs with
628 the tag "topsecret" (=C-c a M [RET] topsecret=) would then return any
629 active TODOs in the entire tree.
631 Another common use of inheritance is to allow a special setting (e.g.,
632 logging or archive location) to apply to an entire subtree.
634 Finally, inheritance plays an important role in org-mode's column
635 view.
637 * Property
638 :PROPERTIES:
639 :CUSTOM_ID: property
640 :END:
641 ** Definition
643 A property is an arbitrary piece of "metadata" you can attach to an
644 entry. A property takes the form of a "data pair," which consists of
645 a key and its value.
647 ** Details
648 Properties are stored in [[#drawer][drawers]] beneath a headline. Here is a sample
649 property drawer:
651 #+begin_src org
652   ,* Invoice for fixing the toilet
653   ,  :PROPERTIES:
654   ,  :LOGGING:  lognoterepeat
655   ,  :BILLED: 102.13
656   ,  :BILLING_DATE: 2009-09-11
657   ,  :CLIENT:   ABC Company
658   ,  :END:
659 #+end_src
661 Though org-mode reserves a handful of property keys for special uses
662 (e.g., LOGGING in the example above), you are otherwise free to add
663 whatever property keys and values you'd like.
665 Though you can type properties by hand, the simplest way to add them
666 is to type =C-c C-x p= or =M-x org-set-property=.
668 ** Uses
670 For new org users, properties can seem a bit puzzling. What exactly
671 are they for? Here are some of their uses:
673    1. To specify settings for the local org-mode [[#tree][tree]]. 
675       - For instance, though you may not normally want to be prompted
676         for a note when you mark an item as DONE, you might want to
677         make an exception for a particular task or project. To do so,
678         you would set the LOGGING property to "lognotedone" in the
679         relevant subtree.
681    2. To create a small database of information.
683       - The manual offers an nice example of this: [[http://orgmode.org/manual/Property-syntax.html#Property-syntax][keeping track
684         of a information about a CD collection]].
686       - Similarly, you might keep bibliographical information about
687         books you've read in properties.
689    3. To enter data that can be viewed as a "spreadsheet" in column view.
691    4. To create more specific labels for headlines than generic tags allow.
693       - For instance, if you are keeping track of expenses, you could
694         put the type of expense in a tag, but then it would be mixed
695         up with your other tags. A solution would be to create a
696         special property (e.g., EXPENSE_TYPE) to hold the information.
698    5. To label a particular tree with a unique ID so that it can be
699       referenced easily via hyperlinks.
701 * Tag
702 :PROPERTIES:
703 :CUSTOM_ID: tag
704 :END:
705 ** Definition
707 A tag is a label (or piece of "metadata") that is attached to a
708 headline for easy identification and filtering later. Several tags can
709 be attached to the same headline.
711 ** Details
713 Tags can be added to headlines with the key combination =C-c C-q= or
714 =C-c C-c=.
716 Tags have the following syntax:
718 #+begin_src org
719   ,* A headline with tags                               :Richard:URGENT:errands:
720 #+end_src
722 You may be familiar with tags from blogs or sites like [[http://del.icio.us][del.icio.us]].
723 Tags are a way of labeling information without having to rely on a
724 rigid hierarchical structure. Unlike categories, you can give a
725 headline/entry multiple tags. In many ways, org-mode offers the best
726 of both worlds: the hierarchical organization of an outline and the
727 impromptu labeling of tags.
729 The entry above would appear in queries for any of the tags:
730 "Richard", "URGENT", or "errands".
732 The syntax for searching tags via the [[#agenda][agenda]] is quite simple. For
733 instance, you could create a targeted agenda search for all items
734 tagged "Richard" and "urgent".
736 : C-c a m Richard+URGENT
738 Or for items tagged Richard that are not urgent:
740 : C-c a m Richard-URGENT
742 You can also use sparse view searches to display all tags within a
743 particular org-file.
745 If you find yourself commonly using certain tags, you can create a
746 list of shortcuts for them by typing =M-x customize-variable [RET]
747 org-tags-alist=. You can also set special tags for a particular file.
748 See [[http://orgmode.org/manual/Setting-tags.html][the manual]] for more details.
750 ** Uses
752 One common use of tags is as [[http://en.wikipedia.org/wiki/Getting_Things_Done#GTD_methodology][GTD contexts]]. You might, for instance,
753 define a list of tags in org-tags-alist that correspond to the various
754 contexts in a "next action" can be completed: @computer, @home,
755 @errands, @work, and so on. Then you can quickly filter for these tags
756 by pressing "=/=" in the agenda. See [[http://orgmode.org/manual/Agenda-commands.html#Agenda-commands][the manual]] for more details.
758 Another common use of a tag is to label a group of tasks as belonging
759 to a particular project or area of responsibility. For instance, you
760 might create a subtree in your file that contains all your house
761 repair projects and tag it with ":houserepair:". Let's say that when
762 Saturday rolls around, you decide to work exclusively on repairs.
763 Thanks to [[#inheritance][inheritance]], you can quickly locate all your tasks that
764 inherit the ":houserepair:" tag.
766 Here's what this would look like:
768 #+begin_src org
769   ,* Tasks around the house                                        :houserepair:
770   
771   ,** TODO Fix sink
772   
773   ,** TODO Mow lawn
774   
775   ,** TODO Tear up carpet
776 #+end_src
778 Tags are also extremely useful for notetaking and research. You might,
779 for instance, create a file of reading notes in which each entry is a
780 snippet of information tagged with relevant keywords. The beauty of
781 org-mode is that these snippets can be easily rearranged within the
782 outline and yet remain easy to find via tags.
784 ** Considerations: Tags vs. TODO keywords vs. Properties
786 One question that often emerges for new users of org mode is how to
787 decide when tags, [[#todo-keyword][TODO keywords]], or [[#property][properties]] are appropriate.
789 For instance, should you define your projects by creating a special
790 todo keyword for them (=PROJECT=) or by giving them a "=:project:="
791 tag? Similarly, should you create a TODO keyword for items that are
792 waiting, or should you add a "=:waiting:=" tag?
794 Either choice would be fine, of course, but here are a few
795 considerations to keep in mind:
797 1. Do you want quickly to filter for the item in the agenda view? If
798    so, a tag is probably your best choice.
800    - Note, you can add a setting to your .emacs that automatically
801      adds a tag whenever you assign a particular TODO keyword. Type
802      "=C-c v org-todo-state-tags-triggers=" for more information.
804 2. How visible do you want the keyword and/or tag to be? When viewing
805    an org-mode file, TODO Keywords are highly visible, tags somewhat
806    less so, and properties not at all.
808 3. Is the keyword part of your workflow? Do you want to be able to log
809    information (such as a timestamp and a note) when you add or remove
810    the keyword? If so, then use a TODO keyword.
812    - An example: While a "waiting" tag might make it easier to filter
813      for items in your todo list that are waiting/pending, a =WAITING=
814      todo keyword would allow you to keep track of when an item
815      entered the "waiting" state and when it left it.
817    - Similarly, if you want to keep track of a sequence of actions on
818      phone calls you receive, it would be relatively inefficient to
819      add and remove tags to designate each stage. It would probably be
820      better to set up a TODO sequence, such as ACT -> CALL -> MESSAGE
821      -> FOLLOWUP -> etc.
823 * Tree (subtree)
824 :PROPERTIES:
825 :CUSTOM_ID: tree
826 :END:
827 ** Definition
829 A tree is created by the structure of an outline. It consists of a
830 heading and all subheadings/entries beneath it within the outline
831 hierarchy.
833 ** Details
835 A tree is to be distinguished from an [[#entry][entry]]. Whereas an entry
836 indicates only a single headline and its data, a tree consists of
837 multiple nested entries. And, of course, subtrees are nested within
838 larger trees.
840 * Todo Keywords
841 :PROPERTIES:
842 :CUSTOM_ID: todo-keyword
843 :END:
844 ** Definition
846 A TODO keyword is a small keyword at the beginning of a headline that
847 defines the TODO state of the entry. 
849 ** Details
851 The default TODO keywords in org-mode are TODO and DONE. They are
852 automatically given nice colors to make them stand out.
854 #+begin_src org
855   ,* DONE Check cupboard to see if I'm out of bread 
856   ,  CLOSED: [2009-09-16 Wed 13:14] 
857   ,* TODO Buy bread at the store
858 #+end_src
860 Org mode distinguishes between two types of keywords, active and
861 inactive (corresponding with the default TODO and DONE). By default,
862 active TODOs will be shown in [[#agenda][agenda views]]. Inactive todos will not be
863 shown.
865 You can select a TODO keyword by typing =C-c C-t= on an item. Or you
866 can move sequentially through TODOs by typing =Shift-Left= or
867 =Shift-Right=.
869 While the default keywords TODO and DONE will suffice for many users,
870 you can define your own TODO keywords (such as PROJECT, WAITING,
871 etc.) by following the instructions in the manual:
873 - http://orgmode.org/manual/TODO-Items.html
875 ** Uses
876 :PROPERTIES:
877 :ID:       e0f76b6c-411f-4df1-88f5-445e11d9ca1d
878 :END:
880 Not surprisingly, the most common use of TODO keywords is to indicate
881 items in your outline files that require action. Where other task
882 management systems often separate notes and todos, org-mode allows you
883 to mark items in your notes as TODOs.
885 Another common use of TODO keywords is to follow a single item through
886 an extended workflow. For instance, you might create a special TODO
887 keyword sequence for invoices by placing the following at the top of
888 your org file:
890 #+begin_src org
891 , #+SEQ_TODO: INVOICE(i) MAIL(m) WAITING(w) FOLLOWUP(f) | RECEIVED(r)
892 #+end_src
894 Note: The "|" separates active from inactive todos.
896 You can combine such todo sequences with logging in order to keep a
897 record of when each event in the sequence happened.
899 * TODO Awaiting definitions
900 ** Agenda filtering
901 ** CLOCK 
902 ** Column view
903 ** Cycling
904 ** Effort estimate
905 ** Filetag
906 ** Project
907 ** Note
908 ** List 
909 ** Level
910 ** Logging
911 ** SCHEDULED 
912 ** Restriction lock
913 ** Table 
914 ** Timestamp