Tutorial: configurar um prompt personalizado para o PowerShell ou WSL com o Oh My Posh
Este tutorial fornece alguns recursos e orientações para ajudar você a personalizar o prompt de comando para o PowerShell ou WSL (Subsistema do Windows para Linux) usando o Oh My Posh. O Oh My Posh oferece funcionalidades de temas para uma experiência de prompt de comando totalmente personalizado com prompts e codificações de cores de status do Git.
Neste tutorial, você aprenderá como:
Instalar uma fonte Nerd
Prompts de comando personalizados geralmente usam glifos (um símbolo gráfico) para estilização. Se a sua fonte não incluir os glifos adequados, você poderá ver vários caracteres de substituição Unicode '▯' pelo prompt. Para ver todos os glifos em seu terminal, recomendamos instalar uma Fonte Nerd.
Se você quiser uma fonte parecida com o Cascadia Code, a fonte Nerd Caskaydia Cove foi criada com base no repositório do Cascadia Code por um membro da comunidade).
Após o download, será necessário descompactar e instalar a fonte no sistema. Como adicionar uma nova fonte ao Windows.
Para definir uma fonte Nerd para uso com o Oh My Posh e o Terminal Icons, abra a interface do usuário de configurações do Terminal do Windows selecionando Configurações (Ctrl + ,) no menu suspenso do Terminal do Windows. Selecione o perfil em que você deseja aplicar a fonte, o PowerShell, por exemplo, e, em seguida, a guia Aparência. No menu suspenso Tipo da Fonte, selecione Fonte Nerd CaskaydiaCove ou qualquer fonte Nerd que você queira usar com o prompt personalizado.
Observação
Se você quiser usar uma fonte de terminal que não dê suporte a ícones de glifo, como Cascadia Code PL, considere usar um tema do Oh My Posh que contenha a função minimal
, indicando que ícones adicionais não são necessários.
Personalizar o prompt do PowerShell com o Oh My Posh
O Oh My Posh permite que você use um conjunto de cores completo para definir e renderizar seu prompt de terminal, incluindo a capacidade de usar temas internos ou criar o próprio tema personalizado.
Instalar o Oh My Posh para PowerShell
Para personalizar o prompt do PowerShell, instale o Oh My Posh usando o winget. Insira o comando:
winget install oh-my-posh
Isso instalará:
oh-my-posh.exe
: o executável do Windowsthemes
: os temas mais recentes do Oh My Posh
Você precisará concordar com os termos de origem e pode encontrar a instância em que mais de um pacote está disponível. Nesse caso, selecione a ID do pacote que você deseja usar e insira novamente o comando: winget install <package ID>
.
Para usar a versão da Microsoft Store do Oh My Posh, que será atualizada automaticamente quando novas versões estiverem disponíveis, use o comando:
winget install XP8K0HKJFRXGCK
Insira oh-my-posh version
para confirmar o número de versão de sua instalação Oh My Posh. Para garantir que você tenha as atualizações mais recentes, use o seguinte comando: winget upgrade oh-my-posh
.
Observação
Se você quiser instalar a versão mais recente do Oh My Posh no PowerShell, convém primeiro remover os arquivos armazenados em cache do módulo OMP e desinstalar o módulo antigo. Essas são instruções sobre como fazer isso nos documentos do Oh My Posh. Se você estiver mais familiarizado com o instalador Scoop ou um método de instalação manual que permita automação, eles também poderão ser usados para instalação no Windows, basta seguir as instruções nos documentos do Oh My Posh.
Escolher e aplicar um tema de prompt do PowerShell
Você pode procurar a lista completa de temas na página de temas do Oh My Posh.
Escolha um tema e atualize seu perfil do PowerShell com este comando. Você pode substituir notepad
pelo o editor de texto de sua escolha.
notepad $PROFILE
Adicione o conteúdo a seguir ao final do seu arquivo de perfil do PowerShell para definir o tema paradox
. Substitua paradox
pelo tema de sua escolha.
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression
Agora, cada nova instância do PowerShell será iniciada com a importação do Oh My Posh e a definição do seu tema de linha de comando.
Observação
Este não é o seu perfil do Terminal do Windows. Seu perfil do PowerShell é um script que é executado toda vez que o PowerShell é iniciado. Saiba mais sobre os perfis do PowerShell.
Dica
O Oh My Posh pode ser configurado para restaurar o diretório de trabalho atual habilitando osc99
nas Configurações Gerais. Confira os documentos do Oh My Posh.
Personalizar o prompt do WSL com o Oh My Posh
Agora o Oh My Posh permite que você personalize os prompts do WSL, assim como faria com um prompt do PowerShell usando temas integrados.
Instalar o Oh My Posh para WSL
É recomendável instalar o Oh My Posh para WSL, seja usando Bash, Zsh ou outro meio, seguindo o guia de instalação do Linux na documentação do Oh My Posh.
Atualmente, o caminho recomendado para personalizar prompts do WSL com o Oh My Posh usa o gerenciador de pacotes Homebrew para instalação. (Agora o Homebrew funciona com o WSL!) Ao instalar o Homebrew para Linux, siga as instruções das Próximas etapas para adicionar o Homebrew ao PATH e ao script de perfil do shell do bash.
O Homebrew instalará:
oh-my-posh
– Executável, adicionado a /usr/local/binthemes
– Os temas mais recentes do Oh My Posh
Escolher e aplicar um tema de prompt do WSL
Os temas do Oh My Posh serão encontrados no diretório oh-my-posh como arquivos JSON. Encontre-os inserindo cd $(brew --prefix oh-my-posh)
e, em seguida, basta inserir cd themes
e ls
para obter a lista. Para o Ubuntu-20.04 em execução via WSL, o caminho provavelmente será algo como: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes
. Você também pode ver a aparência dos temas nos documentos do Oh My Posh: Temas.
Para usar um tema, copie-o da pasta themes
para sua pasta $Home
e, em seguida, adicione essa linha à parte inferior do arquivo .profile
encontrado na sua pasta $Home
:
eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"
Você pode substituir jandedobbeleer.omp.json
pelo nome do tema que preferir usar, desde que ele seja copiado para sua pasta $Home
.
Como alternativa, se você estiver usando o oh-my-posh no Windows com o PowerShell e com o WSL, poderá compartilhar o tema do PowerShell com o WSL apontando para um tema na pasta base do seu usuário do Windows. No caminho da distribuição .profile
do WSL, substitua ~ pelo caminho: /mnt/c/Users/<WINDOWSUSERNAME>
. Substituindo <WINDOWSUSERNAME>
por seu próprio nome de usuário do Windows.
Você pode personalizar os temas Oh My Posh, se quiser.
Use Terminal-Icons para adicionar ícones de pastas ou arquivos ausentes
Terminal-Icons é um módulo do PowerShell que adiciona ícones de arquivo e pasta que podem estar ausentes ao exibir arquivos ou pastas no Terminal do Windows, procurando o ícone apropriado com base no nome ou na extensão. Ele tenta usar ícones para arquivos/pastas conhecidos, mas usa um ícone de arquivo ou pasta genérico se não encontrar o ícone específico.
Para instalar Terminal-Icons com o PowerShell, use o comando:
Install-Module -Name Terminal-Icons -Repository PSGallery
Para obter mais informações, incluindo como usar e os comandos, confira o repositório Terminal-Icons no GitHub.
Recursos adicionais
- Documentação do Oh My Posh
- Repositório do Terminal-Icons
- Documentação Posh-Git: Posh-Git é um módulo do PowerShell que integra o Git e o PowerShell fornecendo informações resumidas de status do Git que podem ser exibidas no prompt do PowerShell.
- Documentação do PowerLine: o Powerline é um plug-in de linha de status para vim que fornece linhas de status e prompts para vários outros aplicativos, incluindo zsh, bash, tmux, IPython, Awesome, i3 e Qtile.