Como ter um terminal mais produtivo e cool no macOS :)

Todo ou quase todo programador ama terminais, essas ferramentas que auxiliam nossa vida e nós tonam mais produtos e ágeis. Já que eles são indispensáveis para nossa vida e nossa profissão porque não torna-los legais e agradáveis e ainda mais produtivos?

Como?

Bom a ‘stack’ que pessoalmente me agrada muito é iTerm2, Oh My Zsh, Solarized Color Scheme e Meslo Powerline Font. Essa combinação toda da um resultado igual ao da imagem acima.

Mãos à Obra

iTerm2:

Caso use homebrew(assunto para outro post) basta digitar:

brew cask install iterm2

Se preferir pode baixar e instalar normalmente.

Agora você pode baixar o tema que eu usei aqui ou escolher algum outro dentre os vários disponíveis aqui.

Para aplicar o tema dentro do iTerm2 vá em Preferences… ou aperte:

⌘ + ,

Em seguida vá em Profiles e na aba Colors e no menu do cantor inferior direito “Colors Presets…” importe o tema escolhido e após importar clique no menu novamente e escolha o tema importado.

Assim as cores exibidas acima vão automaticamente serem definidas conforme o tema escolhido.

terFonte com super poderes:

Eu recomendo muito para o tema que usaremos a Meslo baixe e instale a fonte normalmente.

Nas opções(⌘ + ,) do iTerm2 em Profiles vá na aba Text e em Change Font. Escolha a fonte instalada e defina seu tamanho, pessoalmente uso 12px más isso pode variar de acordo com a sua resolução e gosto pessoal.

Dica extra:

Uma coisa que me ajuda muito são os saltos de palavras, assim você consegue se movimentar rapidamente no comando ou texto digitado utilizando os atalhos ⌥→ e ⌥← para navegar entre as palavras e otimizar o uso do histórico.

Para ativar vá em preferencias( ⌘ + , ) novamente e em seguida em Profilese na aba Keys depois em Load Preset… e escolha Natural Text Editing.

Oh My Zsh:

Para instalar é simples digite no terminal:

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

Uma vez que a instalação estiver completa edite o arquivo “~/.zshrc” e defina:

ZSH_THEME=”agnoster”

Aqui você pode definir outras opções conforme desejar.

Plugins

Uma das grandes vantagens de se usar o Oh My Zsh é facilidade de se usar plugins no terminal. Dentre as centenas de plugins os que considero essenciais são:

Sugestões automáticas:

Primeiro clone o repositorio:

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

E edite no seu “~/.zshrc”:

plugins=(zsh-autosuggestions)

Agore reinicie o terminal.

Syntax highlighting:

Primeiro clone o repositorio:

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

E edite no seu “~/.zshrc”:

plugins=( [plugins…] zsh-syntax-highlighting)

Agore reinicie o terminal.

Remover o [email protected]:

Eu pessoalmente acho que ficar repetindo o usuário e o hostname a todo momento te faz perder espaço útil.

Para isso basta adicionar na ultima linha do seu “~/.zshrc”:

# remove o username
DEFAULT_USER=`whoami`

Agore reinicie o terminal.


Integrando com VSCode:

Para quem usa o Visual Studio Code há também a possibilidade de integrar com o ZSH. Para usar o terminal estilizado no VSCode, adicione as seguintes configurações no seu settings:

“terminal.integrated.fontFamily”: “Meslo LG M for Powerline”,
“terminal.integrated.fontSize”: 12,
“terminal.external.osxExec”: “iTerm.app”,
“terminal.explorerKind”: “external”,
“terminal.integrated.shell.osx”: “/bin/zsh”


Habilitando o Rbenv:

Para programadores ruby que usam o rbenv

E edite no seu “~/.zshrc”:

plugins=(rbenv)

Agore reinicie o terminal.


Agnoster modificado com quebra de linha:

Para algumas pessoas que usam terminais em janelas pequenas por preferência ou monitores pequenos podem preferir que ao começar a digitar o texto automaticamente se iniciasse com uma quebra de linha.
Para alterar o tema edite o arquivo “~/.oh-my-zsh/themes/agnoster.zsh-theme” adicionando a função de new_line e chamando-a na build_prompt() conforme abaixo:

Meu arquivo de configuração atual:

Meu “~/.zshrc” com os plugins que eu uso atualmente:

Conclusão:

Espero que tenha ajudado vocês a conseguir o terminal do jeito que mais gostarem 🙂

referencias: