O que é o fish?
O fish é um shell de linha de comando inteligente e amigável. Ele sugere o restante do comando enquanto você digita, a partir do histórico e das completações, destaca a sintaxe em tempo real, gera completações por Tab a partir das páginas de manual instaladas e dispensa as regras de aspas herdadas por outros shells. Tudo funciona de imediato: não é preciso configurar nada para que o fish seja agradável.
⚡ Principais recursos do fish
💡 Sugestões automáticas
Enquanto você digita, o fish sugere o restante do comando com base no histórico e nas completações. Pressione → para aceitar.
🎨 Realce de sintaxe
Os comandos são coloridos conforme você escreve, então um erro de digitação ou uma aspa não fechada fica evidente antes do Enter.
⌨️ Completações a partir das páginas de manual
O fish analisa as páginas de manual instaladas para gerar completações — até ferramentas obscuras completam suas opções.
🧠 Scripts sensatos
Sem surpresas de divisão de palavras, sem [[ ]] versus [ ], e com listas de verdade. Os scripts se leem como se comportam.
🔍 Histórico pesquisável
Digite um prefixo e pressione ↑ para percorrer apenas os comandos correspondentes, com busca por substring embutida.
🛠️ Configurável no navegador
O fish_config abre uma interface para prompts, cores, funções e atalhos — sem arqueologia de dotfiles.
apt upgrade mantém você na versão mais recente.
📦 Instalação a partir do deb.griffo.io
Passo 1: Adicionar repositório
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatePasso 2: Instalar o fish
# Instalar o fish mais recente
sudo apt install fish
# Verificar a instalação
fish --version# Instalar o fish mais recente
apt install fish
# Verificar a instalação
fish --versionPasso 3: Tornar o fish o seu shell
# Defina o fish como shell de login — o pacote já o registrou em /etc/shells
chsh -s /usr/bin/fish
# Ou apenas inicie-o nesta sessão
exec fish
# Ajuste o prompt, as cores e os atalhos de teclado
fish_config🎯 Exemplos de uso básico
Uso interativo no dia a dia:
# Aceitar a sugestão automática em cinza
→ # ou Ctrl-F
# Buscar no histórico todos os comandos que começam com git
git↑
# Entrar em um diretório sem digitar cd
/etc/apt
# Abrir a configuração no navegador
fish_configScripts sem armadilhas:
# Listas são listas de verdade — sem divisão de palavras
set files *.txt; echo (count $files) arquivos
# A substituição de comandos dispensa crases
echo "hoje é "(date +%A)
# As condições se leem naturalmente
if test -f /etc/os-release; echo encontrado; end
# Percorrer uma lista
for f in *.md; echo processando $f; endDeixando do seu jeito:
# Definir uma função e salvá-la para a próxima vez
function ll; ls -lh $argv; end; funcsave ll
# Abreviações se expandem enquanto você digita, ao contrário dos aliases
abbr -a gco git checkout
# Adicionar ao PATH de forma permanente, sem editar um dotfile
fish_add_path ~/.local/bin
# Definir uma variável universal, compartilhada por todas as sessões
set -U EDITOR nvim🔧 Combina bem com
O fish é cidadão de primeira classe no ferramental moderno de terminal:
- starship: prompt multi-shell com suporte nativo ao fish
- zoxide:
zoxide init fishe salte entre diretórios por frequência - fzf: traz atalhos de teclado do fish para histórico e busca de arquivos
- atuin: substitui o histórico do fish por um banco pesquisável e sincronizado
- Oh My Posh: outro motor de prompt com inicializador para fish
🚀 Por que escolher o deb.griffo.io?
- Debian oficial: disponível, mas congelado na versão que saiu junto com a release
- Instalação manual: exige uma toolchain Rust e CMake, ou gerenciar um binário manualmente
- deb.griffo.io: versão mais recente com atualizações automáticas
- ✅ Recursos mais recentes: as melhorias de interatividade e desempenho mais novas
- ✅ Sem configuração manual: binários pré-compilados, sem precisar compilar com cargo
- ✅ Atualizações automáticas: pacotes atualizados poucas horas após os lançamentos upstream
- ✅ Pacote completo:
fish,fish_indent,fish_key_readere as páginas de manual - ✅ Sem dependências: build musl com link estático; funções e completações são embutidas, então não há fish-common a instalar
- ✅ Multidistribuição: funciona em Bookworm, Trixie, Forky e Sid
- ✅ Manutenção simples: comandos apt padrão para atualizar
📦 Repositório de build do pacote
Os pacotes do Debian são construídos e mantidos automaticamente neste repositório do GitHub:
- 🐟 fish-shell-debian - Builds dos lançamentos mais recentes
🔗 Pacotes relacionados
Também disponíveis no deb.griffo.io:
- Starship - Prompt multi-shell com suporte nativo ao fish
- zoxide - Um cd mais inteligente, com inicializador para fish
- fzf - Buscador fuzzy com atalhos para o fish
- Atuin - Um histórico de shell que dá para pesquisar de verdade