Z Shell (ZSH) + Oh My ZSH

Se você é um usuário novo no Linux e está se habituando a utilizar o shell, porém está cansado da tela preta apenas com as letras brancas sem nenhum tipo de facilidade na hora de executar os comandos, esse artigo é para você! Aqui vou apresentar-lhes o Z Shell e um framework chamado Oh My ZSH, que são de utilidade pública para os usuários Linux, visto a facilidade, simplicidade e grande variedade de recursos disponíveis para a execução de comandos no terminal/CLI.

O que é o Z Shell?

O Z Shell é um interpretador de comandos de shell para sistemas operacionais baseados em Unix, como Linux e macOS. Ele é uma extensão do Bourne Shell (sh) e contém diversos recursos. O ZSH é altamente configurável e pode ser uma escolha popular entre desenvolvedores e usuário avançados de terminal, devido à sua flexibilidade.

Oh My ZSH

Já o Oh My ZSH é um framework de configuração e gerenciamento para o ZSH. Ele foi desenvolvido para simplificar e melhorar a experiência de uso do ZSH, oferecendo uma série de recursos pré-configurados, temas, plugins e uma interface de linha de comando (CLI) para facilitar a personalização do ambiente de shell.

A teoria já foi…

Agora que você já sabe o que é o ZSH e o Oh My ZSH, eu tenho certeza que ficou com interesse em testa-los no seu terminal! Sendo assim, ensinarei a instala-los e configura-los com alguns plugins que utilizo no dia-a-dia.

INSTALAÇÃO ZSH

Utilizaremos uma máquina Ubuntu para realizar a instalação dos pacotes necessários. Sendo assim, inicializaremos com a atualização dos já existentes:

# Atualizando os pacotes já existentes
sudo apt update -y
sudo apt upgrade -y

Com os pacotes atualizados, instalaremos você precisará utilizar em algum momento.

Com excessão do GIT e do CURL, a ferramenta NÃO depende do restante para funcionar.

# Instalando alguns pacotes que você possivelmente precisará utilizar no futuro
sudo apt install dkms make perl gcc build-essential git curl -y

Com esses pacotes baixados e instalados, agora é a vez do ZSH.

# Instalando e configurando o ZSH
sudo apt install zsh -y
chsh -s /bin/zsh # comando para mudar o shell para o ZSH

# Para que funcione automaticamente, basta reiniciar a máquina. Mas caso você opte por não reiniciar e entrar no zsh, basta rodar o comando abaixo:
zsh # Comando para inicar o ZSH.

Note que aparecerá um menu na sua tela. Isso acontece porque ainda não criamos um arquivo .zsh. Sendo assim, basta selecionar a opção q OU apertar ENTER para sair do menu.

Com o zsh funcionando, chegou a hora de configurar o Oh-My-ZSH e deixar o terminal mais bonito e personalizado.

# Instalando Oh-my-ZSH! (https://ohmyz.sh/)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

No meio da instalação do oh-my-zsh, ele perguntará se vc quer deixar o ZSH como padrão shell, basta você apertar y e ele configurará automaticamente um arquivo .zsh no seu perfil.

Feito isso, você já terá o ZSH instalado e configurado junto ao Oh-My-ZSH. Porém ainda falta configurar alguns plugins que ajudará no seu dia-a-dia com a utilização do CLI. Sendo assim, configuremos dois dos plugins que mais utilizo e que me auxiliam quando utilizo o ZSH.

Primeiro iremos baixar os plugins, que são os:

  • AutoSugestions: ele dá algumas sugestões na hora que estou digitando algum comando.
  • ZSH-Syntax-Highlighting: esse plugin destaca os comandos enquanto são digitados, por exemplo, caso eu vá utilizar o “curl” e não tenha ele instalado, quando eu digitar o comando “curl”, ele ficará vermelho. Caso eu tenha instalado, ele ficará verde.
# Instalando os plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# Clonado os repositórios, basta inseri-los no arquivo do .zshrc que está no /home do seu usuário
sudo vim .zshrc

No arquivo do .zshrc, tem o bloco de plugins (aqui está mais ou menos na linha 73), basta inserir o nome dos plugins nesse bloco. Exemplo:

# ARQUIVO .ZSHRC

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
        git
        zsh-autosuggestions
        zsh-syntax-highlighting
        )

source $ZSH/oh-my-zsh.sh

Adicionado os plugins no arquivo .zshrc, eles já estarão funcionando. Caso você opte por personalizar ainda mais o ZSH com Oh-my-ZSH, recomendo acessar ESSE REPOSITÓRIO e ver qual plugin mais te agrada ou auxiliará durante a utilização da CLI.

CONCLUSÃO

Realizado todas as etapas do hands-on, espero poder ter ajudado a personalizar e melhorar a agilidade sua com seu terminal. E que você goste cada vez mais de CLI.

Abraços do Golden Retriever.