DEV Community

Tarcísio Giroldo
Tarcísio Giroldo

Posted on

🚀 Um Guia Prático para Configurar Zsh, Oh My Zsh, asdf e Spaceship Prompt com Zinit para Seu Ambiente de Desenvolvimento

Introdução 🌟

Melhore seu ambiente de desenvolvimento com este guia sobre como instalar e configurar o Zsh, Oh My Zsh, asdf e o tema Spaceship Prompt. Também utilizaremos o Zinit para gerenciamento adicional de plugins. Vamos começar!

🛠️ Passo 1: Instalando o Zsh

O Zsh é um shell robusto que proporciona uma experiência de linha de comando poderosa. Veja como instalá-lo:

🐧 Para Linux (Ubuntu/Debian):

sudo apt update
sudo apt install zsh
chsh -s $(which zsh)
Enter fullscreen mode Exit fullscreen mode

🍎 Para macOS:

O Zsh já vem pré-instalado. Para configurá-lo como seu shell padrão:

chsh -s /bin/zsh
Enter fullscreen mode Exit fullscreen mode

🪟 Para Windows:

Use o WSL (Windows Subsystem for Linux) ou Git Bash. Para WSL:

  1. Instale uma distribuição WSL (por exemplo, Ubuntu) na Microsoft Store.
  2. Instale o Zsh como faria no Ubuntu.

Verifique a instalação:

zsh --version
Enter fullscreen mode Exit fullscreen mode

⚙️ Passo 2: Configurando o Oh My Zsh

O Oh My Zsh simplifica a configuração do Zsh com temas e plugins.

Instale o Oh My Zsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Este script configurará o Oh My Zsh e mudará seu shell padrão para o Zsh.

Configure o Oh My Zsh:

  1. Abra seu arquivo .zshrc:

    nano ~/.zshrc
    
  2. Habilite os plugins:

    plugins=(git asdf)
    
  3. Recarregue sua configuração:

    source ~/.zshrc
    

🔄 Passo 3: Instalando e Configurando o Zinit

O Zinit é um gerenciador de plugins para Zsh, oferecendo um gerenciamento de plugins flexível e rápido.

Instale o Zinit:

  1. Adicione o trecho de instalação do Zinit ao seu .zshrc:

    cat << 'EOF' >> ~/.zshrc
    
    ### Adicionado pelo instalador do Zinit
    if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
        print -P "%F{33} %F{220}Instalando %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
        command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
        command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
            print -P "%F{33} %F{34}Instalação bem-sucedida.%f%b" || \
            print -P "%F{160} A clonagem falhou.%f%b"
    fi
    
    source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
    autoload -Uz _zinit
    (( ${+_comps} )) && _comps[zinit]=_zinit
    
    # Carregue alguns anexos importantes, sem Turbo
    zinit light-mode for \
        zdharma-continuum/zinit-annex-as-monitor \
        zdharma-continuum/zinit-annex-bin-gem-node \
        zdharma-continuum/zinit-annex-patch-dl \
        zdharma-continuum/zinit-annex-rust
    
    ### Fim do trecho de instalação do Zinit
    
    EOF
    
  2. Fonte seu .zshrc:

    source ~/.zshrc
    

🔌 Passo 4: Instalando Plugins Adicionais com Zinit

Use o Zinit para instalar plugins adicionais e enriquecer sua experiência com o Zsh.

Instale plugins usando o Zinit:

  1. Abra seu arquivo .zshrc e adicione os seguintes comandos de plugin do Zinit:

    nano ~/.zshrc
    
  2. Adicione essas linhas para instalar e carregar plugins adicionais:

    zinit light zdharma-continuum/fast-syntax-highlighting
    zinit light zsh-users/zsh-autosuggestions
    zinit light zsh-users/zsh-completions
    
  3. Salve e recarregue seu .zshrc:

    source ~/.zshrc
    

📦 Passo 5: Instalando e Configurando o asdf

O asdf é um gerenciador de versões versátil para várias linguagens.

Instale o asdf:

  1. Clone o repositório do asdf:

    git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3
    
  2. Adicione o asdf ao seu .zshrc:

    echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.zshrc
    echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.zshrc
    source ~/.zshrc
    

Instale plugins do asdf:

  1. Adicione o plugin Node.js:

    asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
    
  2. Instale uma versão específica:

    asdf install nodejs 16.13.0
    asdf global nodejs 16.13.0
    
  3. Adicione o plugin Python:

    asdf plugin-add python https://github.com/danhper/asdf-python.git
    
  4. Instale uma versão específica:

    asdf install python 3.9.7
    asdf global python 3.9.7
    

Gerenciando versões específicas para projetos:

Crie um arquivo .tool-versions no diretório do seu projeto:

nodejs 14.17.6
python 3.8.10
Enter fullscreen mode Exit fullscreen mode

Execute asdf install no diretório do projeto para usar essas versões localmente.

🚀 Passo 6: Configurando o Tema Spaceship Prompt

O tema Spaceship Prompt oferece um prompt elegante e informativo para o Zsh.

Instale o Spaceship Prompt:

  1. Clone o repositório Spaceship:

    git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
    
  2. Crie um link simbólico:

    ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
    
  3. Defina o tema no seu .zshrc:

    ZSH_THEME="spaceship"
    

Configure o Spaceship Prompt:

  1. Crie um arquivo de configuração .spaceshiprc.zsh:

    nano ~/.spaceshiprc.zsh
    
  2. Adicione a seguinte configuração:

    SPACESHIP_USER_SHOW=always
    SPACESHIP_PROMPT_ADD_NEWLINE=false
    SPACESHIP_CHAR_SYMBOL="λ"
    SPACESHIP_CHAR_SUFFIX=" "
    SPACESHIP_PROMPT_ORDER=(
      user          # Seção de nome de usuário
      dir           # Seção de diretório atual
      host          # Seção de nome do host
      git           # Seção do Git (git_branch + git_status)
      package       # Versão do pacote
      node          # Seção do Node.js
      bun           # Seção do Bun
      elixir        # Seção do Elixir
      erlang        # Seção do Erlang
      rust          # Seção do Rust
      docker        # Seção do Docker
      docker_compose # Seção do Docker Compose
      terraform     # Seção do Terraform
      exec_time     # Tempo de execução
      line_sep      # Quebra de linha
      jobs          # Indicador de trabalhos em segundo plano
      exit_code     # Seção de código de saída
      char          # Caractere do prompt
    )
    
  3. Fonte sua configuração no .zshrc:

    echo "source ~/.spaceshiprc.zsh" >> ~/.zshrc
    source ~/.zshrc
    
    

🔠 Passo 7: Adicionando uma Nerd Font para o Spaceship Prompt

Para melhorar a aparência do seu terminal com ícones e glifos adicionais, instale uma Nerd Font.

Instale uma Nerd Font:

  1. Vá para o repositório do Nerd Fonts no GitHub e baixe uma fonte de sua preferência, como Hack ou Roboto Mono.
  2. Siga as instruções de instalação para o seu sistema operacional.

Configure o Emulador de Terminal:

  1. Abra as preferências/configurações do seu emulador de terminal.
  2. Selecione a Nerd Font instalada (por exemplo, Hack Nerd Font ou Roboto Mono Nerd Font) como a fonte para o seu terminal.

Atualize sua Configuração do Zsh:

  1. Abra o arquivo .zshrc:

    nano ~/.zshrc
    
  2. Atualize o SPACESHIP_CHAR_SYMBOL para usar um ícone da Nerd Font (por exemplo, para Hack Nerd Font ou para Roboto Mono Nerd Font):

    SPACESHIP_CHAR_SYMBOL="" # Use o símbolo da Nerd Font apropriado aqui
    
  3. Salve e feche o arquivo.

Fonte sua configuração:

source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

🔧 Passo 8: Outras Configurações Úteis para Zsh

Personalize a História do Comando:

Armazene mais histórico e compartilhe entre sessões:

HISTSIZE=10000
SAVEHIST=10000
setopt share_history
Enter fullscreen mode Exit fullscreen mode

Habilite Correções Automáticas:

Habilite correções para erros comuns de digitação:

setopt correct
Enter fullscreen mode Exit fullscreen mode

🎉 Conclusão

Agora você configurou um ambiente de desenvolvimento robusto e visualmente atraente com Zsh, Oh My Zsh, asdf e o tema Spaceship Prompt, usando Zinit para plugins adicionais. Esta configuração melhorará seu fluxo de trabalho e facilitará o gerenciamento de vários projetos. Feliz codificação!


Leitura Adicional 📚:


Este artigo foi criado e personalizado com a ajuda do ChatGPT. 🤖💡

Top comments (0)