org: Attachments

 
 9.2 Attachments
 ===============
 
 It is often useful to associate reference material with an outline
 node/task.  Small chunks of plain text can simply be stored in the
 subtree of a project.  Hyperlinks (SeeHyperlinks) can establish
 associations with files that live elsewhere on your computer or in the
 cloud, like emails or source code files belonging to a project.  Another
 method is attachments, which are files located in a directory belonging
 to an outline node.  Org uses directories named by the unique ID of each
 entry.  These directories are located in the ‘data’ directory which
 lives in the same directory where your Org file lives(1).  If you
 initialize this directory with ‘git init’, Org will automatically commit
 changes when it sees them.  The attachment system has been contributed
 to Org by John Wiegley.
 
    In cases where it seems better to do so, you can also attach a
 directory of your choice to an entry.  You can also make children
 inherit the attachment directory from a parent, so that an entire
 subtree uses the same attached directory.
 
 The following commands deal with attachments:
 
 ‘C-c C-a     (org-attach)’
      The dispatcher for commands related to the attachment system.
      After these keys, a list of commands is displayed and you must
      press an additional key to select a command:
 
      ‘a     (org-attach-attach)’
           Select a file and move it into the task’s attachment
           directory.  The file will be copied, moved, or linked,
           depending on ‘org-attach-method’.  Note that hard links are
           not supported on all systems.
 
      ‘c/m/l’
           Attach a file using the copy/move/link method.  Note that hard
           links are not supported on all systems.
 
      ‘n     (org-attach-new)’
           Create a new attachment as an Emacs buffer.
 
      ‘z     (org-attach-sync)’
           Synchronize the current task with its attachment directory, in
           case you added attachments yourself.
 
      ‘o     (org-attach-open)’
           Open current task’s attachment.  If there is more than one,
           prompt for a file name first.  Opening will follow the rules
           set by ‘org-file-apps’.  For more details, see the information
           on following hyperlinks (SeeHandling links).
 
      ‘O     (org-attach-open-in-emacs)’
           Also open the attachment, but force opening the file in Emacs.
 
      ‘f     (org-attach-reveal)’
           Open the current task’s attachment directory.
 
      ‘F     (org-attach-reveal-in-emacs)’
           Also open the directory, but force using ‘dired’ in Emacs.
 
      ‘d     (org-attach-delete-one)’
           Select and delete a single attachment.
 
      ‘D     (org-attach-delete-all)’
           Delete all of a task’s attachments.  A safer way is to open
           the directory in ‘dired’ and delete from there.
 
      ‘s     (org-attach-set-directory)’
           Set a specific directory as the entry’s attachment directory.
           This works by putting the directory path into the ‘ATTACH_DIR’
           property.
 
      ‘i     (org-attach-set-inherit)’
           Set the ‘ATTACH_DIR_INHERIT’ property, so that children will
           use the same directory for attachments as the parent does.
 
    ---------- Footnotes ----------
 
    (1) If you move entries or Org files from one directory to another,
 you may want to configure ‘org-attach-directory’ to contain an absolute
 path.