在 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-Bold.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 后重试
参考文献: