美化我的 Windows Powershell 全纪录
这,是Windows Terminal下的Powershell
在每天的coding中,我都要与它打交道,久而久之,我发现它有点单调,于是我萌生了美化它的想法
前置条件
- Powershell 7+(必须)
- Powershell 的设置中允许用户运行脚本(必须)
- 使用
Set-ExecutionPolicy
来进行设置,后面跟着级别(例如RemoteSigned
、unrestricted
)等,可以加-user
来只对本用户进行修改
- 使用
- Windows Terminal(Win11自带,Win10必须)
- scoop(可选)
备份
在做美化之前,我强烈建议你进行一次备份,直接搜索创建还原点
然后根据按钮提示进行备份就可以了
安装scoop(可选)
使用这条命令安装scoop
1 | Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') |
如果遇到错误提示,请检查是否进行了Set-ExecutionPolicy
安装过程的提示应该是这样的
1 | PS C:\Users\GamerNoTitle> Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') |
到这里就安装完毕了,输入scoop
会弹出它的使用提示
安装所需要的字体(可选)
不一定要用本文提到的这两种 Nerd Fonts,建议挑一个自己喜欢的
安装 Meslo Nerd Fonts
这是网上大多数 Powershell 美化攻略都推荐的字体,我个人不是很喜欢,你可以尝试一下,如果不喜欢,可以往下看看别的
因为会有特殊字体的需求,所以我需要把它们先提前装好,我直接用 scoop 安装的 nerd-fonts
如果你没有特殊图标字体的需求,可以不装的
1 | scoop bucket add nerd-fonts |
如果你像我下图这样遇到了网络问题,记得打开TUN模式
安装完了以后,我们需要在Windows Terminal的设置中,把默认字体从Cascadia Mono
改成MesloLGS Nerd Font Mono
(或同系列其他字体)
安装 CaskaydiaMono Nerd Font
因为个人感觉 Meslo Nerd Fonts 实在是太细了,我还是喜欢原来 Terminal 自带的那个字体,于是我就去找其他的 Nerd Font,然后找到了这个,感觉比较符合我的胃口
下载链接:https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/CascadiaMono.zip
直接按照平常装字体那么安装就行了,然后在字体选择里面选择它就可以了
其他 Nerd Font
来这里挑吧:https://www.nerdfonts.com/font-downloads
安装 oh-my-posh
可以去微软商店装
https://apps.microsoft.com/detail/xp8k0hkjfrxgck?hl=en-us&gl=US
或者直接从 Github 下载 MSI 安装包
安装好后,如果你装了 scoop,建议再安装一个 posh-git
1 | scoop bucket add extras |
如果本机没有7-zip,它会自动装一个(依赖)
1 | PS C:\Users\GamerNoTitle> scoop install posh-git |
启用 oh-my-posh
使用下面的命令来加载 oh-my-posh
1 | oh-my-posh init pwsh | Invoke-Expression |
此时就会发现终端已经大变样了
可以去 oh-my-posh 的网站看看各种各样的主题,挑一个自己喜欢的
这里放上几个我觉得还不错的主题名称
1 | blueish |
你需要使用这样的命令来使得 oh-my-posh 每次都被加载(你需要把theme换成你喜欢的主题名称)
1 | oh-my-posh init pwsh --config 'C:\Users\GamerNoTitle\AppData\Local\Programs\oh-my-posh\themes\<theme>.omp.json' | Invoke-Expression |
这行命令需要写在 $PROFILE
里面,可以直接 notepad $PROFILE
或者 code $PROFILE
打开这个配置文件,写进去就好了,例如我用的主题是easy-term
,就写作oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/easy-term.omp.json" | Invoke-Expression
再次打开Powershell,就会发现它确实已经加载了自己的配置文件了
安装文件图标模块(可选)
我想要让我的Terminal自动根据文件类型显示图标,这个时候我们需要安装Terminal-Icons
(需要安装Nerd Fonts)
这里我采用 scoop 安装:scoop install terminal-icons
1 | ╭─ 🏠 ~ | RAM: 24/31GB ⌛ 462ms ⏰ 17:56:13 |
同样,我们需要把配置写进 $PROFILE
里面,直接加上这一行
1 | Import-Module -Name Terminal-Icons |
然后跑 ls
或者 dir
就能够看到图标了
总结
最后我换了张图,顺带换了个配色方案,这样看起来就很协调了
其实玩这个美化还有一个原因就是我昨天给我的 Ubuntu Live Server 装了 zsh,然后就想着把 Windows 也弄一下,弄出来的结果挺不错的,应该能在我的电脑坚持比较久的时间吧(俗话说美化的尽头是默认)
芙芙可爱捏~最后放上方案合集
配色方案:One Half Dark
字体:CaskaydiaMono Nerd Font
背景图:自己去下 https://t.me/DohnaNyan/9471
背景不透明度:30%
其他保留默认
$PROFILE内容
1 | oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/easy-term.omp.json" | Invoke-Expression |
- 更改过的easy-term内容(添加了Python的venv显示,效果看下图,覆盖了
C:\Users\%username%\AppData\Local\Programs\oh-my-posh\themes\easy-term.omp.json
)
1 | { |