DEV Community

Cover image for [PT-BR] O que é o Oh My Zsh e como ele pode melhorar a sua experiência com o Windows Terminal

[PT-BR] O que é o Oh My Zsh e como ele pode melhorar a sua experiência com o Windows Terminal

Erick Garcia Godoy on March 30, 2020

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 Win...
Collapse
 
ninjaazul profile image
Erick De Freitas Gonçalves

é aquilo nem todo herói veste capa

Collapse
 
erickrock profile image
Erick Garcia Godoy

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!

Collapse
 
eaeniko profile image
Nikolai Cinotti

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)

Collapse
 
eaeniko profile image
Nikolai Cinotti

Link da imagem caso nao apareca abaixo: i.prntscr.com/aIgBEsJcQ1KF2OCRZlby...

Collapse
 
guipatriota profile image
Guilherme D. Patriota • Edited

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...

Collapse
 
erickrock profile image
Erick Garcia Godoy

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".

Collapse
 
yagomaia profile image
Yago

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 ?

Collapse
 
erickrock profile image
Erick Garcia Godoy

Vlw!

Está se referindo a literalmente utilizar os path como configuração de algum software ou voce quer rodar algo instalado no Windows apenas?

Collapse
 
d3lmaschio profile image
Matheus Delmaschio

Valeu, ficou show de bola.

Collapse
 
jeanfuchs profile image
Jean Carlos Fuchs Cordeiro

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.

Collapse
 
geovanek profile image
Geovane Krüger • Edited

Estranho, pra mim continuava abrindo o bash como padrão no Windows Terminal.
Tive que alterar manualmente nas configurações do windows terminal

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
erickrock profile image
Erick Garcia Godoy

Vlw pelo feedback mano! Desculpa a demora em responder kkk

Collapse
 
g4brielpeixoto profile image
Gabriel Peixoto

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

Collapse
 
rruffer profile image
Rodolfo Ruffer • Edited

Fala Gabriel.

Eu coloquei essas linhas antes da linha que dá o erro e funcionou (arquivo .zshrc):

ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
#mkdir -p "$(dirname $ZINIT_HOME)"
#git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
source "${ZINIT_HOME}/zinit.zsh"
Enter fullscreen mode Exit fullscreen mode

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...

Collapse
 
g4brielpeixoto profile image
Gabriel Peixoto

Muito obrigado Rodolfo! Deu certo aqui.

Collapse
 
michellelira profile image
Michelle Lira (she/her)

Este tutorial definitivamente me salvou. Super obrigada!

Collapse
 
ruandev profile image
Ruan Victor

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

Collapse
 
naygo profile image
Nayla Gomes

Ficou muito show aqui, obrigada :D
Só não estou conseguindo usar os comando do node, tenho que instalar ele pelo terminal para que funcione? E assim para outros demais pacotes?

Collapse
 
erickrock profile image
Erick Garcia Godoy • Edited

De nada poxa! Fico feliz que gostou.
Sim, o bash ou o zsh vão buscar os comandos e alias todos daquele sistema linux, se o node estiver no Windows apenas não vai funcionar.
É possível realizar alguns comandos Windows diretamente pelo linux, mas é necessário criar um alias no linux que invoque comandos Windows. Me manda msg no twitter pra me lembrar de como fazer isso, posso ajudar.

Collapse
 
viniciusbe profile image
Vinícius Bernardes

Muito bom, deu tudo certo aqui !!

Collapse
 
danilobrun profile image
danilobrun

o comando -> code não funciona dentro do meu wsl 2 após instalar o zsh.
alguém para dar um help?

Collapse
 
joaoflach profile image
JoaoFlach

Top! Pra mim só não deu certo a parte do spaceship theme. Não sei o que fiz de errado, but I will figure it out. :)

Collapse
 
redspaace profile image
Nycollas

eu só tiver problema na hora de instalar o ZSH em si. O terminal retorna:
Não é possível localizar um parâmetro que coincida com o nome de parâmetro 'fsSL'.

Alguém mais com esse problema?

Collapse
 
thecomitre profile image
Bruno Comitre

O que falar do Erick...

Nem conheço, mas considero pakas...

Collapse
 
danilobrun profile image
danilobrun

Para quem teve problemas para rodar o vscode dentro do wsl2 # code .
reiniciem seu WSL via powershell como admin.
wsl --shutdown
wsl

Collapse
 
eder_oks profile image
Eder Ouriques

algo de errado não deu certo 😢

prnt.sc/lf20Ia-7EMGy

Alguém consegue me ajudar?

Collapse
 
henriquegrizzo profile image
HenriqueGrizzo

Eu estou tentando mas eu chego mais ou menos na parte de migrar a distro ele me diz que não tem nada instalado MESMO eu já tendo instalado a distro do ubunto no windows, tem como me ajudar?

Collapse
 
lucianobarauna profile image
Luciano Baraúna

Muito bom mano !!