安装oh my posh
通过应用商店安装
通过命令后安装
winget install oh-my-posh
使用oh my posh
Oh My Posh
安装成功后,Windows Terminal 并不会默认使用 Oh My Posh 来加载 PowerShell。还需要我们进行以下配置。
修改启动脚本
在 Windows PowerShell 命令行中输入$profile
查看 powerShell 的配置文件路径;
在该目录下新建 Microsoft.PowerShell_profile.ps1
文件(有时上级目录也会没有,记事本会报打不开该文件或找不到该文件,也需要对应创建)
powershell
notepad $PROFILE //用自带的记事本编辑
输入后会自动调用记事本打开该文件(Microsoft.PowerShell_profile.ps1)
输入下面代码:
oh-my-posh init pwsh | Invoke-Expression
重新打开powershell
此时界面已经发生变化,但是出现了乱码
4. 安装 Nerd Fonts
出现乱码是因为字体不支持图标导致的。我们需要安装 字体。打开 Nerd Fonts 字体的下载地址,选择喜欢的字体下载,我使用的是JetBrains Mono Nerd Font
解压安装该字体文件,选中所有字体,右键选择安装即可
使用该字体
字体安装成功后,需要把终端的使用字体配置为我们下载的字体
配置好字体后重新打开终端,就可以看到我们美化后的效果了。
选择主题
Oh My Posh
官方提供了许多开箱即用的主题供我们选择。
访问链接:https://ohmyposh.dev/docs/themes,即可查看主题预览效果。
在 Windows PowerShell 命令行中输入
Get-PoshThemes
也可以预览,在输出内容的最下面可以查看主题预设文件的路径。
每个主题下方的文字即为主题所在目录
修改主题
在 Windows PowerShell 命令行中输入
vscode $profile
或notepad $profile
命令打开 PowerShell 的配置文件,在配置文件中加入主题预设文件路径。格式:oh-my-posh init pwsh --config '$env:POSH_THEMES_PATH\[主题名].omp.json' | Invoke-Expression 例:oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression
报错解决
安装主题完毕后重新打开powershell会发现报了一堆错误,但是可以看到样式确实变化了
是因为PowerShell 环境中的 PSReadLine
模块版本不兼容。升级 PSReadLine
模块到最新版本:注意需要使用管理员权限升级,不然会提示权限不足
Install-Module PSReadLine -Scope CurrentUser -Force
升级完毕后重新打开
最终效果
其他插件
通过修改Microsoft.PowerShell_profile.ps1文件,增加其他实用功能
# 插件类似zsh的各种插件
Import-Module PSReadLine # 历史命令联想
# 设置预测文本来源为历史记录
Set-PSReadLineOption -PredictionSource History
# 设置 Tab 为菜单补全和 Intellisense
Set-PSReadLineKeyHandler -Key "Tab" -Function MenuComplete
效果
评论