Executando verificação de segurança...
5

Dicas para quem utiliza o Shell Fish

O Shell Fish (Friendly Interative Shell) tem sido o meu favorito nos últimos tempos muito em razão de já vir com uma pré-configuração sensacional.

O problema é que - ao contrário de shells populares como o bash e zsh - ele tem uma lógica de configuração um pouco diferente.

O fish não possui um arquivo central de configuração como um bashrc ou zshrc - ambos respectivamente do bash e do zsh -, mas sim um arquivo que normalmente se encontra dentro do caminho ~/.config/fish de nome config.fish que conta com exatamente isso de linha de código:

if status is-interactive
  # Commands to run in interactive sessions can go here
end

Sim, o fish é uma linguagem também - assim como o vim também, além de um editor de texto. Para sua configuração, este não vai utilisar o bom e velho shell script, então para criar um simples alias, não utilizaremos alias ls="ls -la", por exemplo.

Mas, não se assuste, o fish não é nada complicado de se entender e uma rápida passagem na sua documentação já resolve tudo!

Por exemplo, para criar este mesmo alias com a linguagem fish, fazemos:

function ls
  ls -la
end

O mesmo padrão é utilizado para qualquer outro alias que você deseje criar.

Porém, foi utilizando o fish que percebi que alguns alias precisavam de um certo elemento a mais. Isso acontecia quando o comando em questão precisava de algum argumento - por exemplo, um comando de instalação de algum pacote. Logo, apenas fazer algo do tipo:

function install
  sudo apt install
end

Não dá certo. O elemento a mais que precisa ser adicionado na sequência do comando é o da variável de argumentos $argv!

Logo, para que nosso alias passasse a funcionar corretamente, precisamos reescrever o código da seguinte maneira:

function install
  sudo apt install $argv
end

Pronto! Agora tudo certo com o nosso alias!

Configurando a aparência do Fish

O Fish é mesmo sensacional pelos fatores que já falei, como por sua leveza e rapidez. Outro ponto interessante é a facilidade de configuração de sua aparência.

Ele já vem por padrão com um "design" bem diferente dos demais shells - possuindo cores de destaque por padrão para os comandos. O problema - ao menos para mim - são que as cores padrões não são muito legais. Mas isso não é difícil de se modificar! Em poucos cliques você terá o Fish com a sua cara!

(PS: este comando funciona apenas nas versões mais recentes do Fish. A versão que vem normalmente em distros LTS como Ubuntu e as que se baseiam nela são antigas, onde o comando não funcionará - mas, é possível instalar um fish mais atual diretamente do site oficial, caso você esteja querendo experimentar o fish e está utilizando alguma destas distros).

Podemos então configurar o nosso prompt (a forma como aparece o nosso nome de usuário e etc.) como também o esquema de cores de destaque simplesmente digitando o comando: fish_config.

Este comando abrirá uma aba no seu navegador padrão direto no site de configuração, onde você de forma intuitiva poderá ver como setar as novas configurações, podendo arranjá-las da maneira que quiser.

Abaixo o exemplo de uma destas configurações:

Fish

Como adicionar um novo caminho na variável PATH

No Fish é ainda mais prático (ao menos eu achei) adicionar um novo caminho ao PATH global de nosso usuário. Para isso, bastamos utilizar o seguinte comando:

fish_add_path ~/.cargo/bin

O exemplo acima dado é o de adicionar o caminho ~/.cargo/bin, que é onde ficam os pacotes instalados pelo cargo, no PATH. Assim o caminho - e qualquer outro que você indique como argumento, estará invariavelmente adicionado no PATH em seu fish.

Considerações finais!

Bom, espero que tenham gostado das dicas! Não é nada difícil lidar com o Fish e ele possui uma ótima documentação muito fácil de se compreender na hora de precisarmos de algum socorro!

Então, este texto fica por aqui. Tomara que você aprecie sem moderação a força do fish!

Carregando publicação patrocinada...
2

Excelentes dicas! O fish também é o meu shell preferido, principalmente pelo fato de autocompletar comandos e caminhos sem a necessidade da instalação de plugins.

Uma dica de customização para o fish é utilizar o oh-my-fish (https://github.com/oh-my-fish/oh-my-fish) que você pode modificar a aparência do shell através de uma variedade de temas.

Exemplo de esquema de cor para o fish shell

1

Opa! Valeu pelo complemento!

Já havia utilizado algo parecido com o zsh, no caso o "oh-my-zsh" e também o "oh-my-posh". Com o fish eu cheguei a utilizar como tema externo apenas o "starship" e pela simplicidade de configurar o fish por padrão optei por usar as pré-configurações que ele trazia. Mas sua dica é ótima!