Arquivos de configuração
Se você está acostumado com bash ou zsh, sabe que as configurações são feitas respectivamente nos arquivos "~/.bashrc" e "~/.zshrc".
Em fish, não. Segundo a documentação, ficaria em "~/.config/fish/config.fish":
Citação:
"You can add a section to your ~/.config/fish/config.fish file that will set your path correctly on login."
Citado de:
Fish - ArchWiki
Mas, notei que, dependendo do seu sistema, e de como foi instalada, haverão vários outros arquivos e pastas que poderão conter as configurações do fish.
Inclusive no meu sistema, nem existe o arquivo "~/.config/fish/config.fish", localizei, em meu Sabayon:
locate config.fish
/etc/fish/config.fish
/usr/share/fish/config.fish
/usr/share/fish/completions/apt-config.fish
/usr/share/fish/completions/ifconfig.fish
/usr/share/fish/functions/fish_config.fish
locate fish_prompt.fish
~/.config/fish/functions/fish_prompt.fish
/usr/share/fish/functions/fish_prompt.fish
Descobri que a maior parte das configurações está em "/usr/share/fish" e alguma coisa em "~/.config/fish". Parece complicado? Não é tanto!
Tutoriais
Neste ponto, comece a ler os tutoriais do fish:
Configurações
Para facilitar para o usuário, o fish tem funções e variáveis internas, compiladas nele, que permitem configurar com facilidade.
Uma dessas funções é chamada
fish_prompt. Vejam exemplos de como se usa:
function fish_prompt
echo "Trocar jeitão do Terminal -->"
end
Isso retorna o prompt:
Trocar jeitão do Terminal-->
Outro exemplo:
function fish_prompt
set_color yellow
date +%d-%m-%y
set_color red
echo (pwd) '>->'
set_color normal
end
06-09-13~ >->
Com um pouco de prática, não é difícil!
Veja que você pode trocar a cor do prompt, datar, etc, sem usar sequências de escape e sem linhas PS1, PS2... isso simplifica, não complica.
Configuração via navegador
Ainda assustado para configurar o fish? Mais moleza! (rs!)
O jeito mais fácil de configurar, é por interface gráfica (disponível nas versões acima da 1.9):
Que abre no seu navegador Web! Execute este comando:
fish_config
Exemplo:
fish_config
Web config started at 'http://localhost:8000/'. Hit enter to stop.
É um configurador gráfico intuitivo e fácil de usar:
Nesta interface, você pode escolher cores, tonalidades (fish trabalha com 256 cores e não apenas com as cores principais). Funções, aspecto geral do prompt, também pode ser modificados.
Nesta interface, escolhi cores para comandos, diretórios, ajuda, autocompletar, etc.
Para o tema de prompt, escolhi o chamado
Simple Pythonista (que depois irei reeditar nos parâmetros de configuração, veja item: Modificações, abaixo):

Prompt
* Neste ponto, chamo a atenção: gostaria que vocês observassem não só o prompt, mas também o código à direita. Vejam que é totalmente amigável, fazer um prompt de duas linhas, como este que usei, fica muito mais fácil!
No bash, para fazer um prompt em duas linhas, é preciso não só usar escapes, como também comandos (como eu havia já feito no
meu bash).
Vejam também que nesse configurador gráfico, funções, histórico e variáveis, são todos editáveis. Tudo isso sem escapes, sem linhas tipo PS1 etc..., bem fácil.
Modificações
Modificações adicionais podem ser feitas.
Exemplo, editando o meu arquivo "~/.config/fish/functions/fish_prompt.fish" e depois mexendo na cor padrão do perfil do
GNOME Terminal, deixei as cores do terminal assim (comparar com a figura "Prompt"):
Outra possibilidade, seria editar diretamente o arquivo local "/usr/share/fish/tools/web_config/sample_prompts", ANTES de abrir o configurador gráfico:
Outras modificações também pode ser feitas, editando nos correspondentes arquivos, as funções (em "/usr/share/fish/functions") ou as variáveis.
Considero esta integração entre o navegador e o shell, uma característica muito útil para tornar o fish mais facilmente configurado.
oh-my-fish
Além de tudo isso, o fish também tem um outro configurador, o
oh-my-fish:
Ele é análogo ao usado no zsh, o (oh-my-zsh), e instalado e personalizado de maneira semelhante. Veja meu artigo abaixo:
Considero o fish um bom shell, aperfeiçoado e com comandos que o bash não possui, e mais fácil de configurar e trabalhar.
Experimente fish!