Se você quer ter um terminal mais bonito e personalizado no seu Windows, este guia é para você. Neste guia, você vai aprender a:
- Instalar o Windows Terminal, um aplicativo que permite usar vários terminais em uma única janela
- Instalar o WSL (Windows Subsystem for Linux), um recurso que permite executar um ambiente Linux dentro do Windows
- Instalar o Zsh, um shell interativo que oferece recursos avançados como autocompletar, corretor ortográfico e temas
- Instalar o Oh My Zsh, um framework que facilita a configuração e o gerenciamento do Zsh
- 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?
Status e testes
Índice
- Status e testes 📊
- Requisitos mínimos 🛠️
- Utilizando o Linux 💡
- Dicas 💡
Requisitos mínimos 🛠️
Para começar, você precisará baixar e instalar o Visual Studio Code, 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.
Visual Studio Code + Remote WSL 💻
Após instalar o VS Code, instale também um plugin chamado Remote - WSL. 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 é Ctrl + S
✨
Baixe e instale a fonte FiraCode Light TTF 🌟
Antes de tudo, instale o pacote de fontes Fira Code. 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 GitHub - Fira Code.
Habilite o Hyper-V e o WSL via Powershell Admin ⚙️
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Observação: Em algumas máquinas, pode ser necessário habilitar a virtualização na BIOS também.
Instale uma Distro Linux 🐧
Você pode escolher e instalar uma distribuição Linux de sua preferência. Clique aqui para baixar o Ubuntu.
Instale o Windows Terminal 🪟
O Windows Terminal é uma ferramenta poderosa para gerenciar terminais no Windows.
Atualizando o Kernel Linux no Windows 🔄
Atualize o Kernel do Linux no Windows, baixe o pacote de atualização do kernel do Linux para o WSL 2 para computadores x64.
Migrar a distro Existente para WSL 2 (Utilizará o Kernel nativo do Linux no Windows) 🚀
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:
wsl -l -v
Agora, migre sua distribuição Linux existente para o WSL 2 executando o comando:
wsl --set-version <distro name> 2
Substitua <distro name>
pelo nome da sua distribuição, sem os sinais <>
. 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. 🚀
Utilizando o Linux 🐧
Com todo o ambiente instalado e configurado, você já pode abrir o Windows Terminal e iniciar sua distribuição Linux preferida em novas abas.
Execute o script de instalação do ZSH 🖥️
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ErickRock/oh-my-zsh-on-windows-terminal/main/zsh-install.sh)"
Após a execução do comando, feche o terminal e abra-o novamente.
Ao reiniciar, escolha a opção 2 e pressione Enter. Feche o terminal novamente e abra-o para continuar com os comandos a seguir.
Execute o script de instalação do ZSH Tools + Plugins 🛠️
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ErickRock/oh-my-zsh-on-windows-terminal/main/tools-zsh-install.sh)" -y
Na tela seguinte, digite exit
e pressione Enter para permitir que o script continue.
Tema Spaceship 🌌
🚀⭐ Spaceship ZSH
Zsh
prompt for Astronauts.
Website |
Instalando |
Opções |
API
Feito com ❤︎ por
Denys Dovhan e
colaboradores
Instalando 🚀
sudo git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
Crie o link simbólico 🪝
sudo ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Ativando o tema 🌈
Digite code ~/.zshrc
e pressione Enter para abrir o VS Code e editar o arquivo. Altere o campo ZSH_THEME="fino"
para ZSH_THEME="spaceship"
e salve. Pronto, você acabou de mudar o tema. 🌟
Plugins inclusos 🧩
Esses são os plugins inclusos, e abaixo explico como cada um deles funciona:
-
zdharma/fast-syntax-highlighting
: Adiciona syntax highlighting na hora da escrita de comandos, facilitando principalmente o reconhecimento de comandos digitados incorretamente. 🎨 -
zsh-users/zsh-autosuggestions
: Sugere comandos baseados no histórico de execução enquanto você digita. 💡 -
zsh-users/zsh-completions
: Adiciona milhares de completions para ferramentas comuns como Yarn, Homebrew, NVM, Node, etc. Você só precisa apertar TAB para completar comandos. 🚀
Dicas 💡
Você pode acessar toda a estrutura de arquivos da distribuição Linux instalada no caminho \\wsl$
, da mesma forma que acessa um servidor, pasta, etc. É possível deixar um mapeamento de rede deste caminho, caso prefira.
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
²: Sintaxe || corrigida para &&
³: Inicia o zsh ao fim do script
⁴: implementado apt-fast
⁵: Update to use new zdharma-continuum zinit project
⁶: 🎨 Adicionado Temas Padrões
Créditos e links de referência:
- @DevMozao 🌐
- Rocketseat 🚀
Top comments (29)
é aquilo nem todo herói veste capa
O artigo foi atualizado recentemente, e já conta com 2 scripts que automatizam o processo dentro da distro Linux, pretendo em breve unificar em apenas 1 script, e ainda abranger o setup inicial de ativar o Hyper-V e o WSL.
Deixei varias issues abertas para facilitar a controbuição de quem puder ajudar!
Cara, eu to com um problema que as algumas cores nao mudam nem ferrando, por exemplo esse verde marca texto de fundo de algumas pastas não sae, não consigo mudar a cor e nem tirar, é claramente visivel que é ruim de ver. Poder me ajudar?
Me parece que só fica assim em pastas do windows, mas é meio bizarro. (Os tons de verde é pq estou com o tema Dracula, mas sem ele o verde fica ainda pior)
Link da imagem caso nao apareca abaixo: i.prntscr.com/aIgBEsJcQ1KF2OCRZlby...
Olá, Nikolai. Sugiro que você veja o seguinte link: askubuntu.com/questions/466198/how...
Simplificando, insira a seguinte linha no seu ~/.bashrc (antes de chamar exec zsh) ou no ~/.zshrc (antes da instalação do zinit e do spaceship-prompter, se você tiver ):
LS_COLORS=$LS_COLORS:'tw=30;45:ow=30:44' ; export LS_COLORS
Isso já deve resolver.
Explicação:
LS_COLORS contém todos os padrões de cores que serão usados em todo o terminal. Os números vão de 0 a 107, sendo de 0 a 8 os formatos, 40 a 47 e 100 a 107 as cores de fundo e de 30 a 97 as cores das letras.
tw são as pastas do windows que seu usuário não tem permissão de acesso e ow são as pastas que tem. di são as pastas do wsl.
Veja no link as combinações de cores de fundo e letra que mais te agradarem e faça a alteração na variável LS_COLORS. Sugiro não apenas adicionar os dados, mas alterar ela completamente como abaixo:
printf -v LS_COLORS '%s' \
'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01' \
':mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;45:ow=30;44:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31' \
':.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31' \
':.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31' \
':.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31' \
':.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31' \
':.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31' \
':.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31' \
':.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35' \
':.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35' \
':.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35' \
':.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35' \
':.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35' \
':.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35' \
':.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35' \
':.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36' \
':.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36' \
':.spx=00;36:*.xspf=00;36:'
export LS_COLORS
Deixei em anexo (dev-to-uploads.s3.amazonaws.com/up...) um print do antes e depois desta config. Espero que ajude...
Cara, perdão pela demora, talvez nem esteja mais precisando de apoio.
Mas tive este problema também, a maioria dos problemas diferentes que tive, normalmente consegui resolver utilizando os terminais tudo via Windows Terminal e com uma das variações da font "FiraCode" ou "Cascadia Code Mono".
Muito bom Erick !! Ficou melhor que o cmder que estava utilizando.. Gostaria de tirar uma dúvida, como você fez para o zsh reconhecer as variáveis de ambientes configuradas no path? Tem alguma forma se não inseri-las todas no .zshrc ?
Vlw!
Está se referindo a literalmente utilizar os path como configuração de algum software ou voce quer rodar algo instalado no Windows apenas?
Valeu, ficou show de bola.
Show! Encontrei dificuldade no passo de tornar o terminal linux padrão dentro do Windows Terminal no lugar do PowerShell, mas foi o único tutorial que segui a risca e consegui fazer funcionar tudo direitinho.
Estranho, pra mim continuava abrindo o bash como padrão no Windows Terminal.
Tive que alterar manualmente nas configurações do windows terminal
Vlw pelo feedback mano! Desculpa a demora em responder kkk
Muito fera, obrigado pelo conhecimento compartilhado! Aqui no meu caso toda vez que abro o terminal recebebo isso: "/home/gabriel/.zshrc:123: command not found: zinit
/home/gabriel/.zshrc:145: command not found: zinit". Poderia me ajudar como resolver? Segui todo o passo a passo
Fala Gabriel.
Eu coloquei essas linhas antes da linha que dá o erro e funcionou (arquivo .zshrc):
As duas linhas do meio eu comentei prq toda vez que eu abro o terminal ele tentava substituir a pasta já existente e ficava aparecendo um erro. mas pode ser que no primeiro momento vc tenha que habilitar as duas.
Fonte: github.com/zdharma-continuum/zinit...
Muito obrigado Rodolfo! Deu certo aqui.
Este tutorial definitivamente me salvou. Super obrigada!
Show demais!!! Muito obrigado! Apenas a parte da configuração que não totalmente certo aqui, creio que por causa dos
guid
mas tirando isso funcionou tudo de boa