This page is a list of shellscript functions for fish. One day it will contain thousands of scripts, and then it will need to be split into categories, but for the moment it can be one list.
Functions/FishTitleBar: replacements for fish's standard titlebar
Functions/fish_prompt: replacements for fish's standard prompt
Functions/umount: unmount file systems while keeping the current working directory as something sensible
Functions/unpack: unpacks various kinds of archive files automatically based on the file extension
Functions/unpack2: unpacks various kinds of archive files automatically based on file mime type
Functions/grep-find: recursive grep, skips source control directories
Functions/calc: convenient syntax for doing arithmetic, by a wrapper around python
Functions/1+: conveniently increment all numeric arguments
Functions/rm: a safer version of "rm" that asks for confirmation if you try to remove more than 5 files at a time
Functions/funced: invokes an editor to edit a named function.
Functions/findcopies: given a set of files with tab-separated columns, find lines whose first column entries match. Useful for searching two sets of files for files that have identical MD5 sums.
Functions/ren: rename batches of files
Functions/gfun: make locally defined function global
How to use functions
On your system, each function must be defined in a separate file in one of the directories on the function path. The file must be called functionname.fish, where functionname is the name of that function (inside the file, the definition starts "function functionname" and so on). The directories on the function path on your system are probably "/usr/local/share/fish/functions", "$HOME/.config/fish/functions" and others. You can check them by issuing the command
echo $fish_function_path