用过Linux的同学可能听说过ohmyzsh这个东西,它是一个工具包,包含了关于zsh(一个功能强大的Linux Shell)的各项配置,可以让用户非常方便的鼓捣出一套功能强大而炫酷的Shell界面。那么对于Windows用户,能不能也这么配置,拜托难看且难用的cmd终端呢?答案当然是肯定的,这就是今天本文要介绍的内容啦。
更纱黑体是一款专为Windows终端设计的字体。大家都知道为cmd设置字体非常麻烦,需要进行修改注册表、更改代码页这种操作。其实根本原因是终端对字体的要求非常严格,不仅字体字形有要求,甚至字体名称等也作了严格限制。所以大多数字体都不能直接设置成终端字体。更纱黑体满足了所有这些严格条件,所以可以直接轻松的设置为终端字体。
更纱黑体是一款开源免费的字体,大家可以直接在Windows10应用商店中找到下载。
更纱黑体安装完毕之后,应该可以直接在cmd和Powershell的设置属性对话框中看到更纱黑体的字体选项,直接将它选择终端字体即可,不需要修改注册表项,也不需要修改代码页的骚操作,只需轻点鼠标即可。
Powershell的设置也是类似的,设置完毕之后,就可以看到字体已经变了,我们终于摆脱了被新宋体支配的恐惧。
前段时间大家应该看到过Windows Terminal的新闻,它是微软开发的一款全新的终端软件,有了它,我们就能彻底摆脱老旧的cmd和Powershell窗口了。当然目前软件处在预览阶段,功能还不够完全,但是基本功能已经完全够用了,经过配置也可以达到不错的效果。
安装Windows Terminal最简单的办法也是从Windows 10商店。
默认Windows Terminal不够好看,但是目前它仅支持从配置文件修改,所以我向大家简单介绍一下Windows Terminal的配置文件格式,大家可以自行修改出自己喜欢的样式来。这里推荐使用VSCode编辑器来打开配置文件,自带语法高亮、代码补全和格式化功能,写起配置文件来那叫一个爽字。
配置文件路径如下。
~\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json
使用VSCode打开之后可以看到这是一个很大的JSON配置文件,不过其实也不算麻烦。
简单说一下一些项的作用:
前面一大堆配置完全可以不用看,我们重点关注就是profile的设置。
我感觉比较有用的选项如下:
等距更纱黑体 SC
。对于cmd的修改也是类似的。修改完毕之后,Windows Terminal应该也会变得比较好看。
当然如果你不想编辑配置文件,也可以直接使用我的配置文件,我的配置文件其实也就是修改了一下透明度和字体而已。
Invoke-WebRequest -uri 'https://gitee.com/techstay/dotfiles/raw/master/windowsterminal/profiles.json' |Select-Object -ExpandProperty Content|Set-Content '~\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json'
其实Powershell也有类似ohmyzsh的工具,它叫做ohmyposh。安装和使用起来也非常简单,首先打开管理员权限的Powershell窗口,输入以下两条命令,如果提示权限问题直接选择是即可。因为posh-git插件依赖于git,如果你没安装也不需要Git的话,可以不输入第一条命令。
Install-Module posh-git
Install-Module oh-my-posh
安装完成之后,输入下面的命令导入模块,即可在终端中看到ohmyposh的效果了。
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme PowerLine
是不是感觉Powershell的美观程度一下子上去了。ohmyposh自带了一些主题,除了powerline以外,还有一些主题,可以通过Get-Theme
命令来查看,你也可以从中选出自己喜欢的主题来使用。
当然上面的导入的模块仅对当前窗口有效,如果你希望以后都是这个样子的,将其保存到配置文件中即可,Powershell启动前会自动加载这些命令。
New-Item -ItemType Directory -Force '~\Documents\PowerShell'
Set-Content '~\Documents\PowerShell\Profile.ps1' -Value @"
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme PowerLine
"@
这样一来,不管是哪个Powershell窗口,都可以使用ohmyposh插件来美化终端了。最终效果应该类似下面这样。