org: Template expansion

 
 9.1.3.2 Template expansion
 ..........................
 
 In the template itself, special ‘%’-escapes(1) allow dynamic insertion
 of content.  The templates are expanded in the order given here:
 
      %[FILE]     Insert the contents of the file given by FILE.
      %(SEXP)     Evaluate Elisp SEXP and replace with the result.
                        For convenience, %:keyword (see below) placeholders
                        within the expression will be expanded prior to this.
                        The sexp must return a string.
      %<...>      The result of format-time-string on the ... format specification.
      %t          Timestamp, date only.
      %T          Timestamp, with date and time.
      %u, %U      Like the above, but inactive timestamps.
      %i          Initial content, the region when capture is called while the
                  region is active.
                  The entire text will be indented like ‘%i’ itself.
      %a          Annotation, normally the link created with ‘org-store-link’.
      %A          Like ‘%a’, but prompt for the description part.
      %l          Like %a, but only insert the literal link.
      %c          Current kill ring head.
      %x          Content of the X clipboard.
      %k          Title of the currently clocked task.
      %K          Link to the currently clocked task.
      %n          User name (taken from ‘user-full-name’).
      %f          File visited by current buffer when org-capture was called.
      %F          Full path of the file or directory visited by current buffer.
      %:keyword   Specific information for certain link types, see below.
      %^g         Prompt for tags, with completion on tags in target file.
      %^G         Prompt for tags, with completion all tags in all agenda files.
      %^t         Like ‘%t’, but prompt for date.  Similarly ‘%^T’, ‘%^u’, ‘%^U’.
                  You may define a prompt like ‘%^{Birthday}t’.
      %^C         Interactive selection of which kill or clip to use.
      %^L         Like ‘%^C’, but insert as link.
      %^{PROP}p   Prompt the user for a value for property PROP.
      %^{PROMPT}  prompt the user for a string and replace this sequence with it.
                  You may specify a default value and a completion table with
                  %^{prompt|default|completion2|completion3...}.
                  The arrow keys access a prompt-specific history.
      %\n         Insert the text entered at the nth %^{PROMPT}, where ‘n’ is
                  a number, starting from 1.
      %?          After completing the template, position cursor here.
 
 For specific link types, the following keywords will be defined(2):
 
      Link type                        |  Available keywords
      ---------------------------------+----------------------------------------------
      bbdb                             |  %:name %:company
      irc                              |  %:server %:port %:nick
      vm, vm-imap, wl, mh, mew, rmail  |  %:type %:subject %:message-id
                                       |  %:from %:fromname %:fromaddress
                                       |  %:to   %:toname   %:toaddress
                                       |  %:date (message date header field)
                                       |  %:date-timestamp (date as active timestamp)
                                       |  %:date-timestamp-inactive (date as inactive timestamp)
                                       |  %:fromto (either "to NAME" or "from NAME")(3)
      gnus                             |  %:group, for messages also all email fields
      w3, w3m                          |  %:url
      info                             |  %:file %:node
      calendar                         |  %:date
 
 To place the cursor after template expansion use:
 
      %?          After completing the template, position cursor here.
 
    ---------- Footnotes ----------
 
    (1) If you need one of these sequences literally, escape the ‘%’ with
 a backslash.
 
    (2) If you define your own link types (SeeAdding hyperlink
 types), any property you store with ‘org-store-link-props’ can be
 accessed in capture templates in a similar way.
 
    (3) This will always be the other, not the user.  See the variable
 ‘org-from-is-user-regexp’.