【飞蛾扑火】PowerShell 终端美化踩坑

美,是一种感知。
潜藏在每个人生命中,
当它被挖掘,被激发,
便会变成一种使人安定的力量。
它不仅能带来感官上的触动,
也是历练生命、丰沛情感、释放思想的源泉。
—— 蒋勋

对于 PowerShell 美化的折腾,其实在两三个月前我曾经做过一次,那个时候还是在期末考试期间。因为过度沉迷,以及涌现出了的意料之外的终端乱码,花费了不少时间,最后为了赶复习进度而不了了之。

这次又一次在 zn 的安利下,开始飞蛾扑火。

在这里分享 PowerShell 美化的思路,希望帮助大家避过坑,以及记录一些自己的感悟。

image-20200308121225697

PowerShell 终端美化思路

PowerShell 默认的终端是很简单的,并没有考虑美化。从实用角度基本是够用的,但在实用的基础上,很多人希望能有更好的使用体验,所以一大堆应用涌现。

终端美化的基本思路有:

  1. 对 PowerShell 的字体等进行修改;
  2. 在 PowerShell 上安装并使用 oh-my-posh;
  3. 改用第三方终端,如 Fluent Terminal、Hyper、Terminus 等。

⭐️ ​其中值得注意的是,PowerShell 安装 oh-my-posh 后很可能出现“乱码”的现象,这是字体缺位导致的,建议改用支持大量其他字体的第三方终端,一劳永逸。

结论置顶

这里先呈现结论,结论的依据会在后面详细解释。

效果图

image-20200308103044933

思路

PowerShell 自身不支持 oh-my-zsh 的一些字体,会导致乱码,故使用 Powershell 第三方终端(如 Fluent Terminal)+oh-my-zsh 的方案。

  1. 下载安装 Fluent Terminal;
  2. 在 PowerShell 下安装 oh-my-zsh,选择自己喜欢的主题,通过更改 $proflie 指定的文件,将 oh-my-zsh 的设置在每次启动 PowerShell 的时候自动加载。
  3. 下载 oh-my-zsh 需要的字体,将 Fluent Terminal 的字体修改;
  4. 更改 VSCode 的终端字体设置,使之同等美化。

修改 PowerShell 的终端

这是 PowerShell 和 cmd 自身提供的属性设置。(标题栏右键)

image-20200308101500526

但是局限性非常大,可用的字体非常少。cmd 和 PowerShell 对字体的要求很严苛,即使你安装了一大堆的字体,在 "Windows PowerShell" 属性 中的 字体 选项卡下,能看到的字体也就几个。

也有博客对自定义字体有“研究成果”,详见:自定义 Windows PowerShell 和 cmd 的字体。

安装使用 oh-my-zsh

安装步骤和使用的教程非常多,笔者也是直接参照网络上的教程安装的,这里不再赘述。
但使用的时候会发现,没有 Linux 下 zsh 的效果,甚至出现如下近乎“乱码”的现象:

image-20200308104054220

看看其他主题的情况?

image-20200308110644627

发现“乱码”其实只有一两种字符。
⭐️ 其实是因为对应的字符在当前字体下是不存在的,而支持这些字符的字体在 cmd 和 PowerShell 严苛要求下的字体几乎是不存在的。
✔️ 所以需要使用第三方Powershell 终端,才能还原 zsh 在 Linux 下的风采。

使用第三方 PowerShell 终端

下载安装 Fluent Terminal

PowerShell 终端非常多,如 Fluent Terminal、Hyper、Terminus 等。

其中很受推荐的其中一个是 Fluent Terminal,是利用 UWP 技术打造的颜值超高的终端模拟器。不过在 UWP 应用市场并找不到,要去 GitHub Release 下载。

下载完毕后,用 PowerShell 运行文件夹下的 Install.ps1 按照提示操作即可安装成功。
建议设置在中把默认 shell 改成 PowerShell:

image-20200308105324042

修改字体

如果前面已经在 Powershell 安装了 oh-my-zsh,此时的 Fluent Terminal 下的Powershell 依然是存在“乱码”的现象。
这时候需要下载并安装支持 oh-my-zsh 对应主题的字体,比如 powerline 的字体库: https://github.com/powerline。(其实我用的不是 powerline, hhh)
安装后再在 Fluent Terminal 的设置中更改字体就大工告成了!

image-20200308105823820 image-20200308110523327

VSCode 终端美化

在之前的基础上,只需要修改 VSCode 的终端字体即可;
可以编辑 setting.json ,也可以在设置中查找。

效果图:
image-20200308111027390


美学感悟

挂了美学的旗子,估计是膨胀了。 😢

折腾一番还是蛮消耗时间的,但是克服不了变美的诱惑 😄。

有时候会问,人的品味高是不是有时候会降低人的生活质量?

百姓的音乐在高雅之士的耳朵里变成了“呕哑嘲哳”;
普通餐馆的食物在美食家面前变成“糟蹋食物”,
专业设计师会感觉市面上的东西各种变扭等等。

扰乱人们的不是客观事物,而是人们对客观事物的见解。
​ —— 爱比克泰德
“超常的感觉能力会引致情绪失衡、周期性的超乎寻常的愉快或者挥之不去的忧愁。”
—— 叔本华

笔者感觉,叔本华描述了那些艺术天才的忧郁气质,像极了《名人传》里对米开朗基罗的描述:“他被他这个天才左右了一生,他一生根本就没法从他这个天才里头自拔出来,所以他的生活某种程度像个苦行僧一样的,又是个工作狂。可是他的一切,他活着就是为了这个优势,为了他的天才而生的,他这一辈子就只能在这个范畴里头这么去干。”

但是除去那些被自己的天才左右了一生的天才,现实生活不是也有很多很多很释然的杰出艺术家吗?就像《名人传》的米开朗琪罗传的那句名言:“世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活。”

一个思考角度,我们完全可以驾驭我们的感觉能力,获得释然,开放“对客观事物的间接”,能够同等欣赏“阳春白雪”和“下里巴人”,获得生命的快感。

另一种思考的角度,艺术家的忧郁气质,对于细节的感知、把控与纠结的完美主义,恰恰成就了艺术家,成为无可争辩的竞争力。

美,是一种感知。
潜藏在每个人生命中,
当它被挖掘,被激发,
便会变成一种使人安定的力量。
它不仅能带来感官上的触动,
也是历练生命、丰沛情感、释放思想的源泉。
—— 蒋勋

在物质匮乏的年代,对食物挑剔的人甚至没办法生存。但是现代社会已经逐步脱离物质的快发,转向追求生命的更高体验。
就像蒋勋先生所言,美是历练生命、丰沛情感、释放思想的源泉。我想,不去审美而去猎奇,真是辜负了造化的恩宠。


参考文章

  1. 自定义 Windows PowerShell 和 cmd 的字体
  2. 将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子
  3. oh-my-zsh的图标无法正常显示
  4. 告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始
  5. 解决vscode terminal powerline字体乱码

此外,还有感谢 wj 小姐姐 👸 提供给庸人笔者的一些灵感~

------ The end ------

本文标题:【飞蛾扑火】PowerShell 终端美化踩坑

文章作者:Andy Wu

发布时间:2020年03月08日 - 00:03

最后更新:2020年12月18日 - 21:12

原始链接:https://zer0-nu1l.github.io/2020/03/08/%E3%80%90%E9%A3%9E%E8%9B%BE%E6%89%91%E7%81%AB%E3%80%91%E7%BB%88%E7%AB%AF%E7%BE%8E%E5%8C%96%E8%B8%A9%E5%9D%91/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。