← Back to home

Powershell Custom

By Pscodium · 8/3/2026 · 10 views

🚀 Tutorial completo: Oh My Posh no Windows Terminal + Temas + Plugins

Este guia mostra como transformar o Windows Terminal + PowerShell em um terminal moderno e personalizado usando:

  • 🎨 Oh My Posh
  • 🔤 Nerd Font
  • 🖼️ Temas personalizados
  • 📁 Terminal-Icons
  • ⌨️ PSReadLine
  • 🧭 zoxide
  • 🔎 PSFzf
  • ⚡ Autocomplete e sugestões baseadas no histórico
  • 🛠️ Aliases e funções úteis

[!TIP]O recomendado é utilizar o Windows Terminal com PowerShell 7. O Oh My Posh também funciona no Windows PowerShell 5.1, mas o PowerShell 7 oferece uma experiência mais moderna.


1. Pré-requisitos

Abra o Windows Terminal usando o PowerShell.

Para verificar a versão do PowerShell:

$PSVersionTable.PSVersion

Se você estiver usando PowerShell 7, deverá aparecer algo como:

Major  Minor  Patch
-----  -----  -----
7      x      x

Se estiver usando o Windows PowerShell antigo, normalmente aparecerá:

5      1      x

[!NOTE]Se você quiser instalar o PowerShell 7, procure por PowerShell na Microsoft Store ou instale pelo site oficial da Microsoft.


2. Instalar o Oh My Posh

A maneira mais simples atualmente é utilizar o winget.

Execute:

winget install JanDeDobbeleer.OhMyPosh --source winget

Depois da instalação, feche o Windows Terminal e abra novamente.

Verifique se o Oh My Posh está funcionando:

oh-my-posh version

Se aparecer a versão instalada, está tudo certo.

[!TIP]Caso o comando não seja encontrado imediatamente, feche completamente o Windows Terminal e abra uma nova janela.


3. Instalar uma Nerd Font

Os temas do Oh My Posh utilizam diversos símbolos e ícones.

Para que esses símbolos apareçam corretamente, é recomendado instalar uma Nerd Font.

Uma opção muito popular é:

CaskaydiaCove Nerd Font

Outra opção é:

MesloLGM Nerd Font

Você pode escolher qualquer Nerd Font que preferir.

Depois de instalar a fonte no Windows, abra o:

Windows Terminal

Entre em:

Settings

Depois:

Profiles
→ Defaults
→ Appearance
→ Font face

Selecione a fonte Nerd Font instalada.

Por exemplo:

CaskaydiaCove Nerd Font

Salve as alterações.

[!IMPORTANT]A fonte configurada no Windows Terminal deve ser a mesma fonte Nerd Font instalada no Windows. Caso contrário, os ícones do Oh My Posh podem aparecer como quadrados ou caracteres estranhos.


4. Criar o perfil do PowerShell

O PowerShell possui um arquivo chamado $PROFILE.

Esse arquivo é executado automaticamente sempre que o PowerShell é iniciado.

Para descobrir onde ele está:

$PROFILE

Para verificar se ele existe:

Test-Path $PROFILE

Se retornar:

False

crie o arquivo:

New-Item -Type File -Path $PROFILE -Force

Agora você pode abrir o perfil no Notepad:

notepad $PROFILE

Ou, se você usa VS Code:

code $PROFILE

5. Escolher um tema do Oh My Posh

O Oh My Posh possui diversos temas prontos.

Para descobrir onde os temas estão instalados:

$env:POSH_THEMES_PATH

Você pode listar os temas disponíveis:

Get-ChildItem $env:POSH_THEMES_PATH

Os temas possuem arquivos como:

paradox.omp.json
jandedobbeleer.omp.json
agnoster.omp.json
atomic.omp.json
avit.omp.json
blue-owl.omp.json
capr4n.omp.json
catppuccin.omp.json
clean-detailed.omp.json
cobalt2.omp.json
craver.omp.json
darkblood.omp.json
emodipt.omp.json
fish.omp.json
hul10.omp.json
powerlevel10k_lean.omp.json
powerlevel10k_rainbow.omp.json
robbyruss.omp.json
slim.omp.json
tokyo.omp.json

Você pode visualizar os temas disponíveis na galeria oficial do Oh My Posh.


6. Testar um tema temporariamente

Antes de configurar o tema permanentemente, você pode testá-lo.

Por exemplo:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Se quiser testar outro:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\tokyo.omp.json" | Invoke-Expression

Outro:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\catppuccin.omp.json" | Invoke-Expression

Outro:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_lean.omp.json" | Invoke-Expression

O tema será aplicado apenas à sessão atual.

Isso é ótimo para experimentar diferentes temas.


7. Configurar o tema permanentemente

Depois de escolher o tema, abra seu perfil:

notepad $PROFILE

Adicione:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Troque:

paradox

pelo tema que você escolheu.

Por exemplo:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\tokyo.omp.json" | Invoke-Expression

Salve o arquivo.

Agora reinicie o Windows Terminal.

Seu tema será carregado automaticamente sempre que o PowerShell iniciar.


8. Instalar Terminal-Icons

O Terminal-Icons adiciona ícones para arquivos e pastas diretamente no PowerShell.

Instale com:

Install-Module -Name Terminal-Icons -Repository PSGallery

Se aparecer uma confirmação sobre o repositório, confirme.

Depois, abra seu perfil:

notepad $PROFILE

Adicione:

Import-Module Terminal-Icons

Agora, quando você executar:

ls

ou:

Get-ChildItem

os arquivos e diretórios terão ícones.


9. Configurar autocomplete com PSReadLine

O PowerShell possui o módulo PSReadLine, que permite configurar sugestões e autocomplete.

Verifique se está instalado:

Get-Module PSReadLine -ListAvailable

Você pode instalar ou atualizar usando:

Install-Module PSReadLine -Scope CurrentUser -Force

Agora abra o perfil:

notepad $PROFILE

Adicione:

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows

Isso habilita sugestões baseadas nos comandos que você já executou.

Por exemplo, se você já executou:

npm run build

e começar a digitar:

npm

o PowerShell poderá sugerir comandos anteriores.

Você pode navegar pelas sugestões usando:

↑
↓

ou selecionar uma sugestão da lista.


10. Habilitar autocomplete com Tab

O PowerShell já possui autocomplete com a tecla:

TAB

Por exemplo:

cd Doc

Pressione:

TAB

O PowerShell tentará completar:

Documents

Você também pode usar o Tab para completar:

  • nomes de arquivos
  • pastas
  • comandos
  • parâmetros
  • módulos
  • comandos do Git

11. Instalar zoxide

O zoxide é uma alternativa inteligente ao cd.

Ele aprende quais diretórios você acessa com frequência.

Depois de instalado, você poderá fazer algo como:

z projeto

E ele pode encontrar automaticamente um diretório que você acessa frequentemente contendo projeto no caminho.

Instale usando:

winget install ajeetdsouza.zoxide

Depois, abra o perfil:

notepad $PROFILE

Adicione:

Invoke-Expression (& { (zoxide init powershell | Out-String) })

Reinicie o PowerShell.

Agora você pode usar:

z nome-da-pasta

Para listar diretórios conhecidos:

zoxide query -l

12. Instalar PSFzf

O PSFzf combina PowerShell com o fzf, permitindo pesquisar arquivos, diretórios e histórico de comandos de forma interativa.

Instale o fzf:

winget install junegunn.fzf

Depois instale o módulo:

Install-Module PSFzf -Scope CurrentUser -Force

Abra seu perfil:

notepad $PROFILE

Adicione:

Import-Module PSFzf

Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f'
Set-PsFzfOption -PSReadLineChordReverseHistory 'Ctrl+r'

Agora:

Ctrl + F

pode ser utilizado para pesquisar arquivos e diretórios.

E:

Ctrl + R

para pesquisar no histórico de comandos usando uma interface fuzzy search.


13. Instalação completa recomendada

Depois de configurar tudo, seu $PROFILE pode ficar assim:

# ==========================================
# OH MY POSH
# ==========================================

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\tokyo.omp.json" | Invoke-Expression


# ==========================================
# TERMINAL ICONS
# ==========================================

Import-Module Terminal-Icons


# ==========================================
# PSREADLINE
# ==========================================

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows


# ==========================================
# ZOXIDE
# ==========================================

Invoke-Expression (& { (zoxide init powershell | Out-String) })


# ==========================================
# PSFZF
# ==========================================

Import-Module PSFzf

Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f'
Set-PsFzfOption -PSReadLineChordReverseHistory 'Ctrl+r'

Salve o arquivo e reinicie o Windows Terminal.


14. Criar aliases úteis

Você também pode adicionar seus próprios aliases ao $PROFILE.

Por exemplo:

Set-Alias ll Get-ChildItem
Set-Alias c Clear-Host

Agora:

ll

é equivalente a:

Get-ChildItem

E:

c

limpa o terminal.


15. Criar funções personalizadas

Para comandos mais complexos, você pode criar funções.

Por exemplo:

function .. {
    Set-Location ..
}

Agora:

..

volta uma pasta.

Você também pode criar:

function ... {
    Set-Location ../..
}

Assim:

...

volta duas pastas.

Outro exemplo:

function home {
    Set-Location $HOME
}

Agora:

home

leva você diretamente para sua pasta de usuário.


16. Criar comandos rápidos para projetos

Se você trabalha com programação, pode criar atalhos para seus projetos.

Por exemplo:

function projeto {
    Set-Location "C:\Users\SeuUsuario\Documents\Projetos\MeuProjeto"
}

Agora basta executar:

projeto

Para entrar diretamente na pasta.

Você também pode criar comandos para abrir o VS Code:

function codeprojeto {
    Set-Location "C:\Users\SeuUsuario\Documents\Projetos\MeuProjeto"
    code .
}

Agora:

codeprojeto

entra na pasta e abre o projeto no VS Code.


17. Recarregar o perfil sem reiniciar o terminal

Depois de modificar o $PROFILE, você pode recarregar as configurações usando:

. $PROFILE

Isso executará novamente o seu perfil.

Caso você tenha alterado o tema do Oh My Posh e queira atualizar:

. $PROFILE

18. Verificar se tudo está funcionando

Execute:

oh-my-posh version

Depois:

Get-Module Terminal-Icons

Depois:

Get-Module PSReadLine

Depois:

zoxide --version

E:

fzf --version

Se todos retornarem informações de versão ou módulo, sua instalação está funcionando.


19. Resultado final

Com tudo configurado, sua experiência ficará aproximadamente assim:

╭─ user@PC ~/Projetos/meu-projeto  main
╰─ ❯

Você terá:

🎨 Oh My Posh
    └── Tema personalizado

🔤 Nerd Font
    └── Ícones e símbolos

📁 Terminal-Icons
    └── Ícones para arquivos e pastas

⌨️ PSReadLine
    ├── Histórico inteligente
    ├── Autocomplete
    └── Sugestões de comandos

🧭 zoxide
    └── Navegação inteligente entre diretórios

🔎 PSFzf
    ├── Busca fuzzy de arquivos
    └── Busca no histórico

🛠️ PowerShell Profile
    ├── Aliases
    ├── Funções
    └── Atalhos personalizados

20. Meu $PROFILE recomendado

Para um setup de desenvolvedor, eu recomendo começar com algo simples:

# ==========================================
# OH MY POSH
# ==========================================

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\tokyo.omp.json" | Invoke-Expression


# ==========================================
# TERMINAL ICONS
# ==========================================

Import-Module Terminal-Icons


# ==========================================
# PSREADLINE
# ==========================================

Import-Module PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows


# ==========================================
# ZOXIDE
# ==========================================

Invoke-Expression (& { (zoxide init powershell | Out-String) })


# ==========================================
# PSFZF
# ==========================================

Import-Module PSFzf

Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f'
Set-PsFzfOption -PSReadLineChordReverseHistory 'Ctrl+r'


# ==========================================
# ALIASES
# ==========================================

Set-Alias ll Get-ChildItem
Set-Alias c Clear-Host


# ==========================================
# FUNÇÕES
# ==========================================

function .. {
    Set-Location ..
}

function ... {
    Set-Location ../..
}

function home {
    Set-Location $HOME
}

Depois de salvar:

. $PROFILE

E pronto. Você terá um PowerShell moderno dentro do Windows Terminal, com prompt personalizado, ícones, autocomplete, histórico inteligente, navegação rápida e busca fuzzy.

[!TIP]O mais importante é instalar primeiro o Oh My Posh + Nerd Font, testar alguns temas e só depois adicionar os módulos. Se alguma coisa quebrar, fica muito mais fácil identificar qual componente causou o problema.


🔗 Referências

  • Documentação oficial do Oh My Posh
  • Documentação da Microsoft sobre customização do Windows Terminal
  • Documentação do PowerShell e PSReadLine



Comments

No comments yet.