Instalando e configurando Zsh e Oh My Zsh
Tags: wsl, zsh, ohmyzsh
Published: 2023-02-12 02:18:59

---
title: Instalando e configurando Zsh e Oh My Zsh
published: true
date: 2023-02-11 00:20:04 UTC
tags: wsl,zsh,ohmyzsh
canonical_url: 
---

 **O Oh My Zsh é um framework open source que possibilita o gerenciamento das configurações do interpretador de comandos Zsh.**

Zsh é um shell projetado para uso interativo, embora seja também uma poderosa linguagem de script. Muitos dos recursos úteis do bash, ksh e tcsh foram incorporados ao zsh; muitas características originais foram adicionadas.

Ele é uma alternativa ao shell padrão oferecido pelo sistema operacional. Sua utilização ajuda a tornar o terminal de comandos muito mais amigável e funcional. Ele é mais indicado para os sistemas operacionais Linux e macOS. Iremos instalar e configurar no WSL.

### Pré-requisitos

Para instalar o Oh My Zsh é preciso atender alguns pré-requisitos, são eles:

- instalar o Zsh;
- ter o curl ou wget instalados, iremos utilizar o curl;
- ter o git instalado na máquina no WSL2;

**Instalando o Zsh**

```
sudo apt-get install zsh
```

![GIF instalação do ZSH](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0o8vqmhhk8xszo0sdv9b.png)

Com o Zsh instalado deve ser possível você executar:

```
zsh --version
```

E receber algo como _zsh 5.8.1 (x86\_64-ubuntu-linux-gnu)_ de retorno

**Instalando o curl**

```
sudo apt-get install curl
```

![GIF instalação do curl](https://cdn-images-1.medium.com/max/970/1*t7XYAJZIc8-OxmzKJXbAhQ.gif)

Com o curl instalado deve ser possível você executar:

```
curl --version
```

E receber algo como _curl 7.81.0 (x86\_64-pc-linux-gnu)_ de retorno.

**Instalando o git**

Para o Ubuntu, execute o comando abaixo, ele ira atualizar o repositório do Ubuntu com o PPA contendo a versão mais recente do GIT, atualizar a lista de pacotes e instalar a última versão do GIT

```
sudo add-apt-repository ppa:git-core/ppa ; sudo apt update ; sudo apt-get install git
```

Com o git instalado deve ser possível você executar:

```
git --version
```

E receber algo como _git version 2.39.1_ de retorno.

### Instalando o Oh My Zsh?

A instalação do [Oh My Zsh](https://ohmyz.sh/) pode ser feita de duas formas oficiais, via [Curl](https://www.alura.com.br/artigos/curl-como-usar) ou via [Wget](https://www.gnu.org/software/wget/), iremos utilizar o curl.

Digitar o seguinte comando no terminal:

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

![GIF instalação do Oh My Zsh](https://cdn-images-1.medium.com/max/826/1*T-Zlfzf39YH3hCjXywebbw.gif)

A partir de agora, todas configurações que você quiser fazer, como adicionar variáveis ambientes ou configurar seu terminal de qualquer forma, você irá utilizar o arquivo **~/.zshrc** e não mais o **~/.bash\_profile** ou derivados.

Reinicie o seu terminal.

### Configurando o tema Spaceship no Oh My Zsh!

[Spaceship](https://github.com/spaceship-prompt/spaceship-prompt) é um prompt [Zsh](http://zsh.org/) minimalista, poderoso e extremamente personalizável. Prompt é o que você vê quando digita um comando. Ele pode mostrar muitas dicas úteis, economizando seu tempo e tornando a experiência do usuário suave e agradável. Ele combina tudo o que você pode precisar para um trabalho conveniente, sem complicações desnecessárias, como uma nave espacial real.

Primeiro, vamos clonar o repositório do GitHub:

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

Criar um link para o seu diretório de temas personalizados oh-my-zsh:spaceship.zsh-theme

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

Definir e configurar o tema no arquivo .zshrc para isso use o seu editor de texto preferido, no meu caso utilizo o VSCode

```
code . ~/.zshrc
```

Procure pela variável ZSH\_THEME e altere para ZSH\_THEME=”spaceship”

![Exemplo configuração variável ZSH_THEME](https://cdn-images-1.medium.com/max/585/1*FdH3WWUhiJ5EX76S9dGRwQ.png)

No final do arquivo copie o seguinte texto:

```
SPACESHIP_PROMPT_ORDER=(
  user # Username section
  dir # Current directory section
  host # Hostname section
  git # Git section (git_branch + git_status)
  hg # Mercurial section (hg_branch + hg_status)
  exec_time # Execution time
  line_sep # Line break
  jobs # Background jobs indicator
  exit_code # Exit code section
  char # Prompt character
)

SPACESHIP_USER_SHOW=always
SPACESHIP_PROMPT_ADD_NEWLINE=false
SPACESHIP_CHAR_SYMBOL="❯"
SPACESHIP_CHAR_SUFFIX=" "
```

Para mais configurações segue o [link com as definições](https://spaceship-prompt.sh/config/intro/#create-a-config-file) das diversas opções que podemos usar para customizar o prompt com o Spaceship.

Para os temas inclusos no Oh My Zsh, você precisa somente configurar a variável ZSH\_THEME, segue o link dos temas disponíveis.  
[Themes · ohmyzsh/ohmyzsh Wiki (github.com)](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)

### Instalando alguns plugins especiais

Além de escolher um tema para modificar a aparência do terminal, também podemos adicionar funcionalidades a ele. Para isso, existem inúmeros plugins, que também são de código aberto e ajudam a tornar o interpretador de comandos muito mais potente que facilitam muito na hora de executar comandos comuns, realizar autocompletes, etc.

Confira alguns deles a seguir.

#### Zsh-syntax-highlighting

O plugin [zsh-syntax-highlighting](https://dev.to/scottw/zsh-syntax-highlighting-3m99) da um destaque aos comandos enquanto eles são digitados. Dessa forma, se o comando estiver correto, ele será exibido na cor verde, caso contrário, o comando ficará em vermelho. Isso ajuda a revisar comandos antes de executar eles, particularmente na captura de erros de sintaxe.

Para instalar esse plugin precisamos primeiro clonar o repositório do Github

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

Editar o arquivo .zshrc e ativar o plugin:

```
plugins=( [plugins...] zsh-syntax-highlighting)
```

O arquivo ficará da seguinte maneira:

![Exemplo da configuração do plugin do ZSH](https://cdn-images-1.medium.com/max/763/1*cO0hBvnwJV_XPMpxAp-JnA.png)

### Zsh-autosuggestions

[Plugin de sugestões para comandos](https://github.com/zsh-users/zsh-autosuggestions) com base no histórico de comandos já usados. Ao digitar comandos, você verá uma conclusão oferecida após o cursor em uma cor cinza silenciada.

A instalação é idêntica ao do plugin Zsh-syntax-highlighting.

Clonar o repositório do Github e ativar o plugin.

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

plugins=( [plugins...] zsh-autosuggestions)
```

Para outros puglins:

[Plugins · ohmyzsh/ohmyzsh Wiki (github.com)](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins)

Por fim, recarregar as configurações do Zsh para que o seu terminal aberto já carregue as novas configurações:

```
source ~/.zshrc
```

Em caso de dúvidas deixe sua pergunta nos comentários ou me [procure no LinkedIn](https://www.linkedin.com/in/henrique-simoes/).

Abraço!