丢掉那个小黑窗

496 阅读2分钟

Oh My Posh —— 终端美化工具

我的日常工作开发使用都是 win 系统,但是 win 自身携带的 terminal 实在拉跨,又丑又难用。 不过如今win11已经支持使用 windows terminal 作为默认终端,再结合Oh My Posh (一个让你能够客制化自己terminal的工具)终于能拥有在Linux上的终端体验。

image.png

设置步骤

1. Windows Terminal

如果你的系统是 Win11, 那么下载Windows Termainl可以将它设置为默认的终端,Win10则没有这个功能。当然你也可以选择使用 Hyper、Tabby 此类工具,不过只有 Windows Terminal 才能设置为默认启动终端。

2. OhMyPosh

这是OhMyPosh的主页Home | Oh My Posh,里面有详细的介绍,提供了各种主题供用户使用,当然如果你有足够的时间完全可以自己计一个专属于自己的主题。

image.png

我这里是使用Scoop工具来安装OhMyPosh,输入以下命令即可:

scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

安装完成后,还需要安装一种名为 MesloLGM NF 的字体,官方也很贴心地将安装字体给集成到OhMyPosh的命令行工具中去,直接在终端中输入以下命令等待安装完成。

oh-my-posh font install

然后就是设置你的Windows Terminal的字体啦,打开json文件,配置以下信息,或者直接在界面修改也行,记得保存重启Windows Terminal!!!

{
    "profiles":
    {
        "defaults":
        {
            "font":
            {
                "face": "MesloLGM NF"
            }
        }
    }
}

image.png

3. 启动 OhMyPosh

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression

在终端中输入以上内容,既可以看到默认的样式。 这里需要解释以下: init pwsh,OhMyPosh的效果会在Power Shell的bash中展示,如果是 bash 则是以下内容

eval "$(oh-my-posh init bash --config ~/.jandedobbeleer.omp.json)"

启动效果如下:

image.png

4. 设置为永久效果

如果只是上面的步骤实际上每次启动 WT 你都要输入一次初始化命令才有效果,这实际很烦人的,所以我们完全可以写一个小脚本,让它自动完成。

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression

在WT界面输入以下内容,查看文件地址,如果没有 Microsoft.PowerShell_profile.ps1 文件需要自己创建,比如我这里就是 C:\Users\Eddie\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

$PROFILE

image.png

image.png

编写 Microsoft.PowerShell_profile.ps1 文件并保存,内容如下:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression

这次启动都会是这个样式了,

image.png

样式

官方样式还挺多的,在官方的Documents里,Themes一栏可以找到各个大佬分享出来的主题。

image.png

在Microsoft.PowerShell_profile.ps1文件修改为别的样式:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/你想要的样式名.omp.json" | Invoke-Expression

比如,我个人设置为Tokyo这个主题,我的 Microsoft.PowerShell_profile.ps1 文件是这样的:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/tokyo.omp.json" | Invoke-Expression

这是效果:

image.png

还有好多主题,留给大家自己探索,当然你也可以自己写一个开源出来~