org-insert-link
org-insert-link is an interactive compiled Lisp function in `org.el
'.
(org-insert-link &optional COMPLETE-FILE LINK-LOCATION DEFAULT-DESCRIPTION)
Insert a link. At the prompt, enter the link.
Completion can be used to insert any of the link protocol prefixes like
http or ftp in use.
The history can be used to select a link previously stored with
`org-store-link'. When the empty string is entered (i.e. if you just
press RET at the prompt), the link defaults to the most recently
stored link. As SPC triggers completion in the minibuffer, you need to
use M-SPC or C-q SPC to force the insertion of a space character.
You will also be prompted for a description, and if one is given, it will
be displayed in the buffer instead of the link.
If there is already a link at point, this command will allow you to edit link
and description parts.
With a C-u prefix, prompts for a file to link to. The file name can
be selected using completion. The path to the file will be relative to the
current directory if the file is in the current directory or a subdirectory.
Otherwise, the link will be the absolute path as completed in the minibuffer
(i.e. normally ~/path/to/file). You can configure this behavior using the
option `org-link-file-path-type'.
With two C-u prefixes, enforce an absolute path even if the file is in
the current directory or below.
With three C-u prefixes, negate the meaning of
`org-keep-stored-link-after-insertion'.
If `org-make-link-description-function' is non-nil, this function will be
called with the link target, and the result will be the default
link description.
If the LINK-LOCATION parameter is non-nil, this value will be
used as the link location instead of reading one interactively.
If the DEFAULT-DESCRIPTION parameter is non-nil, this value will
be used as the default description.