Instalando e Utilizando ZSH
Tags: linux, braziliandevs
Published: 2021-01-16 05:24:51

ZSH é um shell. na maioria dos sistemas UNIX ou Linux o shell padrão é o Bash, que na opinião de muitos, não é o mais prazeroso para pessoas que querem maior personalização e produtividade no seu shell, enquanto o ZSH permite uma maior personalização e produtividade no uso de um Terminal.

ZSH permite instalação de plugins que extendem as funções normais de um shell, instalação de temas diretamente no shell (sem ser um tema para um terminal específico), e um TAB melhorado

# Instalando ZSH

Para instalar o ZSH usando a linha de comando é bem simples, siga a lista abaixo e procure o seu sistema operacional:

## Mac OS

Instalação:
`brew install zsh git`

## Debian (Ubuntu, Linux Mint,etc)

Instalação:
`sudo apt install zsh git`

## OpenSuse

Instalação:
`sudo zypper install zsh git`

## Arch Linux e Manjaro

Instalação:
`sudo pacman -S zsh git`

## Fedora

Instalação:
`sudo dnf install zsh git`

> Lembrando que estamos instalando também o Git caso você não tenha, pois ele será utilizado no processo.

# Usando o ZSH

Usar o ZSH é como usar o Bash que você está acustumado, mas com alguns super-poderes, como o TAB melhorado que iremos ver, temas e plugins, mas na utilização de comandos é exatamente a mesma coisa, o que poderá mudar são algumas mensagens de erro do próprio shell, que poderão ser um pouco diferentes do Bash, mas não é algo que irá atrapalhar o seu uso.

Nós instalamos o ZSH, agora, para definir ele como shell padrão do nosso sistema, use este comando abaixo para definir o ZSH como shell padrão:

`chsh -s $(which zsh)`

A função deste comando é alterar o Shell padrão apenas para o seu usuário, não afetando outros usuários na máquina, assim, se você trocar de usuário e começar a usar o root da máquina por exemplo, esse usuário ainda estará com o bash, para fazer com que o root também esteja com o ZSH, será necessário executar este mesmo comando logado como root.

Se você quiser entrar no ZSH diretamente, execute:

`zsh`

O ZSH será iniciado no terminal que você está.

![Captura de tela do ZSH padrão](https://dev-to-uploads.s3.amazonaws.com/i/au4g8s9ke3u9jd5e960z.png)

# TAB, o seu melhor amigo!

no ZSH, o TAB é o seu melhor amigo, vamos relembrar que no Bash, usavamos o TAB para autocompletar o nome de um diretório, não precisando escrever seu nome completo, mas isso era um trabalho muito manual, pois caso dois diretórios tivessem nomes muito parecidos, como Downloads e Documentos iriamos precisar escrever `cd Do` e mais um caractere para determinar onde estamos querendo ir, mas no ZSH, esse trabalho é facilitado, vamos ver:

No bash, caso você execute `cd Do` e aperte TAB dentro da sua home, irá aparecer as duas opções, que são `Downloads` e `Documentos` (ou Documents caso seu sistema esteja em inglês), e você precisa apertar mais um caractere para seu TAB funcionar e autocompletar o caminho de um desses diretórios:

![Primeiro exemplo do uso do TAB no ZSH](https://dev-to-uploads.s3.amazonaws.com/i/r8wbpb0ipvca23jodbbl.png)

Mas no ZSH, seu TAB se torna uma extensão da sua mente! caso você execute `cd Do` e aperte TAB, irá aparecer os diretórios `Downloads` e `Documentos`, mas caso você aperte TAB novamente, o ZSH automaticamente selecionará o primeiro, e se apertar denovo, ele irá selecionar o outro, isso que é o interessante do TAB do ZSH, entrar em diretórios ou executar arquivos se torna muito rápido, pois você pode rapidamente selecionar arquivos ou diretórios, precisando escrever menos fazendo mais, teste o TAB no zsh que você irá entender o seu funcionamento.

![Segundo exemplo do uso do TAB no ZSH](https://dev-to-uploads.s3.amazonaws.com/i/xzo6078dcbeqksrap4tj.png)

# Oh My ZSH

O Oh My ZSH é um gestor de configurações do ZSH, com ele, poderemos instalar Temas e Plugins para o nosso ZSH, aumentando a personalidade, beleza e produtividade.

Para instalar o Oh My ZSH use:

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

Pronto, agora podemos começar a instalar plugins e temas para o nosso ZSH.

# zshrc

O `~/.zshrc` é o arquivo de configuração do ZSH apenas para seu usuário, ele será utilizado para editarmos as configurações do nosso ZSH, como por exemplo os Aliases, que caso você não saiba, são acrônomos que podemos criar para os nossos comandos, como por exemplo, ao invés de digitarmos `git add .` podemos digitar `gita` caso você crie um Aliases com esse nome (Lembrando que os aliases estão disponíveis para vários shells, como ZSH, BASH, FISH,etc). Mas este arquivo será principalmente para adicionarmos temas e plugins ao nosso ZSH, vamos!

Você poderá editar o `~/.zshrc` com qualquer editor de texto, como o Gedit, Xed, e até mesmo o Vim se você quiser, pois ele é só um arquivo de configuração, caso você seja iniciante, recomendo usar o editor gráfico do seu sistema, como o Gedit caso você esteja no Ubuntu, e como o Xed caso você esteja no linux Mint, para editar por exemplo, usando o gedit, faça `gedit .zshrc` e pronto, o editor irá se abrir já com o arquivo.

# Temas no ZSH

Agora vamos instalar um tema muito popular, o [**Spaceship**](https://github.com/denysdovhan/spaceship-prompt) usando o Oh My ZSH.

Primeiro para baixar ele no seu sistema, clone o repositório do **Spaceship** usando o Git, dessa maneira:

`git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"`

Agora crie um Link simbólico dele na pasta do seu Oh My ZSH:

`ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"`

Agora entre dentro do arquivo `~/.zshrc` que é o arquivo de configuração do seu zsh usando o editor de texto que você escolheu, e edite a variável de ambiente `ZSH_THEME`, mude o valor corrente dela para `spaceship`

`ZSH_THEME="spaceship"`

Agora reinicie o terminal e pronto!, o **Spaceship** estará instalado!

![Captura de tela do tema Spaceship](https://dev-to-uploads.s3.amazonaws.com/i/turc6mq7q5k8r5wlt1mm.png)

Também recomendo que você pesquise o tema [**Powerlevel10k**](https://github.com/romkatv/powerlevel10k), que é outro tema também muito utilizado e que permite uma altíssima personalização.

# Plugins no ZSH

No ZSH podemos instalar plugins que adicionam funções e produtividade no uso com o Oh My ZSH. Vamos instalar 2 plugins para melhorar nosso ZSH.

## zsh-syntax-highlighting

Adiciona syntax Highligth no nosso ZSH, facilitando você saber se o comando que está sendo digitado no momento está correto.

Para instalar, use:

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

Agora para definir ele como um dos plugins do seu ZSH, entre em `~/zshrc`, procure uma parte com `plugins=()` e edite:

`plugins=( git dnf zsh-syntax-highlighting )`

Agora você verá algo parecido com isso:

![Captura de tela do zsh-syntax-highlighting](https://dev-to-uploads.s3.amazonaws.com/i/tkw8907hml6m2tuezxk1.png)

Obs: estou usando o tema _Powerlevel10k_ que eu havia comentado no capítulo anterior

## zsh-autosuggestions

Adiciona uma auto-sugestão no ZSH baseada em seu histórico, tornando mais fácil a repetição de comandos já utilizados.

Instale ele na sua máquina:

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

edite seu `~/zshrc` para adicionar o plugin na lista:

`plugins=( git dnf zsh-syntax-highlighting zsh-autosuggestions)`

Pronto, agora você tem um shell bem configurado, e pronto para uso!

Muito obrigada por ler ❤️🏳️‍⚧️ e me segue nas redes, é tudo [@lissatransborda](https://twitter.com/lissatransborda) 👀