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.
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.

- 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 checkoute apertar TAB, ele mostrará todas as branchs e tags do repositório.


- 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.

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

- 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.

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