在 Windows 中为 PowerShell 配置 Oh My Posh
前言
使用 Windows 的时候我们或多或少会接触到 CMD 或 (Windows) PowerShell 等命令行工具,使用命令行工具时难免会觉得单调,这时就可以给 (Windows) PowerShell 配置 Oh My Posh 以美化,使其使用更加顺手及美观
准备工具
- 可选,(Windows 11 及更高版本自带):
Windows Terminal(最低支持 Windows 10 19041,即 Windows 10 2004。老版本最低支持到 Windows 10 17763,即 Windows 10 1809) - 可选:
PowerShell,推荐使用 MSI 包安装
扩展阅读:Windows PowerShell 5.1 和 PowerShell 7.x 之间的差异 - Microsoft Learn
Oh My Posh支持 Windows PowerShell 和 PowerShell,你可以选择只在 Windows PowerShell 中配置 - Oh My Posh
推荐选择install-arm64.msi(ARM64)或install-x64.msi(64 位),install-arm64.msix(ARM64)或install-x64.msix(64 位)若你不知道你的 Windows 架构,请参阅:检查 CPU 与 Windows 的架构
- Nerd Fonts
官方推荐使用 MesloLG Nerd Font,选择Meslo.zip下载即可,我安装的是MesloLGMNerdFont-Regular.ttf
安装并配置
仅 .MSI 安装需要配置环境变量,.MSIX 安装不需要配置环境变量
MSI 安装程序配置环境变量
安装完成 Oh My Posh 后,按下 WIN + R 以打开“运行”,输入 %LocalAppData%\Programs\oh-my-posh\bin 后按下 Enter,在打开的文件资源管理器窗口中右键顶部的地址栏,并选择“复制地址”

再次按下 WIN + R 以打开“运行”,输入 SystemPropertiesAdvanced.exe 后按下 Enter 以打开“高级系统设置”
点击右下角的“环境变量(N)…”,在“系统变量(S)”中找到 Path 的变量,并点击“编辑(I)…”,点击右边的“新建(N)”,将复制的 Oh My Posh 安装路径粘贴进去

初始化
推荐使用自动寻找主题文件路径的方案
在(Windows)PowerShell 中输入代码以创建配置文件
1 | notepad.exe $PROFILE |
如果没有此文件,则通过命令手动创建
1 | New-Item -Path $PROFILE -Type File -Force |
在打开空白的配置文件后,将以下代码内容粘贴并保存
自动寻找主题文件路径(推荐):
1 | oh-my-posh.exe init pwsh --config "jandedobbeleer" | Invoke-Expression |
带有指定的主题文件路径:
1 | oh-my-posh.exe init pwsh --config "$Env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression |
若是 Windows PowerShell
自动寻找主题文件路径(推荐):
1 | oh-my-posh.exe init powershell --config "jandedobbeleer" | Invoke-Expression |
带有指定的主题文件路径:
1 | oh-my-posh.exe init powershell --config "$Env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression |
- Windows PowerShell 的配置文件将会存储在:
%UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 - PowerShell 的配置文件将会存储在:
%UserProfile%\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 - 主题配置储存在:
$Env:POSH_THEMES_PATH,即%LocalAppData%\Programs\oh-my-posh\themes,即C:\Users\<用户名>\AppData\Local\Programs\oh-my-posh\themes
完成后输入命令或重启终端/(Windows)PowerShell 以应用主题
1 | . $PROFILE |
美化
更换主题
若没有正确存放主题文件,则会提示 CONFIG NOT FOUND。使用 .MSI 安装的 Oh My Posh 会将主题存放在 %LocalAppData%\Programs\oh-my-posh\themes 下,使用 .MSIX 安装的 Oh My Posh 则弃用了这个特性,在配置文件中使用 --config "<主题名称>" 即可,此方法同样适用于 .MSI[3]
从官网查看主题:https://ohmyposh.dev/docs/themes
从终端查看主题:Get-PoshThemes
打开配置文件,并替换其中的 jandedobbeleer 字段
例如我更换主题为 powerlevel10k_rainbow,那么配置文件的代码是这样
自动寻找主题文件路径(推荐):
1 | oh-my-posh.exe init pwsh --config "powerlevel10k_rainbow" | Invoke-Expression |
带有指定的主题文件路径:
1 | oh-my-posh.exe init pwsh --config "$Env:POSH_THEMES_PATH/powerlevel10k_rainbow.omp.json" | Invoke-Expression |
若是 Windows PowerShell
自动寻找主题文件路径(推荐):
1 | oh-my-posh.exe init pwsh --config "powerlevel10k_rainbow" | Invoke-Expression |
带有指定的主题文件路径:
1 | oh-my-posh.exe init powershell --config "$Env:POSH_THEMES_PATH/powerlevel10k_rainbow.omp.json" | Invoke-Expression |
更换字体
在终端中打开“设置” > “配置文件” > Windows PowerShell(或 PowerShell) > “外观” > “字体”
将字体设置为 MesloLGM Nerd Font 并保存,使用多个字体时用逗号(,)隔开,如 Cascadia Mono, MesloLGM Nerd Font

后记
最终效果

.MSI 的方式安装的应该不限制 Windows 的版本,或许 Windows 7 都能用(?)
自 Windows 10 版本 1709 起,Windows 才支持 .MSIX,早于 Windows 10 版本 1709 的 Windows,请参阅:MSIX 核心 - MSIX | Microsoft Learn
对于 Windows 7/8/8.1,建议尝试更新 Windows PowerShell 版本,请参阅:升级 Windows PowerShell 版本