Melhorando e configurando seu novo Shell linux. Pt-2
Tags: linux, windows, wsl, shell
Published: 2024-05-02 20:30:00

E ai meu patrão, bom saber que você se interessa em configurar ainda mais o seu ambiente de desenvolvimento, essa é o guia 2 da nossa configuração completa de ambiente de desenvolvimento no WSL, caso vc tenha vindo direto para esse artigo e não sabe o que é WSL ou como configurar o seu, clica aqui e vai ver o 1 artigo.

# O que é um Shell?
O _Shell_ é uma camada que faz a intermediação de comandos e/ou serviços entre o sistema operacional e o usuário.

O _Ubuntu_ por padrão vem com o _Shell_ base mais famoso e usado pelas distro linux ao redor do mundo o `Bash`, mas nesse guia vamos ensinar a você instalar o `ZSH`.

> Caso queira saber mais sobre a escolha do ZSH ao inves do Bash e até aprender mais sobre Shell voce pode conferir os links a baixo:
>
> [Zsh X Bash](https://www.educba.com/zsh-vs-bash/)
>
> [O que é um Shell?](https://diolinux.com.br/tecnologia/entenda-o-que-e-bash-fish-zsh.html)

Vamos instalar o zsh com o seguinte comando:

```bash
sudo apt install zsh
```

Agora vamos fechar o terminal e abrir novamente e provavelmente paraecerá a seguinte tela para você:

![Pasted image 20240315151906](https://gist.github.com/assets/69992923/9bb1250f-ec45-4f4b-838c-77fd1f4def5d)

> Se por algum acaso não aparecer, sem problemas, vamos resolver isso no prox passo

## Oh My ZSH

Agora vamos intalar um dos grandes motivos de usar zsh, oh my zsh é plugin que facilita muito a nossa vida com possibilidades de autocomplete, lista de comandos e personalização para deixar o terminal do seu jeito, rode o comando abaixo e ele vai baixar o `OhMyZsh`:

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

Apos inserir o comando vai aparecer a seguinte tela para você:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7remi144augezvflumtk.png)

É só apertar a tecla `Y` para definir o zsh como shell padrão e seu terminal deverá ficar assim:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r96xgpjlre9spbu8tlox.png)

## Plugins para o Oh My ZSH

Com o shell configurado poderemos adicionar plugins para facilitar e auxiliar no nosso dia a dia de desenvolvimento.

Execute o seguinte comando no terminal para baixar os plugins na sua maquina

> Caso queira mais pugins, acesse esse [link](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins) e instale o de sua preferência

```bash
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting && git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting && git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete
```

Agora precisamos adicionar no seu .zshrc os plugins, no linux podemos abrir qualquer arquivo com editores que temos na nossa maquina, por padrão o Ubuntu vem com o `nano`, mas podemos usar o `VsCode`(Se estiver instalado).

Todas as suas configuraçoes de shell vão ficar centralizadas no arquivo `.zshrc` que fica localizado na raiz do seu linux, por padrão você sempre inicia na raiz do seu linux, mas caso esteja dentro de uma pasta e queira voltar rápidamente ou só garantir que está na raiz do linux insira o comando `cd` no seu terminal e aperte a tecla `Enter`, se o seu terminal estiver como a imagem abaixo, vc está na raiz:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jvp2lfvjde8utivdtui4.png)

A partir dela vamos inserir o seguinte comando:

```bash
nano ~/.zshrc

# caso tenha o vsCode instalado no seu windows use: 
code .zshrc
```

O seu terminal deve ficar assim agora:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ri5f3hqp8wnzb7sqsdkc.png)

Seja bem vindo ao `nano` um editor de texto padrão do linux, não é segredo como usar ele, apenas olhe para a parte inferior no terminal e verá os comando do nano:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e1ifafpfz0mh02dex56x.png)

No nano a o caractere `^` representa a tecla `Ctrl`

Digite `Ctrl + W` e digite `plugin`, você deve se atentar a seguinte parte do arquivo:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h33eq07ph25au497svxy.png)

Subistitua onde tem `plugins=(git)` pelo código abaixo:

```zshrc
plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)
```

Vai ficar da seguinte maneira:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ginby9h39xuyvvl08mnn.png)

É recomendado reiniciar o terminal toda vez que você altera esse arqivo ou instala alguma coisa importante no seu linux, usando o seguinte comando:

```bash
source /home/seuUser/.zshrc
```

> Se você quiser definir um alias com o nome `reset` é só inserir no arquivo `.zshrc` o seguinte trecho `alias reset="source /home/seuUser/.zshrc"`, salvar o arquivo e reiniciar o terminal. 

E pronto, agora você tem um shell incrível e potente configurado para te auxiliar e dar mais produtividade quando estiver usando o WSL.

Muito obrigado por ler até aqui, na nossa próxima parte iremos configurar as ferramentas de desenvolvimento `git, docker, go, node` para você conseguir botar a mão na massa e fazer altos projetinhos. 

Te aguardo na próxima postagem 🤠