Como personalizar o prompt zsh no terminal macOS

Principais conclusões

  • O macOS permite que você personalize o prompt zsh no Terminal para destacá-lo e atender às suas preferências.
  • Crie um perfil .zshrc para armazenar todas as alterações e configurações desejadas no prompt zsh.
  • Modifique o prompt zsh adicionando os valores desejados para variáveis ​​como %n (nome de usuário), %m (nome do modelo do Mac), %W (data) e %T (hora).

Se você deseja que o prompt zsh use uma cor diferente, exiba detalhes adicionais ou adote uma aparência minimalista para aproveitar ao máximo o espaço, o macOS permite que você faça isso. Aprenda como personalizar o prompt zsh no Terminal para destacá-lo independentemente do seu histórico.

Noções básicas do prompt zsh

Quando você abre o aplicativo Terminal no seu Mac, ele exibe algumas informações úteis, como seu último login e o prompt de comando. Esta é a aparência típica do prompt por padrão:

 Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

O prompt zsh mostra uma sequência de texto que consiste em seu nome de usuário e modelo do computador, como MacBook Air, MacBook Pro, Mac mini e assim por diante. O til (~) indica a localização do prompt no diretório inicial.

Se você navegar para um diretório diferente em seu sistema de arquivos via Terminal, o nome do diretório atual será exibido em vez do til.

Crie um perfil Z Shell para armazenar todas as configurações

Normalmente, você deve alterar os arquivos do sistema para alterar a aparência padrão. Isso ocorre porque as atualizações do macOS redefinem todos os arquivos do sistema para o padrão e você perderá todas as alterações feitas. Assim, você pode criar um arquivo de configurações específico (conhecido como dotfile) para o seu perfil zsh para armazenar todas as alterações e configurações desejadas no prompt do zsh.

Você não encontrará esse dotfile por padrão no macOS, então terá que criar um. É recomendado criar um novo perfil .zshrc para armazenar todas as configurações, como a aparência e o comportamento do prompt zsh. Veja como criar o perfil zsh (dotfile):

  Como obter o novo papel de parede dinâmico do macOS Mojave no Windows 10
  • Abra o aplicativo Terminal.
  • Digite o seguinte comando e pressione a tecla Return:
     touch ~/.zshrc 
  • O comando touch só criará o arquivo de perfil .zshrc se ele ainda não existir. Se já existir, o comando não fará nada.

    Isso criará um perfil .zshrc no diretório inicial da sua conta de usuário. Você pode vê-lo no caminho /User// no Finder se tiver habilitado a visualização de arquivos de sistema ocultos em seu Mac.

    Depois disso, o perfil zsh estará disponível para shells interativos sem login sempre que você iniciar o Terminal. No entanto, ele só será usado para shells de login se outros arquivos específicos de login, como .zprofile e .zlogin, não estiverem presentes.

    Personalizando o prompt zsh no Terminal

    Normalmente, o prompt zsh padrão carrega informações como nome de usuário, nome da máquina e localização, começando no diretório inicial do usuário. Esses detalhes são armazenados no arquivo de sistema do shell zsh no local /etc/zshrc:

     PS1="%n@%m %1~ %#" 

    Nesta sequência de variáveis:

    • %n é o nome de usuário da sua conta.
    • %m é o nome do modelo do seu Mac.
    • %1~ significa o caminho do diretório de trabalho atual, onde ~ remove a localização do diretório $HOME.
    • %# significa que o prompt mostrará # se o shell estiver rodando com privilégios de root (administrador) e % se não estiver.

    Para fazer qualquer alteração no prompt zsh padrão, você terá que adicionar valores relevantes para que o prompt apareça de forma diferente do padrão.

    Veja como fazer isso. Abra o Terminal, digite o seguinte comando e pressione Return:

     nano ~/.zshrc 

    Se o arquivo de perfil .zshrc já existia antes, há uma chance de que ele não fique em branco. No entanto, se não existia quando você executou o comando touch acima, ficará em branco. Você pode adicionar uma nova linha com o texto PROMPT=’…’ ou PS1=’…’ e incluir valores relevantes nas reticências.

    Para uma modificação simples no prompt zsh, você pode digitar estes valores no perfil .zshrc:

     PROMPT='%n:~$' 

    Pressione Ctrl + O para confirmar essas alterações no arquivo e, em seguida, pressione Ctrl + X para sair do editor nano.

    Abra uma nova janela do Terminal pressionando Cmd + T para confirmar e visualizar as alterações que acabou de fazer. Seu novo prompt zsh mostrará o nome de usuário do seu Mac, o diretório inicial e o símbolo $ no final. Você pode adicionar espaçamento na variável PROMPT acima entre %n, ~ e $ se preferir que as variáveis ​​sejam espaçadas no Terminal.

      Como ativar automaticamente o Não perturbe ao compartilhar a tela de sua área de trabalho [macOS]

    Se você deseja ter um nome de usuário personalizado, substitua %n pela sua escolha preferida. Aqui está um exemplo:

     PROMPT='customusername~$' 

    Agora, se você abrir uma nova janela do Terminal, verá o seguinte:

    Se desejar alterar manualmente qualquer outro parâmetro, você pode fazê-lo substituindo as variáveis ​​padrão usando o formato da variável PS1 acima. Você pode incluir ou remover informações do prompt zsh de acordo com sua preferência.

    Se isso parece muito complexo, use um site como Gerador de prompt Zsh para ajudá-lo a personalizar seu shell Z.

    Adicione a data e hora ao prompt zsh

    Além do seu nome de usuário, você pode anexar a data ou hora atual, para não precisar desviar o olhar da janela ativa do Terminal para verificar essas informações.

    Inicie o Terminal e abra o perfil .zshrc:

     nano ~/.zshrc 

    Para incluir a data no prompt, você pode usar %D para que a data apareça no formato aa-mm-dd ou %W para que apareça no formato mm/dd/aa. Então, o novo prompt aparecerá assim:

     PROMPT='%n:%W:~$' 

    Usamos dois pontos (:) na variável PROMPT acima para adicionar separação visual, mas você pode usar espaço em branco ou qualquer outra coisa. Por exemplo, usamos o sinal de maior que (>) para separar a hora e o diretório atual.

    Se você deseja incluir a hora do sistema no prompt zsh, adicione %T para a hora atual no formato de 24 horas, %t para que a hora apareça no formato de 12 horas ou use %* para exibir a hora no formato de 24 horas. Formato de hora junto com segundos.

     PROMPT='%n@%T>~$' 

    Exiba a data e a hora à direita do prompt zsh

    Para exibir informações à direita do prompt zsh, você precisa adicionar a variável RPROMPT ao arquivo zshrc. Por exemplo, para adicionar a data e a hora, insira o seguinte:

    RPROMPT='%D @ %T'

    Seu prompt agora ficará assim:

    Adicione cor ao texto no prompt zsh

    Além de modificar o aplicativo Terminal com cores, você pode adicionar um pouco de cor ao texto em seu perfil zsh no Mac para obter uma boa pausa visual. Inicie o Terminal e abra o perfil .zshrc:

     nano ~/.zshrc 

    O shell Z oferece suporte a cores e tons de cinza no texto do prompt para complementar o plano de fundo. Você pode escolher uma cor de primeiro plano (texto) entre estas opções: preto, branco, amarelo, verde, vermelho, azul, ciano e magenta. Veja como usá-los:

     PROMPT='%F{cyan}%n%f:~$' 

    Se quiser escolher um tom de cor zsh específico, você pode escolher entre 256 cores de 8 bits suportadas pelo Terminal. Veja como usar os valores numéricos das cores:

     PROMPT='%F{51}%n%f:~$' 

    Você precisa colocar as variáveis ​​de cor de primeiro plano padrão %F e %f entre o texto relevante que deseja colorir.

      Como ocultar ícones da barra de menus no macOS

    Adicionando efeitos visuais no prompt zsh

    Se colorir o texto do prompt não for suficiente, você pode destacar seu prompt zsh para destacá-lo na parede de texto. Para começar, você pode colocar em negrito o prompt do zsh:

     PROMPT='%B%F{51}%n%f%b:~$' 

    Adicionar %B no início e colocar %b no final entre o texto relevante o deixará em negrito.

    Da mesma forma, você pode colocar %S no início e %s no final para destacar o texto. O destaque terá a mesma cor que você escolheu para aparecer entre as variáveis ​​%S e %s.

     PROMPT='%S%F{51}%n%f%s:~$' 

    Você também pode sublinhar o texto do prompt zsh. Para anexar um sublinhado a um prompt, você pode incluir a variável %U no início e %u no final do texto relevante.

     PROMPT='%U%F{51}%n%f%u:~$' 

    Remova os últimos detalhes de login do prompt zsh

    Ocultar ou desabilitar a linha superior que revela a hora do último login no aplicativo Terminal pode dar uma aparência mais limpa ao seu prompt zsh. Você pode usar o seguinte comando para ocultar essas informações:

     touch ~/.hushlogin 

    Na próxima vez que você abrir o Terminal, não verá nada acima do prompt zsh.

    Redefina sua personalização zsh

    Se precisar começar do zero, você pode fazer isso definindo a variável PROMPT ou PS1 com o valor padrão:

     PROMPT="%n@%m %1~ %#" 

    Se você adicionou informações à direita do prompt zsh usando RPROMPT, exclua-as de .zshrc.

    Como alternativa, você pode excluir com segurança as variáveis ​​PROMPT/PS1 e RPROMPT no arquivo .zshrc. Não se preocupe, pois as configurações no arquivo .zshrc se aplicam apenas ao perfil do usuário atual. Se você excluir os dois, as configurações padrão armazenadas no arquivo de sistema do shell Z em /etc/zshrc serão usadas.

    Agora que você tem todos os detalhes sobre como personalizar o prompt zsh, experimente um pouco e personalize-o. Você pode colocar negrito, sublinhar, encurtar e até incluir mais informações nele. E se você não estiver satisfeito com as alterações, poderá reverter rapidamente para a aparência padrão.