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:
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!