Índice

Hoje em dia, tenho dois ambientes de desenvolvimento, um Ubuntu 18.04 no trabalho e um macOS em casa, ambos configurados da mesma forma para aumentar a minha produtividade. Cheguei a conclusão que digitar menos comandos e ter feedback visual ajudam você a cumprir seus objetivos de maneira mais eficiente e rápida.

Terminal Vanilla Bash
Esse era meu terminal no começo
Terminal ZSH
Terminal atual, com auto sugestão, auto complete e syntax highlighter

Para fazer essas coisas incríveis, vamos precisar mudar o terminal através dos seguintes passos:

  • Instalar uma aplicação melhor que a padrão do sistema
  • Instalar o zsh, um shell mais completo que o bash
  • Instalar o oh-my-zsh, um framework que melhora sua experiência no zsh
  • Adicionar alguns super poderes, como auto sugestões e syntax highlighter.

Vamos lá?


A primeira coisa a se fazer, é trocar o app de terminal padrão

Ubuntu

O Terminator é um excelente e leve app a ser usado no lugar do terminal padrão.

sudo add-apt-repository ppa:gnome-terminator/nightly-gtk3
sudo apt-get update
sudo apt-get install terminator

Mac

O iTerm pode ser baixado e instalado via .dmg ou via Brew . Sugiro que instale o Brew no seu Mac, pra facilitar a instalação de outros apps, assim como o snap ou apt do Ubuntu.

brew cask install iterm2

O próximo passo é ter um shell customizável

Oh My Zsh

Após ter um app melhor, é hora de instalar o zsh, uma ferramenta melhor que o bash.

Zsh é um shell que também pode ser usado como um poderoso intérprete de linguagem de script. É parecido com o bash padrão, mas oferece uma gama maior de configuração e personalização.

Ubuntu

sudo apt-get install zsh

Mac

brew install zsh

Se deu tudo certo, agora é só trocar o shell e ser feliz.

chsh -s `which zsh`

Talvez, por questões de segurança, seu trabalho não permita mudar o shell (caso de bancos e fintechs). Nesse caso é possível adicionar um exec zsh na última linha do seu arquivo ~/.bashrc.


Trazendo a magia para seu terminal

O framework Oh My Zsh é a adição perfeita para customizações nesse seu novo shell novinho em folha.

Via curl:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Via wget:

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

Instalando o plugin Syntax Highlighting

Este é novo para a maioria das pessoas mas é maravilhoso. Chama-se zsh-syntax-highlighting , inspirado no plugin homônimo de Fish (outro shell). Informa se um comando é válido antes de você pressionar a tecla Enter.

Instalando no Mac ou Ubuntu

Basta clonar o projeto para a pasta de plugins do oh-my-zsh:

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

Depois para ativar, basta incluir na sua lista de plugins em ~/.zshrc:

plugins=([seus outros plugins] zsh-syntax-highlighting)

Reinicie o zsh (como abrir uma nova aba no seu terminal) e está feito.

Instalando o plugin Syntax Auto Suggestions

Esse plugin vai sugerir comandos baseados no seu histórico. Assim como o anterior, basta instalar e usufruir:

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

Para ativar, basta adicioná-lo também no ~/.zshrc:

plugins=([seus outros plugins] zsh-autosuggestions)

Instalando o Z

A última coisa que quero lhe mostrar é o Z. Um script que torna a navegação no terminal muito mais rápida. Você definitivamente quer o Z.

Em vez de digitar cd ~/Folder/DifferentFolder/project/, você pode simplesmente digitar z proj. É simples assim! Lembre-se de que z não é um script mágico que sabe onde estão todas as pastas do seu computador. Ele rastreia seu cd para as pastas em um arquivo chamado ~ / .z. Depois de ter usado o cd em uma pasta uma vez, você pode usar o z para navegar até ele.

E já está instalado no Oh My Zsh, você só precisa habilitá-lo:

plugins=([seus outros plugins] z)

O céu é o limite

O terminal é uma ferramenta realmente poderosa. Facilita e melhora seu dia a dia, em vez de tentar evitá-lo, torne-se melhor em usá-lo.

Lembrou de mais alguma ferramenta que ajuda no workflow?

Me manda um salve lá no twitter @guilhermesteves