Fish

fish - the friendly interactive shell.

fish is Article description::a smart and user-friendly command line shell for OS X, Linux, and the rest of the family. fish includes features like syntax highlighting, autosuggest-as-you-type, and fancy tab completions that just work, with no configuration required.

Emerge
Install :

Caveats
In Gentoo, the login shell, i.e. the user's first shell after logging in, has to read, which reads. The latter in particular is indispensable. See the article Login for the details.

However fish can not read these files. Thus it is strongly advised not to set fish  as the login shell. (There is no reliable way to fix this. See .)

Yet there is a good workaround. See the next section.

Those who really, truly, actually wish to set the fish shell can jump down to Setting the fish shell as the login shell.

Alternative to fish as the login shell
The following workaround allows you to use fish by default, by using as a wrapper, instead of setting fish as the login shell by. It was suggested by one of the fish developers and the Arch wiki.

It enables the shell to inherit the  environment (which written in and should be executed by the  shell):

Please note it should not be run for non-interactive shells, so make sure it's placed below the test for interactive shell.

bass
An utility bass executes a given command in and then transfers updated environment variables back into. With, one can then make load the system-wide environment variables simply by adding following line to their  file:

Setting the fish shell as the login shell
Those who really wish make their default login shell can change the shell:

Configuration
fish starts by executing commands in. You can create it if it does not exist. Since the version 2.0 it is possible to configure fish within a web browser session by running:

Fish can generate completions from man pages. To generate completions run:

External resources

 * fish first steps tutorial
 * fish related question on stackoverflow
 * arch-wiki fish entry