Fish, um terminal amigável e inteligente

Nesses últimos tempos tenho trabalhado muito no ambiente do Linux, fazendo diversas operações de arquivos, compilação e configuração no terminal. E com isso venho aprendendo a usar o terminal de forma hardcore, usando diversas aplicações do Linux no dia a dia, como sed, grep, find, make, cmake, git. E estou gostando bastante. Recentemente um amigo (obrigado Akira) me apresentou um shell para o terminal bem diferente, o fish. Até então, vinha trabalhando com o padrão do ubuntu (bash). E mudando, me fez perceber várias sutilezas que acabam fazendo uma pequena diferença no todo.

placeholder

Fish vem de Friendly Interactive SHell. E ele por si, é bem poderoso. Uma das coisas que mais gostei foi o autocompletar dele, que é sensacional. Outra característica é o destaque para sintaxes e comandos.

Sua instalação no ubuntu é bem simples, basta um sudo apt install fish e ele será instalado. Depois, ele pode ser acessado usando o comando fish. Com isso lhe será apresentado o shell do fish para uso. Para que o terminal acesse direto o fish quando for aberto, você pode mudar o shell default do sistema. Para isso use o comando chsh -s /usr/bin/fish.

Dicas

  • Histórico de comandos: No shell padrão do ubuntu para fazer buscas no histórico de comando temos que digitar CTRL + R, e começar a digitar um trecho do comando que procuramos. No caso do fish, podemos digitar um trecho do comando que queremos e depois usar as setas para cima ou para baixo para navegar nos comandos encontrados.

placeholder

  • Sugestões: O Fish possui um auto complete bem poderoso. Apertando o TAB ele pode completar o comando ou o argumento, e se houver mais de uma opção ele vai listar todas as opções disponíveis. Na lista, podemos usar o TAB para continuar navegando, ou usar as setas. Ele possui uma integração muito boa com algumas ferramentas, como, por exemplo, git. Nesse caso, se você digitar git checkout e apertar TAB, ele mostrará todas as branchs e tags do repositório.

placeholder

placeholder

  • Sugestão baseado no man pages: Além das sugestões “simples” do autocomplete, ele possui sugestões baseadas na descrição do comando pelo man page. Para usar basta digitar o comando e começar a colocar um argumento e apertar TAB para ter uma lista de sugestões. Por exemplo grep - e aperte TAB.

placeholder

  • Destaque: Faz o destaque de alguns comandos e scripts. Quando um comando é digitado errado, ele ficará vermelho.

placeholder

  • Configuração: Para configurá-lo ele disponibiliza uma página web. Ele também disponibiliza as variáveis e funções salvas, e o histórico de comandos utilizado nessa mesma página para facilitar uma pesquisa se necessária. Para acessar digite fish_config.

placeholder

Outras dicas

  • Caso queira remover a mensagem de saudação rode o comando set -U fish_greeting.

  • Gerenciador de pacotes. Existe alguns gerenciadores de pacotes, um dele é o fisher. Com ele você consegue instalar alguns plugins. Existe uma lista disponível. Alguns plugins que estou usando são: fish-prompt-metro, z, bass (este acho importante, porque ele cria uma camada de compatibilidade entre o bash e o fish).

Experimentem, vale a pena.

Comments