Oh My Posh在windows上面的使用
Windows 终端美化笔记
一、安装必要工具
Windows + X 然后打开powershell
- Oh My Posh
# 使用 winget 安装
winget install JanDeDobbeleer.OhMyPosh -s winget
# 安装字体
oh-my-posh font install
# 选择并安装 FiraCode Nerd Font
二、配置 Oh My Posh
- 创建 PowerShell 配置文件
# 查看配置文件路径
输入:
echo $PROFILE
会返回:
goodm echo $PROFILE
C:\Users\goodm\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
然后可以直接去目录下面打开,也可以直接:
# 用记事本打开配置文件
notepad $PROFILE
# 使用完整路径初始化 Oh My Posh
C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh | Invoke-Expression
# 如果想使用特定主题,可以这样写:
# C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "$env:POSH_THEMES_PATH\agnoster.omp.json" | Invoke-Expression
- 更换主题
# 查看所有主题
Get-PoshThemes
# 使用特定主题(在配置文件中添加)
C:\Users\你的用户名\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "$env:POSH_THEMES_PATH\agnoster.omp.json" | Invoke-Expression
四、常用主题推荐
- agnoster
- paradox
- powerlevel10k_rainbow
- atomic
- jandedobbeleer
五、注意事项
-
字体问题
- 必须安装 Nerd Font 字体
- Windows Terminal 和 VSCode 都需要设置字体
-
路径问题
- 使用完整路径可以避免找不到命令的问题
- 注意替换配置中的用户名
-
重启生效
- 修改配置后需要重启终端
- 或执行
. $PROFILE
重新加载配置
-
常见问题
-
乱码:检查字体设置
先去:https://www.nerdfonts.com/font-downloads
下载:这个字体
然后:
然后就成功了
-
命令未找到:检查路径配置
-
加载慢:尝试更换更简单的主题
我的配置:
-
#获取所有的主题文件
$AllThemes = Get-ChildItem -Path $env:POSH_THEMES_PATH
#随机选一个主题文件
$RandomTheme = $AllThemes | Get-Random
#获取主题文件名称
$ThemeName = $RandomTheme.BaseName
echo "Lucky theme: $ThemeName "
# 使用 tokyo 主题初始化 Oh My Posh(只需要一次初始化)
C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "C:\Users\goodm\AppData\Local\Programs\oh-my-posh\themes\tokyo.omp.json" | Invoke-Expression
# 设置命令历史提示
Set-PSReadLineOption -PredictionSource History
# 设置命令历史列表提示
Set-PSReadLineOption -PredictionViewStyle ListView
加入随机主题功能:
# 获取所有的主题文件
$AllThemes = Get-ChildItem -Path $env:POSH_THEMES_PATH
# 随机选一个主题文件
$RandomTheme = $AllThemes | Get-Random
# 获取主题文件名称
$ThemeName = $RandomTheme.BaseName
Write-Host "Lucky theme: $ThemeName"
# 使用随机主题初始化 Oh My Posh
oh-my-posh init pwsh --config "$($RandomTheme.FullName)" | Invoke-Expression
# 设置命令历史提示
Set-PSReadLineOption -PredictionSource History
# 设置命令历史列表提示
Set-PSReadLineOption -PredictionViewStyle ListView