[PT-BR] O que é o Oh My Zsh e como ele pode melhorar a sua experiência com o Windows Terminal
Tags: linux, windowsterminal, opensource, wsl
Published: 2020-03-30 22:06:36

![Windows terminal](https://dev-to-uploads.s3.amazonaws.com/i/jz2w66zikeoaaovcdtxh.gif)

Se você quer ter um terminal mais bonito e personalizado no seu Windows, este guia é para você. Neste guia, você vai aprender a:

1. Instalar o Windows Terminal, um aplicativo que permite usar vários terminais em uma única janela
2. Instalar o WSL (Windows Subsystem for Linux), um recurso que permite executar um ambiente Linux dentro do Windows
3. Instalar o Zsh, um shell interativo que oferece recursos avançados como autocompletar, corretor ortográfico e temas
4. Instalar o Oh My Zsh, um framework que facilita a configuração e o gerenciamento do Zsh
5. Escolher e aplicar um tema do Oh My Zsh que combine com o seu estilo

Com esses passos, você vai transformar o seu terminal em uma ferramenta poderosa e divertida de usar. Vamos começar?

<h1 id="status-e-testes">Status e testes</h1>
<p><a href="https://github.com/ErickRock/oh-my-zsh-on-windows-terminal/actions/workflows/main.yml"><img src="https://github.com/ErickRock/oh-my-zsh-on-windows-terminal/actions/workflows/main.yml/badge.svg" alt="CI"></a>
<a href="https://dev.azure.com/erickgarciadev/oh-my-zsh-on-windows-terminal/_build/latest?definitionId=9&amp;branchName=main"><img src="https://dev.azure.com/erickgarciadev/oh-my-zsh-on-windows-terminal/_apis/build/status/ErickRock.oh-my-zsh-on-windows-terminal?branchName=main" alt="Build Status"></a>
<a href="https://github.com/ErickRock/oh-my-zsh-on-windows-terminal/network"><img src="https://img.shields.io/github/forks/ErickRock/oh-my-zsh-on-windows-terminal" alt="GitHub forks"></a>
<a href="https://github.com/ErickRock/oh-my-zsh-on-windows-terminal/stargazers"><img src="https://img.shields.io/github/stars/ErickRock/oh-my-zsh-on-windows-terminal" alt="GitHub stars"></a>
<a href="https://github.com/ErickRock/oh-my-zsh-on-windows-terminal/issues"><img src="https://img.shields.io/github/issues/ErickRock/oh-my-zsh-on-windows-terminal" alt="GitHub issues"></a>
<a href="https://www.bridgecrew.cloud/link/badge?vcs=github&amp;fullRepo=ErickRock%2Foh-my-zsh-on-windows-terminal&amp;benchmark=INFRASTRUCTURE+SECURITY"><img src="https://www.bridgecrew.cloud/badges/github/erickrock/oh-my-zsh-on-windows-terminal/general" alt="Infrastructure Tests"></a></p>
<p><strong>Índice</strong></p>
<ul>
<li><a href="#status-e-testes">Status e testes</a> 📊</li>
<li><a href="#requisitos-m%C3%ADnimos">Requisitos mínimos</a> 🛠️
<ul>
<li><a href="#visual-studio-code--remote-wsl">Visual Studio Code + Remote WSL</a> 💻</li>
<li><a href="#baixe-e-instale-a-fonte-firacode-light-ttf">Baixe e instale a fonte FiraCode Light TTF</a> 🌟</li>
<li><a href="#habilite-o-hyper-v-e-o-wsl-via-powershell-admin">Habilite o Hyper-V e o WSL via Powershell Admin</a> ⚙️</li>
<li><a href="#instale-uma-distro-linux">Instale uma Distro linux</a> 🐧</li>
<li><a href="#instale-o-windows-terminal">Instale o Windows Terminal</a> 🪟</li>
<li><a href="#atualizando-o-kernel-linux-no-windows">Atualizando o Kernel Linux no Windows</a> 🔄
<ul>
<li><a href="#migrar-a-distro-existente-para-wsl-2-utilizar%C3%A1-o-kernel-nativo-do-linux-no-windows">Migrar a distro Existente para WSL 2 (Utilizará o Kernel nativo do Linux no Windows)</a> 🚀</li>
</ul>
</li>
</ul>
</li>
<li><a href="#utilizando-o-linux">Utilizando o Linux</a> 💡
<ul>
<li><a href="#execute-o-script-de-instala%C3%A7%C3%A3o-do-zsh">Execute o script de instalação do ZSH</a> 🖥️
<ul>
<li><a href="#execute-o-script-de-instala%C3%A7%C3%A3o-do-zsh-tools--plugins">Execute o script de instalação do ZSH Tools + Plugins</a> 🛠️</li>
<li><a href="#tema-spaceship">Tema Spaceship</a> 🌌</li>
<li><a href="#instalando">Instalando</a> 🚀</li>
<li><a href="#crie-o-link-simb%C3%B3lico">Crie o link simbólico</a> 🪝</li>
<li><a href="#ativando-o-tema">Ativando o tema</a> 🌈</li>
<li><a href="#plugins">Plugins inclusos</a> 🧩</li>
</ul>
</li>
</ul>
</li>
<li><a href="#dicas">Dicas</a> 💡</li>
</ul>
<h1 id="requisitos-m%C3%ADnimos-%F0%9F%9B%A0%EF%B8%8F">Requisitos mínimos 🛠️</h1>
<p>Para começar, você precisará baixar e instalar o <a href="https://code.visualstudio.com/Download">Visual Studio Code</a>, um editor de código-fonte popular e gratuito. Você pode fazer isso acessando o site oficial do VS Code e seguindo as instruções de instalação para o seu sistema operacional.</p>
<h1 id="visual-studio-code--remote-wsl-%F0%9F%92%BB">Visual Studio Code + Remote WSL 💻</h1>
<p>Após instalar o VS Code, instale também um plugin chamado <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl">Remote - WSL</a>. Ele servirá para abrir e editar arquivos do Linux de forma visual, sem precisar utilizar nano, vim e afins. O atalho para salvar arquivos que fora editados é <code>Ctrl + S</code> ✨</p>
<h1 id="baixe-e-instale-a-fonte-firacode-light-ttf-%F0%9F%8C%9F">Baixe e instale a fonte FiraCode Light TTF 🌟</h1>
<p>Antes de tudo, <a href="https://github.com/tonsky/FiraCode/releases/download/2/FiraCode_2.zip">instale o pacote de fontes Fira Code</a>. Ela trará alguns efeitos bem legais ao utilizar símbolos no código ou no terminal. Você pode ver mais detalhes do projeto no perfil deles no <a href="https://github.com/tonsky/FiraCode">GitHub - Fira Code</a>.</p>
<h1 id="habilite-o-hyper-v-e-o-wsl-via-powershell-admin-%E2%9A%99%EF%B8%8F">Habilite o Hyper-V e o WSL via Powershell Admin ⚙️</h1>
<pre class="hljs"><code><div>dism.exe /online /<span class="hljs-built_in">enable-feature</span> /featurename:VirtualMachinePlatform /all /norestart
</div></code></pre>
<pre class="hljs"><code><div>dism.exe /online /<span class="hljs-built_in">enable-feature</span> /featurename:Microsoft<span class="hljs-literal">-Windows</span><span class="hljs-literal">-Subsystem</span><span class="hljs-literal">-Linux</span> /all /norestart
</div></code></pre>
<p><strong>Observação:</strong> Em algumas máquinas, pode ser necessário habilitar a virtualização na BIOS também.</p>
<h1 id="instale-uma-distro-linux-%F0%9F%90%A7">Instale uma Distro Linux 🐧</h1>
<p>Você pode escolher e instalar uma distribuição Linux de sua preferência. <a href="https://www.microsoft.com/pt-br/p/ubuntu/9nblggh4msv6?SilentAuth=1&amp;wa=wsignin1.0&amp;activetab=pivot:overviewtab">Clique aqui para baixar o Ubuntu</a>.</p>
<h1 id="instale-o-windows-terminal-%F0%9F%AA%9F">Instale o Windows Terminal 🪟</h1>
<p>O <a href="https://www.microsoft.com/pt-br/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab">Windows Terminal</a> é uma ferramenta poderosa para gerenciar terminais no Windows.</p>
<h1 id="atualizando-o-kernel-linux-no-windows-%F0%9F%94%84">Atualizando o Kernel Linux no Windows 🔄</h1>
<p>Atualize o Kernel do Linux no Windows, <a href="https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi">baixe o pacote de atualização do kernel do Linux para o WSL 2 para computadores x64</a>.</p>
<h2 id="migrar-a-distro-existente-para-wsl-2-utilizar%C3%A1-o-kernel-nativo-do-linux-no-windows-%F0%9F%9A%80">Migrar a distro Existente para WSL 2 (Utilizará o Kernel nativo do Linux no Windows) 🚀</h2>
<p>Após instalar a atualização, execute o PowerShell como Administrador e digite o seguinte comando para listar suas distribuições Linux instaladas e verificar qual versão do WSL estão usando:</p>
<pre class="hljs"><code><div>wsl <span class="hljs-literal">-l</span> <span class="hljs-literal">-v</span>
</div></code></pre>
<p>Agora, migre sua distribuição Linux existente para o WSL 2 executando o comando:</p>
<pre class="hljs"><code><div>wsl -<span class="hljs-literal">-set</span><span class="hljs-literal">-version</span> &lt;distro name&gt; <span class="hljs-number">2</span>
</div></code></pre>
<p>Substitua <code>&lt;distro name&gt;</code> pelo nome da sua distribuição, sem os sinais <code>&lt;&gt;</code>. A migração para o WSL 2 começará e, ao terminar, você poderá usar o Linux no Windows 10 vezes mais rápido do que com a versão WSL 1 anterior. 🚀</p>
<h1 id="utilizando-o-linux-%F0%9F%90%A7">Utilizando o Linux 🐧</h1>
<p>Com todo o ambiente instalado e configurado, você já pode abrir o Windows Terminal e iniciar sua distribuição Linux preferida em novas abas.</p>
<h2 id="execute-o-script-de-instala%C3%A7%C3%A3o-do-zsh-%F0%9F%96%A5%EF%B8%8F">Execute o script de instalação do ZSH 🖥️</h2>
<pre class="hljs"><code><div>bash -c <span class="hljs-string">"<span class="hljs-variable">$(curl -fsSL https://raw.githubusercontent.com/ErickRock/oh-my-zsh-on-windows-terminal/main/zsh-install.sh)</span>"</span>
</div></code></pre>
<p>Após a execução do comando, feche o terminal e abra-o novamente.</p>
<p>Ao reiniciar, escolha a opção 2 e pressione Enter. Feche o terminal novamente e abra-o para continuar com os comandos a seguir.</p>
<h2 id="execute-o-script-de-instala%C3%A7%C3%A3o-do-zsh-tools--plugins-%F0%9F%9B%A0%EF%B8%8F">Execute o script de instalação do ZSH Tools + Plugins 🛠️</h2>
<pre class="hljs"><code><div>bash -c <span class="hljs-string">"<span class="hljs-variable">$(curl -fsSL https://raw.githubusercontent.com/ErickRock/oh-my-zsh-on-windows-terminal/main/tools-zsh-install.sh)</span>"</span> -y
</div></code></pre>
<p>Na tela seguinte, digite <code>exit</code> e pressione Enter para permitir que o script continue.</p>
<h2 id="tema-spaceship-%F0%9F%8C%8C">Tema Spaceship 🌌</h2>
<h1 align="center">
  <a href="https://github.com/denysdovhan/spaceship-prompt">
    <img alt="spaceship →~ prompt" src="https://cloud.githubusercontent.com/assets/3459374/21679181/46e24706-d34b-11e6-82ee-5efb3d2ba70f.png" width="400">
  </a>
  <br>🚀⭐ Spaceship ZSH <br>
</h1>
<h4 align="center">
  <a href="http://zsh.org" target="_blank"><code>Zsh</code></a> prompt for Astronauts.
</h4>
<p align="center">
  <!-- NPM Version -->
    <a href="https://npmjs.org/package/spaceship-prompt">
    <img src="https://img.shields.io/npm/v/spaceship-prompt.svg?style=flat-square"
      alt="NPM Version" />
  </a>
  <a href="https://travis-ci.org/denysdovhan/spaceship-prompt">
    <img src="https://img.shields.io/travis/denysdovhan/spaceship-prompt.svg?style=flat-square"
      alt="CI Status" />
  </a>
  <a href="http://zsh.org/">
    <img src="https://img.shields.io/badge/zsh-%3E%3Dv5.2-777777.svg?style=flat-square"
      alt="Zsh Version" />
  </a>
  <a href="https://twitter.com/SpaceshipZSH">
    <img src="https://img.shields.io/badge/twitter-%40SpaceshipZSH-00ACEE.svg?style=flat-square"
      alt="Spaceship ZSH Twitter" />
  </a>
  <a href="https://patreon.com/denysdovhan">
    <img src="https://img.shields.io/badge/support-patreon-F96854.svg?style=flat-square"
      alt="Donate" />
  </a>
</p>
<div align="center">
  <h4>
    <a href="https://denysdovhan.com/spaceship-prompt/">Website</a> |
    <a href="#instalando">Instalando</a> |
    <a href="https://github.com/denys
<p>dovhan/spaceship-prompt/blob/master/README.md#features&quot;&gt;Features</a> |
<a href="https://github.com/denysdovhan/spaceship-prompt/blob/master/docs/Options.md">Opções</a> |
<a href="https://github.com/denysdovhan/spaceship-prompt/blob/master/docs/API.md">API</a></p>
  </h4>
</div>
<div align="center">
  <sub>Feito com ❤︎ por
  <a href="https://denysdovhan.com">Denys Dovhan</a> e
  <a href="https://github.com/denysdovhan/spaceship-prompt/graphs/contributors">colaboradores </a>
</div>
<h3 id="instalando-%F0%9F%9A%80">Instalando 🚀</h3>
<pre class="hljs"><code><div>sudo git <span class="hljs-built_in">clone</span> https://github.com/denysdovhan/spaceship-prompt.git <span class="hljs-string">"<span class="hljs-variable">$ZSH_CUSTOM</span>/themes/spaceship-prompt"</span>
</div></code></pre>
<h3 id="crie-o-link-simb%C3%B3lico-%F0%9F%AA%9D">Crie o link simbólico 🪝</h3>
<pre class="hljs"><code><div>sudo ln -s <span class="hljs-string">"<span class="hljs-variable">$ZSH_CUSTOM</span>/themes/spaceship-prompt/spaceship.zsh-theme"</span> <span class="hljs-string">"<span class="hljs-variable">$ZSH_CUSTOM</span>/themes/spaceship.zsh-theme"</span>
</div></code></pre>
<h3 id="ativando-o-tema-%F0%9F%8C%88">Ativando o tema 🌈</h3>
<p>Digite <code>code ~/.zshrc</code> e pressione Enter para abrir o VS Code e editar o arquivo. Altere o campo <code>ZSH_THEME=&quot;fino&quot;</code> para <code>ZSH_THEME=&quot;spaceship&quot;</code> e salve. Pronto, você acabou de mudar o tema. 🌟</p>
<p><img src="/.github/spaceship.gif" alt="Editando o arquivo .zshrc"></p>
<h3 id="plugins-inclusos-%F0%9F%A7%A9">Plugins inclusos 🧩</h3>
<p>Esses são os plugins inclusos, e abaixo explico como cada um deles funciona:</p>
<ul>
<li><code>zdharma/fast-syntax-highlighting</code>: Adiciona syntax highlighting na hora da escrita de comandos, facilitando principalmente o reconhecimento de comandos digitados incorretamente. 🎨</li>
<li><code>zsh-users/zsh-autosuggestions</code>: Sugere comandos baseados no histórico de execução enquanto você digita. 💡</li>
<li><code>zsh-users/zsh-completions</code>: Adiciona milhares de completions para ferramentas comuns como Yarn, Homebrew, NVM, Node, etc. Você só precisa apertar TAB para completar comandos. 🚀</li>
</ul>
<h1 id="dicas-%F0%9F%92%A1">Dicas 💡</h1>
<p>Você pode acessar toda a estrutura de arquivos da distribuição Linux instalada no caminho <code>\\wsl$</code>, da mesma forma que acessa um servidor, pasta, etc. É possível deixar um mapeamento de rede deste caminho, caso prefira.</p>

# Changelog 

## [2.0.23] - 2023-09-06

### Corrigido 🐛
- Erro de ortografia na palavra "Pluguins", que agora está escrita corretamente como "Plugins" .
- Erro de sintaxe no script de instalação do ZSH Tools + Plugins, que agora usa o operador `&&` em vez de `||` para garantir a execução sequencial dos comandos .
- Bug que impedia o início do ZSH ao fim do script de instalação, que agora usa o comando `exec zsh` para substituir o shell atual pelo ZSH .

### Melhorado 🚀
- Processo de integração contínua (CI) no GitHub e no Azure, que agora usa o apt-fast para acelerar a instalação de pacotes no Linux .
- Tema Spaceship para usar o novo projeto zdharma-continuum zinit, que é um fork do antigo projeto zdharma zinit que foi descontinuado .

### Adicionado ➕
- Temas padrões do Oh My Zsh, que são temas simples e elegantes para o ZSH. Você pode escolher entre os temas robbyrussell, agnoster, bira, candy, etc. .

¹: [v.2.0.23 Fixed #8, #9](^1^)
²: [Sintaxe || corrigida para &&](^2^)
³: [Inicia o zsh ao fim do script](^3^)
⁴: [implementado apt-fast](^4^)
⁵: [Update to use new zdharma-continuum zinit project](^5^)
⁶: [🎨 Adicionado Temas Padrões](^6^)

<p>Créditos e links de referência:</p>
<ul>
<li><a href="https://dev.to/devmozao/pt-br-rodando-oh-my-zsh-no-windows-86c#0-prologo">@DevMozao</a> 🌐</li>
<li><a href="https://blog.rocketseat.com.br/terminal-com-oh-my-zsh-spaceship-dracula-e-mais/">Rocketseat</a> 🚀</li>
</ul>