fish is a user friendly commandline shell intended mostly for interactive use.
To install the package for fish using pacman (the package is in the community repo) run:
# pacman -S fish
To verify that it has been installed you can run:
$ less /etc/shells
If you wanted to make fish your default shell run:
$ chsh -s /usr/bin/fish
Pacman and fish
Context-aware completions for pacman and makepkg are built into fish, since the policy of the fish development is to include all the existent completions in the upstream tarball. The memory management is clever enough to avoid any negative impact on resources.
After you change your default shell to fish, you may find that you no longer have very much in your path. You can add a section to your ~/.config/fish/config.fish file that will set your path correctly on login. This is much like .profile or .bash_profile as it is only executed for login shells.
function --is-login set PATH $PATH /usr/bin /sbin end
Fish Copyright (C) 2005-2006 Axel Liljencrantz.
Fish is released under the GNU General Public License, version 2.
Fish contains code under the BSD license, namely versions of the two functions strlcat and strlcpy, modified for use with wide character strings. This code is copyrighted by Todd C. Miller.
The XSel command, written and copyrighted by Conrad Parker, is distributed together with, and used by fish. It is released under the MIT license.
The xdgmime library, written and copyrighted by Red Hat, Inc, is used by the mimedb command, which is a part of fish. It is released under the LGPL.
Fish contains code from the glibc library, namely the wcstok function. This code is licensed under the LGPL.