在 Windows 中为 PowerShell 配置 oh-my-posh
前言
使用 Windows 的时候我们或多或少会接触到 CMD 或 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和install-x64.msix我没摸索清楚(雾 - Nerd Fonts
官方推荐使用 MesloLG Nerd Font,选择Meslo.zip下载即可,我安装的是MesloLGMNerdFont-Regular.ttf
安装并配置
配置环境变量
安装完成 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 $PROFILE |
如果没有此文件,则通过命令手动创建
1 | New-Item -Path $PROFILE -Type File -Force |
在打开空白的配置文件后,将以下代码内容粘贴并保存
1 | oh-my-posh init pwsh --config "$Env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression |
如果你使用的是 Windows PowerShell 则内容如下
1 | oh-my-posh 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
完成后输入命令或重启终端/(Windows)PowerShell 以应用主题
1 | . $PROFILE |
美化
更换主题
从官网查看主题:https://ohmyposh.dev/docs/themes
从终端查看主题:Get-PoshThemes
打开配置文件,并替换其中的 jandedobbeleer 字段
例如我更换主题为 powerlevel10k_rainbow,那么配置文件的代码是这样
1 | oh-my-posh init pwsh --config "$Env:POSH_THEMES_PATH/powerlevel10k_rainbow.omp.json" | Invoke-Expression |
如果你使用的是 Windows PowerShell 则内容如下
1 | oh-my-posh init powershell --config "$Env:POSH_THEMES_PATH/powerlevel10k_rainbow.omp.json" | Invoke-Expression |
更换字体
在终端中打开设置 > 配置文件 > Windows PowerShell(或 PowerShell) > 外观 > 字体
将字体设置为 MesloLGM Nerd Font 并保存

后记
最终效果

.MSI 的方式安装的应该不限制 Windows 的版本,或许 Windows 7 都能用(?).MSIX 的或许需要安装 MSIX Core - Microsoft Learn 才能继续使用
可以尝试 给 Windows 7 升级 Windows PowerShell 后重试
参考文献: