Next: Custom searches, Previous: Link abbreviations, Up: Hyperlinks

### 4.7 Search options in file links

File links can contain additional information to make Emacs jump to a particular location in the file when following a link. This can be a line number or a search option after a double1 colon. For example, when the command `C-c l` creates a link (see Handling links) to a file, it encodes the words in the current line as a search string that can be used to find this line back later when following the link with `C-c C-o`.

Here is the syntax of the different ways to attach a search to a file link, together with an explanation:

         [[file:~/code/main.c::255]]
         [[file:~/xx.org::My Target]]
         [[file:~/xx.org::*My Target]]
         [[file:~/xx.org::#my-custom-id]]
         [[file:~/xx.org::/regexp/]]

`255`
  Jump to line 255.
`My Target`
  Search for a link target ‘`<<My Target>>`’, or do a text search for ‘`my target`’, similar to the search in internal links, see Internal links. In HTML export (see HTML export), such a file link will become an HTML reference to the corresponding named anchor in the linked file.
`*My Target`
  In an Org file, restrict search to headlines.
`#my-custom-id`
  Link to a heading with a `CUSTOM_ID` property
`/regexp/`
  Do a regular expression search for `regexp`. This uses the Emacs command `occur` to list all matches in a separate window. If the target file is in Org-mode, `org-occur` is used to create a sparse tree with the matches.

As a degenerate case, a file link with an empty file name can be used to search the current file. For example, `[[file:::find me]]` does a search for ‘`find me`’ in the current file, just as ‘`[[find me]]`’ would.

#### Footnotes

[1] For backward compatibility, line numbers can also follow a single colon.