果然颜值才是第一生产力……power-shell美化

云中志

共 3325字,需浏览 7分钟

 · 2022-01-13

前言

喜欢折腾linux终端的铁子们应该都听说过oh-my-zsh,也一定喜欢oh-my-zsh那炫酷的效果和丰富的插件,当然也肯定对windows的终端工具(cmd或者power shell)有很多的诟病,当然我也是如此,前前后后体验了各种各样的终端工具,比如hyper,但是还是不满意,最后索性就不再折腾了。

然而,在最近一个机缘巧合的场景下,我遇到了oh-my-posh,看到它的第一眼我就知道这就是我期待的终端工具,至少我是满意的,颜值杠杆,所以今天我们要分享的内容就是基于oh-my-poshpower shell美化。

power shell美化

oh-my-posh

什么是oh-my-posh?它是一个自定义提示引擎,适用于任何能够使用函数或变量调整提示字符串的 shell,它一个开源项目,除了支持windows系统之外,它还支持linuxmac系统,从项目的代码占比中,我们可以发现oh-my-posh是主要基于go开发的:

目前这个项目已经有4k的小星星了,感兴趣的小伙伴可以研究下,项目地址如下:

https://github.com/JanDeDobbeleer/oh-my-posh2

另外这里我也放上官方文档,方便给位小伙伴参考:

https://ohmyposh.dev/docs

安装terminal

在开始美化之前,我们要先安装windows terminalTerminal是微软开源的一个终端工具,据听说已经是win11的默认终端了。相比于系统自带的power shellCMDterminal颜值就高多了。安装方式也很简单,只需要在应用商店搜索windows Terminal,然后点击安装即可:

安装完成之后,它是这个样子的:

虽然比cmdpower shell原生的终端好看了很多,而且支持很多自定义的美化设置,但是还是不是很好看,反正就是没有oh-my-zsh看着顺眼,所以下面我们就开始对它进行进一步的美化设置,让它比oh-my-zsh更好看。

关于window Terminal的设置和美化,可以看下官方文档,说得很是详细,包括我们今天的内容其中也有涉及:

https://docs.microsoft.com/zh-cn/windows/terminal/

安装posh-git

posh-git 包含一组强大的 PowerShell 脚本,提供了 GitPowerShell的集成。posh-git还为常见的 git 命令、分支名称、路径等提供选项补全支持。例如,使用 posh-gitPowerShell可以checkout通过键入git ch和按键来完成 git 命令tab。这将完成选项卡git checkout,如果您继续按tab,它将在其他命令匹配项中循环,例如cherrycherry-pick

不过看了官方文档的安装步骤,是没有这步操作,posh-git可以让我们的git命令更好用,posh-git本身也是一个很火的开源项目,感兴趣的小伙伴可以去看下:

https://github.com/dahlbyk/posh-git/
安装命令

打开power shell执行如下命令:

Install-Module posh-git -Scope CurrentUser

这行命令的作用是为当前用户安装posh-git

执行完成后,根据提示输入对应的选项,然后默默等待安装完成。

安装oh-my-posh

post-git安装完成后,就要开始安装我们的主角了——oh-my-posh,它的安装也很简单,一行命令搞定:

Install-Module oh-my-posh -Scope CurrentUser

操作类似,根据提示输入,然后静静等待安装完成。

导入模块

这一步是将我们安装的posh-gitoh-my-posh加载到powser shell中:

Import-Module posh-git
Import-Module oh-my-posh

但是导入这两个模块之后,我们的终端还是不会有任何变化,因为我们还没有设置主题:

设置主题样式

设置主题的方式很简单,只需要执行如下命令即可:

Set-PoshPrompt -Theme JanDeDobbeleer

输完这个名称之后,可以看到终端的样式已经出来了,但是由于字体没有修改,所以看着还很怪异。

这里的JanDeDobbeleer是我们的主题名称,从名字可以看出来,这个主题应该就是官网现实的主题,因为它就是作者的名字。oh-my-posh的主题样式还是很丰富的,除了我这里选择的JanDeDobbeleer,它还支持很多其他的样式和风格,各位小伙伴可以根据自己的喜好选择,具体的可以看项目文档或者github

字体下载

Oh My Posh设计采用的是Nerd Fonts字体,所以这里我们先要下载Nerd Fonts,这样最终的效果才更好,在oh-my-posh的文档中也给出了字体资源地址,各位小伙伴可以根据自己的需求下载:

https://www.nerdfonts.com/

这里我选择的是DejaVuSansMono Nerd Font,显示效果还行。

字体下载之后解压,然后安装即可:

设置字体

字体的设置也很简单,点击windows Terminal标题栏的下拉菜单,然后点击设置即可:

然后选中power shell,选择外观,修改字体,选择我们刚刚安装的Nerd Fonts字体即可:

然后点击保存之后,就可以看到oh-my-posh的效果已经出来了,颜值真的杠杠的:

添加power shell配置

虽然完成上面的配置之后,我们的终端美化已经完成了,但是如果关闭当前窗口重新打开,或者重新打开一个新的终端窗口,是需要重新执行如下操作的:

Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme JanDeDobbeleer

这样就很繁琐,而且很低效,所以为了让我们在终端打开的时候就有效果,我们还需要增加一些配置。首先要执行如下命令:

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }

这行命令的作用是启用power shell的配置,执行完成后,会在C:\Users\用户名\Documents\WindowsPowerShell下生成一个ps1结尾的文件,然后我们通过如下命令编辑这个文件:

notepad $PROFILE

并在其中加入如下内容:

也就是我们上面说的三行配置命令,然后保存,这样在我们下次打开power shell的时候,就会自动进行配置了。

这个文件其实就相当于linux.profile文件,就是在初始化终端的时候,会先执行这个文件。

补充

当然,我们也可以不安装windows Terminal,不过需要修改power shell的显示字体:

另外在windows Terminal的官方文档中也介绍了oh-my-post的安装配置方式,各位小伙伴也可以参考下:

https://docs.microsoft.com/zh-cn/windows/terminal/tutorials/custom-prompt-setup

结语

关于power shell的美化,我觉得没有什么总结的,唯一想说的是,终于找到了一款自己满意的windows的终端美化,看来真的是颜值才是第一生产力呀,最后放上power shell美化成果:

最后,再插播一个小小的好消息,就是我之前说的markdown编辑器第一个可用版本已经出来了,打包也基本完成,明天我打算分享出来,感兴趣的小伙伴可以先尝尝鲜,好了,今天就先这样吧,各位小伙伴,晚安!

- END -


浏览 74
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报