DEV Community

Tarcísio Giroldo
Tarcísio Giroldo

Posted on

11 1 1 1 1

🚀 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. 🤖💡

Image of Docusign

Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay