Saudações pessoal!

Produtividade sempre é um tema em alta nesses tempos, não é mesmo? E para nós que trabalhamos sempre com linux, lidar com inúmeros comandos e ações via terminal pode ser algo não muito produtivo. Por isso, hoje vou dar uma dica: utilize o ZSH com alguns plugins para aumentar sua produtividade no terminal.

O que é o ZSH?

O Z-shell ou Zsh é um interpretador de comandos UNIX como o bash, que atualmente é o interpretador mais utilizado.  Entre suas características, destacam-se a gama de personalizações que podem ser aplicadas em sua interface e, principalmente, as otimizações disponíveis para o terminal do Linux.

Instalação do ZSH

Geralmente as distribuições linux trazem o pacote com o nome de zsh mesmo. Para realizar a instalação em sua distribuição basta pesquisar este pacote. Vou deixar abaixo um pequeno guia com as principais distros: E

# Fedora:
dnf install zsh
# Arch:
pacman -S zsh zsh-completions
# OpenSUSE:
zypper in zsh
# Ubuntu:
apt install zsh
# BSD:
pkg install zsh bash

Com o ZSH devidamente instalado, vamos agora instalar o Oh My ZSH, um pacote que facilitará nossa vida ao configurar o interpretador. Nesta etapa sua senha será solicitada para realizar a alteração de seu shell padrão.

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

Se seu shell padrão não for atualizado na etapa anterior, execute o seguinte comando para forçar a troca:

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

Qualquer exemplo citado irá surtir efeito apenas na próxima seção. Você pode reiniciar seu computador aqui, ou pode simplesmente fazer logout e login novamente.

Configurações ZSH

Todas as configurações do ZSH são feitas por padrão no arquivo ~/.zshrc, não utilizaremos mais o ~/.bashrc ou derivados. Se você simplesmente abrir seu terminal após a instalação deverá ver uma tela semelhante a esta:

ZSH Terminal

Bom, simplesmente de instalar o ZSH já poderemos perceber algumas diferenças com o bash. Por exemplo, a função de ‘tab’ permite que você utilize as setas para navegar entre as opções de pastas/arquivos do comando. Por exemplo:

ls zsh terminal

Também funciona com as opções de comandos. Tente executar git <comando> ou mesmo outro comando que você utilize bastante no dia a dia, e conseguirá navegar entre as opções utilizando as setas ou mesmo o TAB.

Você pode habilitar vários plugins no ZSH editando o arquivo ~/.zshrc. Por exemplo, vamos habilitar o plugin systemd:

Sempre que quiser adicionar um plugin, basta adicioná-lo a este bloco de seu arquivo. Para que a mudança entre em vigor, releia o arquivo de configurações do zsh com o comando source ~/.zshrc. Teremos vários alias para o systemd, por exemplo:

Visto como instalar plugins, vamos instalar alguns para melhorar a aparência de nosso terminal, bem como para aumentar nossa produtividade de fato.

Vamos começar isntalando o plugin zsh-syntax-highlighting que basicamente vai deixar o comando verde se tiver sido digitado corretamente, ou do contrário, vermelho. E ao digitar um caminho, ele ficará sublinhado caso o arquivo/diretório existir.

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

Após clonar o repositório do plugin, adicione zsh-syntax-highlighting na lista de plugins do seu arquivo de configurações.

Releia o arquivo de configurações do ZSH e você terá algo semelhante a:

Outro plugin interessante a se instalar é o zsh-autosuggestions que sugere comandos baseados no seu histórico. O processo é semelhante ao anterior. Primeiro clonamos o repositório:

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

Depois adicione zsh-autosuggestions ao arquivo de configuração de seu zsh, e releia as configurações.

Após reler as configurações você terá algo semelhante a:

Agora um buscador de arquivos muito completo e fácil de usar, diretamente pelo terminal! Sempre que o instalador perguntar algo, responda que sim, ok?

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

Com o plugin instalado basta utilizar Ctrl + T em seu terminal quando precisar buscar por algum arquivo.

Existem diversos outros plugins para zsh espalhados na internet, mas deixo aqui o link do repositório oficial para o zsh. Entre no site e busque plugins que façam sentido para seu dia a dia! É só clicar aqui!

Vamos configurar a aparência a partir de agora! Comece entrando no site Nerd Fonts: e realizando o download da fonte que você mais gostar. Vamos utilizar em nosso tutorial a fonte Hack que foi feita para uso em terminais.

Baixe o .zip correspondente ao arquivo da fonte de sua escolha

Agora extraia o conteúdo dessa pasta em ~/.fonts:

cd ~
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v1.2.0/Hack.zip
mkdir ~/.fonts && cd ~/.fonts
unzip ../Hack.zip

Agora nas preferências do seu emulador de terminal selecione a fonte que você baixou e extraiu. Será algo semelhante a:

Geralmente fica a nomeclatura “<fonte> Nerd Font Regular”

Se você baixou a fonte hack, será possível exibir ícones diretamente de seu terminal.

O ZSH possui vários temas, um dos mais populares é o  Powerlevel9k que se integra de maneira muito fluida ao git, suporta os ícones instalados no passo anterior e vai poupar alguns comandos repetitivos como o clássico git status só pra conferir se tem algo alterado no repo 😆

Se você preferir pode utilizar o Powerlevel10K no lugar dele, pois possui as mesmas funções, com renderização otimizada.

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

Agora basta trocar o ZSH_THEME no seu “~/.zshrc” para powerlevel9k/powerlevel9k visando habilitá-lo como tema e adicione POWERLEVEL9K_MODE="nerdfont-complete" para habilitar os ícones:

Releia o arquivo de configuração do ZSH e terá um terminal semelhante a este:

Assim como o bash, por padrão ele exibirá seu-usuario@nome-de-host seguido do seu diretório atual. Isso pode ser totalmente personalizado! Dá pra exibir quantidade de RAM usada, Load Adverage, code coverage e várias outras coisas. Todas as opções disponíveis podem ser encontradas aqui:

https://github.com/bhilburn/powerlevel9k#prompt-customization

Em linhas gerais basta adicionar POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = (...elements) e POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS = (...elements) no seu “~/.zshrc” logo após o POWERLEVEL9K_MODE:

Releia as configurações e terá algo semelhante a:

Se você utilizar muito o git ele irá alterando as cores e ícones para você saber sempre que houver algum arquivo modificado, deletado, adicionado, ou mesmo algum stash ou commit para baixar ou enviar… É bem detalhado, traz até a branch que você está! Essa parte ajuda bastante!

Isso são só algumas coisas possíveis de serem feitas, você pode visitar o site -> Show-Off-Your-Config e conferir várias outras personalizações, aumentando assim sua produtividade no terminal!

Espero que tenham curtido! Compartilhem aí com a galera!

Valeu!

Abraço!

Deixe um comentário