专栏首页乐百川的学习频道配置酷酷的Windows Powershell

配置酷酷的Windows Powershell

用过Linux的同学可能听说过ohmyzsh这个东西,它是一个工具包,包含了关于zsh(一个功能强大的Linux Shell)的各项配置,可以让用户非常方便的鼓捣出一套功能强大而炫酷的Shell界面。那么对于Windows用户,能不能也这么配置,拜托难看且难用的cmd终端呢?答案当然是肯定的,这就是今天本文要介绍的内容啦。

安装更纱黑体

更纱黑体是一款专为Windows终端设计的字体。大家都知道为cmd设置字体非常麻烦,需要进行修改注册表、更改代码页这种操作。其实根本原因是终端对字体的要求非常严格,不仅字体字形有要求,甚至字体名称等也作了严格限制。所以大多数字体都不能直接设置成终端字体。更纱黑体满足了所有这些严格条件,所以可以直接轻松的设置为终端字体。

更纱黑体是一款开源免费的字体,大家可以直接在Windows10应用商店中找到下载。

设置cmd和Powershell字体

更纱黑体安装完毕之后,应该可以直接在cmd和Powershell的设置属性对话框中看到更纱黑体的字体选项,直接将它选择终端字体即可,不需要修改注册表项,也不需要修改代码页的骚操作,只需轻点鼠标即可。

Powershell的设置也是类似的,设置完毕之后,就可以看到字体已经变了,我们终于摆脱了被新宋体支配的恐惧。

安装Windows Terminal

安装Windows Terminal

前段时间大家应该看到过Windows Terminal的新闻,它是微软开发的一款全新的终端软件,有了它,我们就能彻底摆脱老旧的cmd和Powershell窗口了。当然目前软件处在预览阶段,功能还不够完全,但是基本功能已经完全够用了,经过配置也可以达到不错的效果。

安装Windows Terminal最简单的办法也是从Windows 10商店。

配置文件介绍

默认Windows Terminal不够好看,但是目前它仅支持从配置文件修改,所以我向大家简单介绍一下Windows Terminal的配置文件格式,大家可以自行修改出自己喜欢的样式来。这里推荐使用VSCode编辑器来打开配置文件,自带语法高亮、代码补全和格式化功能,写起配置文件来那叫一个爽字。

配置文件路径如下。

~\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json

使用VSCode打开之后可以看到这是一个很大的JSON配置文件,不过其实也不算麻烦。

简单说一下一些项的作用:

  • schema,定义了JSON文件的一些值约束,什么值可以用,什么值是非法的。
  • defaultProfile,定义了默认使用的profile,具体的profile在后面。
  • initailCol,起始终端列数。
  • initialRows,起始终端行数。
  • keybindinds,按键绑定配置,这里可以改成自己顺手的快捷键。
  • profiles,具体的profile,包含了终端字体、主题等设置。
  • schemes,颜色主题设置,默认有Campbell、One Half Dark、One Half Light、Solarized Dark、Solarized Light几个。

个性化终端设置

前面一大堆配置完全可以不用看,我们重点关注就是profile的设置。

我感觉比较有用的选项如下:

  • acrylicOpacity,亚力克特效的透明度,值越低终端越透明,我感觉0.85比较合适。
  • useAcrylic,是否使用亚力克特效,false的话亚力克透明度就无效。
  • colorScheme,终端使用的颜色主题,预设的就是上面介绍的几个,你也可以自己修改一下,看看效果。配置文件保存,终端会立即反映出效果。
  • commandline,使用的终端命令。可以看到至少应该有两个profile,分别对应Powershell和cmd,如果你还安装了新的Powershell Core 6的话,应该还会多出来一个。
  • cursorShape,cursorColor,光标的形状和颜色,这个我觉得完全可以不用改。
  • fontFace和fontSize,终端字体名称和大小,将这里改成前面安装的等距更纱黑体 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'

安装ohmyposh

其实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插件来美化终端了。最终效果应该类似下面这样。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pipenv快速入门

    版权声明:本文为博主原创文章,转载请注明出处。 ...

    乐百川
  • 一个余数问题的思考

    刚刚在贴吧上看到一个很简单的算法小问题,顺便看到了很多人不同的思路。我觉得很有意思,所以也来研究一下。 问题如下: 一筐鸡蛋: 1个1个拿,正好拿完。...

    乐百川
  • Powershell快速入门(二) Shell编程

    这一部分着重于介绍Powershell的程序知识,让我们能够编写功能强大的Powershell脚本,执行比较复杂的任务。 变量 变量使用$变量名创建和引用。举个...

    乐百川
  • MIDDLEWARE 在传输大量数据时,经常会发生堵塞,如果有一条错误的数据整个队列将无法处理

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

    Jerry Wang
  • Java 并发集合的实现原理

    可以用原子方式更新int值。类 AtomicBoolean、AtomicInteger、AtomicLong 和 AtomicReference 的实例各自提供...

    哲洛不闹
  • nodejs的交互式解释器模式常用命令

    指尖改变世界
  • 米斯特白帽培训讲义 工具篇 BruteXSS

    BruteXSS 是一个非常强大和快速的跨站点脚本检测工具,可用于暴力注入参数。BruteXSS 从指定的词库加载多种有效载荷进行注入,并且使用指定的载荷和扫描...

    ApacheCN_飞龙
  • 理财智能化,机器人投顾切入万亿市场

    大数据文摘
  • 【小家java】BlockingQueue阻塞队列详解以及5大实现(ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue...)

    在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭...

    BAT的乌托邦
  • Cytoscape插件5:DisGeNET(2)应用实例

    广泛的定义为“对于一个给定的基因集来说,哪些基因和某疾病相关?” 哮喘病是一个严重的慢性疾病,有时会威胁生命,这种病肺部发生病变。哮喘的病因很复杂包括遗传和环...

    Y大宽

扫码关注云+社区

领取腾讯云代金券