oh-my-posh美化PowerShell

爱美之心,人皆有之

Windows下的shell真的是丑出天际,字体也非常别扭,之前用的cmder,刚开始相比cmd的话,确实是美观多了,不过使用了一段时间之后又觉得很丑了,而且cmder实现原理在于把一些常用的linux命令在windows下编译为可执行文件,这样就导致一定的命令延迟,这让我觉得莫名的别扭(好吧,我就是审美奇葩),在加上最近准备把powershell作为主力shell,而默认的PowerShell比CMD还要感人,需要进行一下美化

oh-my-posh是windows下的主题工具,借鉴于linux下的oh-my-zsh,我此次就是利用该工具来美化PS

安装包管理器

scoop是Windows下一款非常好用的包管理工具,能够自动设置环境变量,类似于linux下的apt等包管理工具,官网Click Here

1
2
Set-ExecutionPolicy RemoteSigned -scope CurrentUser # 设置powershell执行策略
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') # 安装scoop

安装完成后,输入scoop,如下所示即说明安装成功

安装git与posh-git

1
2
3
scoop install -g git
scoop bucket add extras
scoop install posh-git

安装oh-my-posh

1
scoop install oh-my-posh

安装过程中如果出现超时错误的话请扶墙

安装字体

中文环境下,默认的ps字体不仅不美观,而且很多特殊字符也不支持,这会导致后面修改主题时看不到效果,出现乱码,而powershell的字体要求非常高,一般的字体无法在原生的ps终端使用,根据其它大佬的测试,Sarasa Gothic字体是符合ps的苛刻要求的,Github地址

启用oh-my-posh

我们需要编写配置文件,才能够让配置每次自动生效,配置路径在$profile中,我们可以输入该变量查看配置文件位置

1
2
➜ $profile
C:\Users\Snow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

配置文件内容如下

1
2
3
Import-Module DirColors
Import-Module Posh-git
Import-Module oh-my-posh

DirColors是一个对输出进行着色的模块

配置主题:
oh-my-posh内置多个主题,使用Set-Theme命令可以预览主题,TAB键可以切换不同的主题,我个人比较喜欢Honukai主题
在修改主题后,需要将改动写入配置文件$profile中,否则下次启动就还是原主题,在配置文件中加一行内容

1
Set-Theme Honukai

修改配置:

输入$ThemeSettings可以查看当前设置

修改用户名

1
$ThemeSettings.CurrentUser = 'aesm1p'

如果想要永久生效需要将上述命令写入配置文件$profile

第三方终端

在按照上述方法配置之后,PS就能够使用了。不过,虽然原生PS运行效率高,速度快,可由于PS太过底层,导致颜值控们进行美化修改时存在诸多限制,比如字体,上文提到的能在原生ps下使用的字体寥寥无几,选择空间有限,而且界面配色,背景等设置在PS中也非常困难,而通过第三方终端可以很方便的进行设置美化

安装powerline字体

oh-my-posh许多特殊字符需要使用powerline字体,Github地址在这
下载之后选择自己喜欢的字体安装,也可以运行install.ps1全部安装

Fluent Terminal

我最先使用的是这款,在github上搜索,然后下载后用ps运行文件夹下的Install.ps1即可,效果如下:

比起PS来已经美观多了,不过吹毛求疵的我还是感觉到了一丝丝不爽:

  1. 启动时有时会加载不出左侧的命令提示符,或者比较慢,需要按下回车才能出来,总之初始化有时会有点卡
  2. 字体稍微有点模糊,锯齿略明显(在字体小的情况下),而且显示效果不舒服
  3. 设置项较少,跟不上我装X追求完美的步伐
  4. 复制粘贴时有点问题,有时候只能整行复制,选取不到某段字符

ConEmu

官网下载安装即可

界面配置

设置默认以PS启动

设置字体

设置背景图片

设置PS为默认shell

设置配色

使用colortool来进行设置,colortool是微软出的一个powershell配色工具,支持Iterm主题

安装

1
scoop install colortool

待续

颜色设置

PS的字体颜色中有许多很暗的颜色的,比如在输入-xxxx选项是黑灰色,分辨度很差,我们可以自己修改成想要的颜色,点击”settings”,转到颜色选项卡

选择自己喜欢的颜色方案

然后下面第8个一般是暗色,这个就是控制上述选项的(我是和我shell中的颜色对比确定的),我们选择一个自己喜欢的颜色,效果如下,清楚了许多

其它颜色修改也可以参照上面的方法自己DIY,最后记得要保存成自己的颜色方案

效果展示

cmder(该软件也有丰富的设置项,只是我没怎么搞而已,也是一个不错的软件)

Fluent Terminal

ConEmu


https://sspai.com/post/52868
https://iterm2colorschemes.com/
https://github.com/JanDeDobbeleer/oh-my-posh

-------------本文结束感谢您的阅读-------------
您今天怎么辣么迷人!