shell

Hyper + OhMyZSH: O melhor terminal para desenvolvedores

Todo desenvolvedor utiliza (ou já utilizou) um terminal em sua carreira. É com eles que utilizamos comandos para executar determinada tarefa em um projeto ou aplicação.
Dentre diversas opções disponíveis na internet, uma que particularmente gosto muito é o Hyper em conjunto com o OhMyZSH.
Neste artigo veremos como instalá-las e o quanto este terminal pode nos auxiliar em nosso dia-a-dia.

Ferramentas utilizadas

O Hyper é uma interface de terminal desenvolvida utilizando o Electron, framework javascript para criação de aplicações desktop, ou seja, toda sua interface é criada utilizando tecnologias web (html, css e javascript). Ele é, basicamente, uma alternativa que substitui a interface do prompt de comandos (no windows) ou o terminal (no linux e macos).

Já o OhMyZSH é um framework open-source mantido pela comunidade para gerenciar a configuração do ZSH, um interpretador de comandos UNIX (shell) que pode ser utilizado como processador de comandos de script, e melhorar o workflow de desenvolvimento.

Linux - Fundamentos para desenvolvedores
Curso de Linux - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Sendo assim, essas duas ferramentas, em conjunto, proporcionarão um terminal altamente personalizável e com uma interface muito mais bonita e intuitiva.

Hyper

A instalação do Hyper é muito simples, basta acessar o site da ferramenta em seu site oficial, selecionar a versão com base no sistema operacional que você utiliza e fazer a instalação. Ao final deste processo, o Hyper já estará disponível e pronto para ser utilizado, com a aparência similar ao da imagem abaixo:


Porém, o Hyper irá utilizar o shell padrão do sistema operacional, então precisamos alterá-lo.

OhMyZSH

O primeiro passo para instalar o OhMyZSH é instalar o ZSH, seu shell. Há várias formas de realizar este processo de instalação e todos eles podem ser vistos em seu repositório.

A instalação mais trabalhosa é no Windows, que você terá que utilizar o WSL. Todo processo de instalação pode ser visto aqui no blog.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Com o ZSH instalado, podemos executar o comando abaixo:

zsh --version

E receber a seguinte resposta:

zsh --version
zsh 5.7.1 (x86_64-apple-darwin19.0)

Com o ZSH instalado, já estamos prontos para a instalação do OhMyZSH, framework open-source gerenciado pela comunidade para gerenciar a configuração do ZSH.

Sua instalação também é bastante simples, bastando apenas ter instalado o curl ou wget e o git. Com essas ferramentas instaladas, basta utilizar o comando abaixo no terminal:

via curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

via wget

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Feito isso, o OhMyZSH estará instalado e funcionando, com um resultado similar ao da imagem abaixo:


Claro que na imagem acima há vários plugins instalados que personalizam ainda mais o Hyper e o ZSH, mas a instalação destes plugins veremos em um outro artigo. O importante aqui é que, agora, você tem um terminal altamente personalizável, podendo instalar diversos plugins (https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins) e temas, tanto para o shell (https://github.com/ohmyzsh/ohmyzsh/wiki/Themes), quanto para o terminal (https://hyper.is/themes).

O Windows Terminal

Em maio de 2019 foi anunciado o Windows Terminal, um novo terminal que promete melhorar a experiência com a interface de linha de comandos no Windows 10. Já disponível como preview no Microsoft Store, vamos conhecer as suas principais funcionalidades.

O Windows Terminal

Durante a build 2019 que aconteceu em maio, foi anunciado o Windows Terminal, um terminal para Windows 10 que tem como objetivo entregar funcionalidades tão aguardadas como suporte a abas, temas, texto unicode (incluindo emojis 😄) e mais opções de configuração.

Mesmo com melhorias que foram incluídas nos últimos releases do Windows 10, como alterar o formato do cursor, suporte a atalhos na tecla CTRL (como CTRL+C CRTL+V), inclusão de um novo motor para parsear sequências ANSI/VT (fundamental para aplicações Linux rodando com Windows Subsystem for Linux, como tmux) e até a alteração do tema padrão do Console junto com a disponibilização de uma ferramenta para alterar as cores do console, ainda assim a experiência no Windows era inferior se comparada com terminais do Linux e Mac.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Incluir todas essas funcionalidades esperadas como suporte a abas, transparência, entre outros precisariam de alterações tão profundas que precisariam quebrar a retro compatibilidade do terminal atual. Como manter a compatibilidade com aplicações antigas é algo levado a sério pela Microsoft, foi decidido criar um novo projeto para isso.

Durante a build 2019 foi anunciado o Windows Terminal, um novo terminal que permite uma experiência moderna com múltiplos shells.

O que muda com o Windows Terminal

O Windows Terminal será uma aplicação opcional e terá suporte a outros shells como prompt de comando, Powershell e o WSL. Assim todos os seus scripts continuarão funcionando como antes, porém em uma interface mais moderna.

Para ficar mais claro, precisamos entender qual a diferença entre o terminal, console e shell. Embora possam parecer a mesmo coisa, cada um tem um significado diferente.

No contexto histórico, o console se refere ao hardware que era capaz de se conectar com um servidor para executar comandos. Atualmente não utilizamos um hardware específico para isso, isso acaba sendo abstraído na forma de um console virtual, que no Linux pode ser acessado pela combinação de teclas como CTRL+ALT+F1 até F4. Atualmente esse termo tem entrado em desuso, mas é comum se referir ao console como uma interface via linha de comandos.

O terminal é um software que recebe os comandos do usuário e encaminha os mesmos para o shell. Ele é responsável por ser essa ponte entre o usuário e o sistema, enviando comandos e exibindo a sua saída para o usuário. O Windows Terminal se encaixa nessa categoria, juntamente com o gnome-terminal para Linux, iTerm para Mac e também o ConEmu para Windows.

O shell por sua vez é responsável por receber os comandos enviados pelo terminal e processar esses comandos junto ao Sistema Operacional. Como exemplos podemos citar o bash, zsh, powershell e até o cmd clássico do Windows.

O Windows Terminal permite que você configure diferentes profiles diferentes para utilizar diferentes shells. Para cada um desses profiles é possível ter configurações diferentes de fonte, transparência, temas, cursores, entre outros. Ele permite também a configuração de atalhos e da sua interface para se adaptar as necessidades do usuário.

Ao instalar o Windows Terminal, ele irá identificar automaticamente quais os diferentes shells disponíveis para você utilizar. Caso você tenha o WSL ou o Powershell Core instalado, ele irá possibilitar que você o utilize sem precisar configurar tudo do zero.

Como instalar

O Windows Terminal está disponível como preview no Windows Store. Mesmo estando em preview ele está em sua quarta versão (v0.4) e já se mostra bem estável.

Para os mais apressados, também é possível clonar o código do Terminal e fazer o build diretamente da sua máquina. O código do Windows Terminal é open source, e está disponível no GitHub de forma que você possa testa-lo e contribuir com seu desenvolvimento, sugerindo melhorias, reportando bugs ou até mesmo enviando pull requests!

Estou utilizando o Windows Terminal no meu dia a dia desde o primeiro preview e é visível a sua evolução. No próximo preview por exemplo, será possível simplificar seu arquivo de configurações, alterando somente as modificações que são diferentes do padrão:

No meu dia a dia utilizo o Powershell Core e também o WSL com Ubuntu e zsh como shell. Se comparado com o gnome-terminal do Ubuntu, não senti nenhuma diferença.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

E você, já conhecia o Windows Terminal? O que você achou desse novo terminal? Sentiu falta de alguma funcionalidade presente em algum outro terminal? Responda nos comentários abaixo 🙂

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200