O terminal do linux é muito útil mas pra mim as vezes é muito chato em alguns aspectos, então há anos utilizo o ZSH com alguns plugins e um tema que acho ser bem mais produtivo, resolvi criar esse post para quem quiser utilizar essa mesma configuração ou se inspirar nela para criar a sua própria fique à vontade, o resultado final será esse:

ZSH

Instalando o ZSH

Para começar vamos instalar o zsh, que é um interpretador de comandos assim como o bash mas vai nos possibilitar uma customização maior e mais fácil.

Vamos instalar, de acordo com sua distribuição linux:

Ubuntu:

apt install zsh

Fedora:

dnf install zsh

Arch:

pacman -S zsh zsh-completions

Instalando o Oh My Zsh

O Oh My Zsh é o que faz a mágica, ele é uma ferramenta para gerenciar as configurações do zsh de uma forma muito fácil. Basta instalar com:

curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh; zsh

Oh My ZSH

Se essa mensagem apareceu ja temos o Oh My Zsh instalado, mas vamos agora precisar mudar o shell padrão para o Zsh:

sudo usermod --shell $(which zsh) $USER

Com isso temos o zsh como padrão mas não adianta fechar e abrir o terminal, para funcionar vai ter que fazer logout e login no seu usuário novamente.

Com isso já temos um terminal bem melhor enm mãos, tente digitar algum comando como o ls e dar TAB algumas vezes.

Plugins

Para qualquer coisa que você pensar existe um plugin no Oh My Zsh, e não é brincadeira, dá uma olhada na lista .

Você pode testar e ativar o plugins de acordo com suas necessidades, mas aqui iremos ativar os seguintes:

zsh-syntax-highlighting

Esse plugin deixa verde se o comando estiver certo ou vermelho caso tenha algum erro. Vamos instalá-lo com:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Para ativá-lo adicione zsh-syntax-highlighting em plugins no aquivo ~/.zshrc.

zsh-syntax-highlighting

zsh-autosuggestions

Vai sugerir comandos de acordo com seu histórico, basta apertar seta para direita e ele completa o comando. Instale com:

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

Para ativá-lo adicione zsh-autosuggestions em plugins no aquivo ~/.zshrc.

zsh-autosuggestions

fzf

Fzf é um fuzzy finder, um buscador de arquivos direto pelo terminal. Vamos instalar com:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

Responda y para todas as perguntas.

Agora você pode apertar CTRL+T para buscar arquivos quando quiser.

fzf

E você também pode fazer o mesmo para buscar no seu histórico de comandos com o CTRL+R.

fzf

Tema

Outra coisa maravilhosa que o Oh My Zsh adiciona são diversos temas, você pode escolher qualquer um, eu gosto do bira, é um tema simples mas me dá alguma informações, como com o plugin do git já vem ativado ele mostra a branch atual, diretório e usuário, o que pra mim é o suficiente.

Para ativar o tema adicione bira (ou outro de sua escolha) em ZSH_THEME no aquivo ~/.zshrc.

bira

Basta fechar o terminal e abrir novamente para ver seu tema aplicado.

Muito mais ainda pode ser feito, como aliases ou utilizando outro plugins que ache interessante, esse artigo é apenas uma dica e serve para mostrar as possibilidades, não pare por aqui e deixe seu terminal do jeito ideal para você.