org-file-apps

org-file-apps is a variable defined in `org.el'.
Its value is

((auto-mode . emacs) ("\\.mm\\'" . default) ("\\.x?html?\\'" . default) ("\\.pdf\\'" . default))


Documentation:
External applications for opening `file:path' items in a document.
Org-mode uses system defaults for different file types, but
you can use this variable to set the application for a given file
extension. The entries in this list are cons cells where the car identifies
files and the cdr the corresponding command. Possible values for the
file identifier are
"string" A string as a file identifier can be interpreted in different
ways, depending on its contents:

- Alphanumeric characters only:
Match links with this file extension.
Example: ("pdf" . "evince %s")
to open PDFs with evince.

- Regular expression: Match links where the
filename matches the regexp. If you want to
use groups here, use shy groups.

Example: ("\.x?html\'" . "firefox %s")
("\(?:xhtml\|html\)" . "firefox %s")
to open *.html and *.xhtml with firefox.

- Regular expression which contains (non-shy) groups:
Match links where the whole link, including "::", and
anything after that, matches the regexp.
In a custom command string, %1, %2, etc. are replaced with
the parts of the link that were matched by the groups.
For backwards compatibility, if a command string is given
that does not use any of the group matches, this case is
handled identically to the second one (i.e. match against
file name only).
In a custom lisp form, you can access the group matches with
(match-string n link).

Example: ("\.pdf::\(\d+\)\'" . "evince -p %1 %s")
to open [[file:document.pdf::5]] with evince at page 5.

`directory' Matches a directory
`remote' Matches a remote file, accessible through tramp or efs.
Remote files most likely should be visited through Emacs
because external applications cannot handle such paths.
`auto-mode' Matches files that are matched by any entry in `auto-mode-alist',
so all files Emacs knows how to handle. Using this with
command `emacs' will open most files in Emacs. Beware that this
will also open html files inside Emacs, unless you add
("html" . default) to the list as well.
t Default for files not matched by any of the other options.
`system' The system command to open files, like `open' on Windows
and Mac OS X, and mailcap under GNU/Linux. This is the command
that will be selected if you call `C-c C-o' with a double
C-u C-u prefix.

Possible values for the command are:
`emacs' The file will be visited by the current Emacs process.
`default' Use the default application for this file type, which is the
association for t in the list, most likely in the system-specific
part.
This can be used to overrule an unwanted setting in the
system-specific variable.
`system' Use the system command for opening files, like "open".
This command is specified by the entry whose car is `system'.
Most likely, the system-specific version of this variable
does define this command, but you can overrule/replace it
here.
string A command to be executed by a shell; %s will be replaced
by the path to the file.
sexp A Lisp form which will be evaluated. The file path will
be available in the Lisp variable `file'.
For more examples, see the system specific constants
`org-file-apps-defaults-macosx'
`org-file-apps-defaults-windowsnt'
`org-file-apps-defaults-gnu'.

You can customize this variable.