site/docs/3.4/commands.html
This is a list of all the commands fish ships with.
Broadly speaking, these fall into a few categories:
Core language keywords that make up the syntax, like
if for conditions.
function to define functions.
return to return a status from a function.
begin to begin a block and end to end any block (including ifs and loops).
switch and case to make multiple blocks depending on the value of a variable.
Command decorations are keywords like command or builtin to tell fish what sort of thing to execute, and time to time its execution. exec tells fish to replace itself with the command.
Builtins to do a task, like
cd to change the current directory.
set to set, query or erase variables.
read to read input.
string for string manipulation.
math does arithmetic.
argparse to make arguments easier to handle.
count to count arguments.
type to find out what sort of thing (command, builtin or function) fish would call, or if it exists at all.
test checks conditions like if a file exists or a string is empty.
contains to see if a list contains an entry.
abbr manages Abbreviations.
set_color to colorize your output.
status to get shell information, like whether it’s interactive or a login shell, or which file it is currently running.
bind to change bindings.
commandline to get or change the commandline contents.
fish_config to easily change fish’s configuration, like the prompt or colorscheme.
random to generate random numbers or pick from a list.
Known functions are a customization point. You can change them to change how your fish behaves. This includes:
fish_prompt and fish_right_prompt and fish_mode_prompt to print your prompt.
fish_command_not_found to tell fish what to do when a command is not found.
fish_title to change the terminal’s title.
fish_greeting to show a greeting when fish starts.
Some helper functions, often to give you information for use in your prompt:
fish_git_prompt and fish_hg_prompt to print information about the current git or mercurial repository.
fish_vcs_prompt to print information for either.
fish_svn_prompt to print information about the current svn repository.
fish_status_to_signal to give a signal name from a return status.
prompt_pwd to give the current directory in a nicely formatted and shortened way.
prompt_login to describe the current login, with user and hostname, and to explain if you are in a chroot or connected via ssh.
prompt_hostname to give the hostname, shortened for use in the prompt.
fish_is_root_user to check if the current user is an administrator user like root.
fish_add_path to easily add a path to $PATH.
alias to quickly define wrapper functions (“aliases”).
fish also ships some things as external commands so they can be easily called from elsewhere.
This includes fish_indent to format fish code and fish_key_reader to show you what escape sequence a keypress produces.
And here is the full list: