美化你的 PowerShell
本文针对 Win11 操作系统的 PowerShell。其实文档已经写的很清楚了,本文是为了方便萌新快速上手,如果你对文档已经很熟悉了,那么这篇文章可能对你来说没什么用。
安装
打开 Oh My Posh,找到 Docs 页,选择 Windows 菜单
打开 PowerShell 终端并运行以下命令:
1 | winget install JanDeDobbeleer.OhMyPosh -s winget |
这会安装一些东西:
oh-my-posh.exe
- Windows 可执行文件themes
- 最新的 Oh My Posh 主题
安装完成后重启终端
安装字体
打开 Fonts 菜单。
为什么需要 Nerd 字体?因为 Oh My Posh 的主题里用的 Icons 都是需要 Nerd 字体支持,否则会显示乱码
访问 https://www.nerdfonts.com/ 可以看到Nerd 字体支持众多 Icons
在 PowerShell 运行以下命令:
1 | oh-my-posh font install --user |
这里不加 –user 的话就用管理员身份打开 PowerShell 执行这条命令,这个命令是一个 Nerd 字体的 CLI
这里我选择安装 FiraCode 字体,想安装其他字体请自行选择
如果觉得上面命令 CLI 没有体现字体具体样式可以进入 Downloads 页面自行安装各种 Nerd Font,看自己喜好,下载好后解压安装即可
安装完字体后要在终端中启用选项 Use the new text renderer (AtlasEngine)
打开终端的设置- 呈现 - 打开 - 保存
字体安装完要配置后才能使用:在终端上按住(快捷方式: CTRL + SHIFT + ,
)会自动打开 settings.json
文件,在 profiles
中的 defaults
属性下添加 font.face
属性:这里指定你安装的字体即可
具体可看:https://ohmyposh.dev/docs/installation/fonts#configuration
设置默认的 Prompt
https://ohmyposh.dev/docs/installation/prompt
如果您不知道当前使用的是哪个 shell,Oh My Posh 有一个实用程序开关可以告诉您这一点。
终端执行这个命令:
1 oh-my-posh get shell
我这里是 PowerShell 我就按照 PowerShell 的文档来
编辑 PowerShell 配置文件脚本
1 | notepad $PROFILE |
当上述命令出现错误时,请确保首先创建配置文件
1 | New-Item -Path $PROFILE -Type File -Force |
在这种情况下,PowerShell 也可能会阻止运行本地脚本。要解决此问题,请将 PowerShell 设置为仅要求使用 : 1
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
然后再执行
1 | notepad $PROFILE |
会打开一个 PowerShell_profile.ps1
一个文本文件
添加以下行
1 | oh-my-posh init pwsh | Invoke-Expression |
添加后,重新加载以使更改生效。
1 | . $PROFILE |
再次打开 PowerShell 终端就会显示默认的主题终端了
更换 PowerShell Theme
https://ohmyposh.dev/docs/themes
在 PowerShell,中可以使用以下 PowerShell cmdlet 显示每个可用主题。
1 | Get-PoshThemes |
也可以直接在 Theme 找到自己想要的主题后,复制主题名字,这里我选择的是 neko
主题
打开文档的 Customize 菜单项,这里是设置配置/主题 脚本文件
在终端中执行以下命令,打开的就是刚才的 PowerShell_profile.ps1
脚本文件
1 | notepad $PROFILE |
里面默认内容是 oh-my-posh init pwsh | Invoke-Expression
根据文档说明要设置新的配置/主题,您需要更改 profile
或 .<shell>rc
脚本中 oh-my-posh init <shell>
行的 --config
选项,并将其指向预定义主题或自定义配置的位置。他处理两种可能得值一个是本地配置文件路径和远程配置URL,这里选择远程的配置即可,以下内容覆盖到配置文件中去
1 | oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/neko.omp.json' | Invoke-Expression |
如果要更换其他主题直接替换圈中的 Json
名即可
更改后,重新加载你的个人资料以使更改生效。
1 | . $PROFILE |
再次打开终端可以看到主题更新了