diff --git a/sphinx_doc_src/cmds/complete.rst b/sphinx_doc_src/cmds/complete.rst
index 0f7bdeaa4..fe6330a7f 100644
--- a/sphinx_doc_src/cmds/complete.rst
+++ b/sphinx_doc_src/cmds/complete.rst
@@ -27,8 +27,7 @@ Synopsis
Description
-----------
-For an introduction to specifying completions, see Writing your own completions in
+For an introduction to specifying completions, see :ref:`Writing your own completions ` in
the fish manual.
- ``COMMAND`` is the name of the command for which to add a completion.
diff --git a/sphinx_doc_src/faq.rst b/sphinx_doc_src/faq.rst
index 423e630e7..7dd133fe3 100644
--- a/sphinx_doc_src/faq.rst
+++ b/sphinx_doc_src/faq.rst
@@ -146,15 +146,14 @@ A global variable of the same name already exists.
Environment variables such as ``EDITOR`` or ``TZ`` can be set universally using ``set -Ux``. However, if
there is an environment variable already set before fish starts (such as by login scripts or system
-administrators), it is imported into fish as a global variable. The variable scopes are searched from the "inside out", which
+administrators), it is imported into fish as a global variable. The :ref:`variable scopes ` are searched from the "inside out", which
means that local variables are checked first, followed by global variables, and finally universal
variables.
This means that the global value takes precedence over the universal value.
To avoid this problem, consider changing the setting which fish inherits. If this is not possible,
-add a statement to your `user initialization file `__ (usually
+add a statement to your :ref:`user initialization file ` (usually
``~/.config/fish/config.fish``)::
set -gx EDITOR vim
diff --git a/sphinx_doc_src/index.rst b/sphinx_doc_src/index.rst
index 49aca598f..4df9dd268 100644
--- a/sphinx_doc_src/index.rst
+++ b/sphinx_doc_src/index.rst
@@ -1055,7 +1055,7 @@ To see universal variables in action, start two fish sessions side by side, and
`Universal variables <#variables-universal>`_ are stored in the file ``.config/fish/fish_variables``. Do not edit this file directly, as your edits may be overwritten. Edit the variables through fish scripts or by using fish interactively instead.
-Do not append to universal variables in `config.fish <#initialization>`_, because these variables will then get longer with each new shell instance. Instead, simply set them once at the command line.
+Do not append to universal variables in :ref:`config.fish `, because these variables will then get longer with each new shell instance. Instead, simply set them once at the command line.
.. _variables-functions:
@@ -1779,9 +1779,9 @@ To specify a signal handler for the WINCH signal, write::
echo Got WINCH signal!
end
-Please note that event handlers only become active when a function is loaded, which means you might need to otherwise `source `_ or execute a function instead of relying on `autoloading <#syntax-function-autoloading>`_. One approach is to put it into your `initialization file <#initialization>`_.
+Please note that event handlers only become active when a function is loaded, which means you might need to otherwise :ref:`source ` or execute a function instead of relying on :ref:`autoloading `. One approach is to put it into your :ref:`initialization file `.
-For more information on how to define new event handlers, see the documentation for the `function `_ command.
+For more information on how to define new event handlers, see the documentation for the :ref:`function ` command.
.. _debugging: