DEV Community

Paulo Silva
Paulo Silva

Posted on

Adeus, oh-my-zsh 😭

Por muito tempo usei o zsh com o plugin oh-my-zsh, e segui no modo automático todas as vezes que precisei configurar meu ambiente de desenvolvimento.

Só que, dessa última vez, eu me fiz a pergunta: “o que de fato eu tô usando desse plugin?”

E pra surpresa de zero pessoas, eu tava só seguindo o modus operandi sem nem saber o que tava rolando 😅

Quando abri meu arquivo .zshrc eu fiquei tipo: what? 😂 🤡

Foi aí que decidi deixar o .zshrc o mais limpo possível e me despedir do oh-my-zsh foi necessário (companheiro de longa data 🫡).

Já quero ressaltar que o oh-my-zsh tem muitos recursos como os plugins para diversas ferramentas que vão além da minha simples necessidade que era customizar meu zsh, e pra muita gente, ainda pode ser bem útil continuar usando, no meu caso, não fazia mais sentido.

💡 O que eu realmente precisava pro meu dia a dia?

  • Um terminal com interface mais amigável
  • Alguns alias do Git
  • E uma configuração pra deixar o ls colorido por padrão

Pesquisando um pouco, conheci o Starship.

Como eles mesmos descrevem:

“O prompt mínimo, extremamente rápido e infinitamente personalizável para qualquer shell!”

A diferença foi nítida no carregamento do terminal — e ainda me deu “poderes” pra customizar tudo sem comprometer a performance ⚡

Outro plugin que curti bastante foi o zoxide.

Ele memoriza os diretórios mais utilizados, e depois consigo navegar entre eles só passando o nome — sem precisar digitar o caminho completo.

Mas sem enrolação bora pra instalação e configuração (bem simples!) Estou usando macOS então se você tiver no windows pode ser que mude algumas coisas.

Instalação starship

curl -sS https://starship.rs/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

Configurando starship no zsh

eval "$(starship init zsh)"
Enter fullscreen mode Exit fullscreen mode

Para instalar e configurar o zoxide. Bem simples também

Instalação do binário:

curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

Configurando no zsh

eval "$(zoxide init zsh)"
Enter fullscreen mode Exit fullscreen mode

Coloquei os alias de comandos git que mais utilizo, mas você pode configurar de acordo com sua necessidade.

alias ga="git add"
alias gc="git commit -m"
alias gs="git status"
alias gl="git log --graph --decorate --all"
Enter fullscreen mode Exit fullscreen mode

configurando saída colorida do "ls”

alias ls="ls --color=always"
Enter fullscreen mode Exit fullscreen mode

Adicionei também uma configuração para não precisar ficar digitando "cd” quando for navegar entre diretórios.

setopt autocd
Enter fullscreen mode Exit fullscreen mode

depois de salvar o arquivo .zsh para fazer o terminal carregar essa nova configuração basta rodar o comando no terminal

source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

E pronto 🎉  terminal configurado!

Repare como ficou o arquivo final. Muito clean e agora da para saber o que cada comando está fazendo.

# Move to directories without cd
setopt autocd

# git aliases
alias ga="git add"
alias gc="git commit -m"
alias gs="git status"
alias gl="git log --graph --decorate --all"

# set ls to color output
alias ls="ls --color=always"

eval "$(/Users/paulosilva/.local/bin/mise activate zsh)"

# add VS Code to PATH
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

# setup starship prompt
eval "$(starship init zsh)"

# setup zoxide
eval "$(zoxide init zsh)"

Enter fullscreen mode Exit fullscreen mode

Top comments (0)