- O Fish shell 4.5.0 foca em corrigir regressões críticas no modo Vi que afetavam a produtividade de desenvolvedores ao apagar caracteres e espaços incorretamente.
- Esta nova versão do Fish shell remove de forma definitiva a dependência do ncurses e terminfo, modernizando o código e facilitando compilações customizadas.
- Desenvolvedores brasileiros que utilizam Linux e macOS já podem atualizar para o Fish shell 4.5.0 através dos binários oficiais ou repositórios como o PPA do Ubuntu.
- A atualização do Fish shell 4.5.0 aprimora a pesquisa de histórico interativa, garantindo suporte exato para caracteres complexos e atalhos de teclado sem interromper o fluxo.
- Para quem busca estabilidade em distribuições rolling release no Brasil, o Fish shell 4.5.0 elimina os travamentos inesperados ao aceitar autossugestões no terminal.
O Fish (Friendly Interactive Shell) é uma shell de linha de comandos para sistemas baseados em Unix (como Linux e macOS) conhecida pelo seu foco na interactividade e facilidade de utilização imediata. Ao contrário do Bash ou Zsh, que normalmente exigem configurações complexas, a Fish oferece nativamente autocompletar inteligente baseado no histórico, realce de sintaxe em tempo real e uma linguagem de scripting simplificada. A sua função é otimizar o fluxo de trabalho de quem passa muito tempo no terminal.
Principais novidades
- Independência do terminfo e ncurses: a Fish deixou definitivamente de ler a base de dados terminfo para alterar o seu comportamento com base na variável TERM. A flag
ignore-terminfo, introduzida na versão 4.1, é agora permanente. Isto moderniza a base de código e remove dependências de software antigas. A shell continuará a funcionar perfeitamente em qualquer emulador de terminal moderno do século XXI, sacrificando de forma consciente a compatibilidade com hardware extinto (como os terminais Data General Dasher D220 ou Wyse WY-350). - Melhorias na pesquisa interativa: o atalho
ctrl-l, habitualmente utilizado para limpar o ecrã, já não cancela a pesquisa no histórico de comandos. Além disso, o posicionamento do cursor durante essa pesquisa foi corrigido para lidar corretamente com caracteres de larguras arbitrárias, como alfabetos asiáticos e emojis.
Impacto e repercussão
Embora seja classificada como uma versão menor de correção de falhas (patch release), a atualização 4.5.0 tem um impacto muito forte no fluxo de trabalho dos power users que utilizam o modo Vim da shell (fish_vi_key_bindings). A versão anterior (4.4.0) havia introduzido regressões bastante frustrantes, resultando na eliminação incorreta de espaços e em encerramentos inesperados (crashes) da shell ao aceitar autossugestões em momentos específicos. A comunidade celebrou a correção destas falhas, uma vez que elas bloqueavam o uso diário de quem dependia dos atalhos do Vi. Adicionalmente, o abandono completo da biblioteca ncurses tem sido elogiado por facilitar a compilação do projeto a partir do código-fonte.
Resumo técnico
- Correção de regressão no modo Vi: a combinação de teclas
d,fvoltou a funcionar. - Correção de regressão no modo Vi: a combinação
c,wjá não apaga incorretamente os espaços finais. - Resolvido um crash no modo Vi ao utilizar
c,i,wlogo após a aceitação de uma autossugestão. - A chamada da função
fish_vi_key_bindingscom um argumento de modo já não produz erros. - Fim do suporte e dependência do ncurses e do banco de dados terminfo.
- Implementação de correções específicas para garantir a compilação no sistema operativo Illumos.
Disponibilidade
O código-fonte da versão 4.5.0 encontra-se disponível no GitHub em formato .tar.xz, existindo também binários pré-compilados e autónomos para distribuições Linux nas arquiteturas aarch64 e x86_64. Para utilizadores de macOS, o repositório oficial já fornece os pacotes nativos .pkg e ficheiros .app. Em distribuições Linux do tipo rolling release (como o Arch Linux ou openSUSE Tumbleweed), a nova versão deverá chegar aos repositórios oficiais nas próximas horas. Nos sistemas Ubuntu e derivados, os utilizadores podem recorrer ao repositório PPA oficial (ppa:fish-shell/release-4) para instalar a atualização imediatamente.
