打造精致的 Windows 终端

前言

本文致力于 Windows Terminal + Oh my posh 打造精致的 Windows 终端。😐

Windows Terminal

Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich text, globalization, configurability, theming & styling, and more.

Windows Terminal 是一个新的,现代的,功能丰富的,高效的终端应用程序,适用于命令行用户。 它包含 Windows 命令行社区最常请求的许多功能,包括对选项卡,富文本,全球化,可配置性,主题和样式等的支持。

其实最开始我想用的是 Fluent Terminal ,当我完成一切却发现了 bug,当我在设置页面点击终端时就会卡死,没有找到相应解决方法。因此我也就从 Fluent Terminal 转到了 Windows Terminal

安装 Windows Terminal

  • 你可以在 Microsoft Store 上搜索 Windows Terminal 进行安装。
  • 或者在 GitHub 上下载最新版本

安装完成之后,鼠标右键出现 open in Windows Terminal 即安装成功。

配置 Windows Terminal

点击向下箭头进入设置页面,你可以按照如下方式增加配置文件,以 Git Bash 为例

优化配色

打开 Windows Terminal 的 设置 页面 -> 打开 JSON 文件,在代码编辑器中打开并编辑(比如 VS Code),这个文件记录了 Windows Terminal 的配置,你可以按照你的喜好对其进行修改。

下面简单介绍一下,你可以在 Windows Terminal Themes 找到不同的 Windows Terminal 主题配置,选择你喜欢的主题样式,点击 Get Theme 进行复制。

在 JSON 文件中找到 schemes 将复制的代码粘贴进去即可,以 OneDark 为例(记得加逗号)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
"schemes":
[
{
"name": "OneDark",
"black": "#1e2127",
"red": "#e06c75",
"green": "#98c379",
"yellow": "#d19a66",
"blue": "#61afef",
"purple": "#c678dd",
"cyan": "#56b6c2",
"white": "#abb2bf",
"brightBlack": "#5c6370",
"brightRed": "#e06c75",
"brightGreen": "#98c379",
"brightYellow": "#d19a66",
"brightBlue": "#61afef",
"brightPurple": "#c678dd",
"brightCyan": "#56b6c2",
"brightWhite": "#ffffff",
"background": "#1e2127",
"foreground": "#abb2bf"
},
...
]

保存并配置完成之后,你就可以在主题文件中找到它

修改字体

在安装完 Oh my posh 之后,换用某些主题会出现文字乱码的情况,因此需要修改字体。

你可以在 nerdfonts 中下载喜欢的字体文件。

如果你不想麻烦寻找字体,这里简单提供一个 字体文件,下载之后,为所有用户安装 即可。

安装完字体文件之后,再次打开上面的 JSON 文件,你可以在 profiles -> list 中找到你之前添加的主题,添加字体信息即可。

1
2
3
4
5
6
"colorScheme": "OneDark",
"commandline": "powershell.exe",
"fontFace": "CaskaydiaCove NF", # 新增部分,修改为你自定义的字体名
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"hidden": false,
"name": "Windows PowerShell"

Oh my posh

类似于 oh-my-zsh,oh-my-posh 为 PowerShell 提供了很多自定义主题和配色,你可以按照以下步骤安装 oh my posh。

管理员权限 powershell 运行

右键 win 徽标 Windows Powershell(管理员),并输入以下命令

1
Set-ExecutionPolicy Bypass

安装 oh my posh

打开 Windows Terminal,依次运行

1
2
3
Install-Module DirColors -Scope CurrentUser
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

配置文件

安装完成之后输入$profile,你可以看见配置文件的路径

1
$profile

在上述路径下修改配置文件 Microsoft.PowerShell_profile.ps1,如果没有这个文件就新建一个。

比如我的 C:\Users\用户名\Documents\WindowsPowerShell\,在这个文件夹下新建Microsoft.PowerShell_profile.ps1,并写入如下代码:

1
2
3
4
Import-Module posh-git
Import-Module oh-my-posh
Import-Module DirColors
Set-PoshPrompt -Theme <主题名>

你可以在 官方仓库 查看所有主题。

<主题名>替换为你喜欢的主题名,你也可以在 Windows Terminal 输入 Set-PoshPrompt 来查看主题样式。

解决字体乱码

在配置某些主题之后,会出现文字乱码的情况,因此需要修改字体,详情见修改字体

最后提一句,如果你使用 VSCode,会发现终端变成了这个样子

主要还是字体的问题,在设置字体的地方加上我们刚才自定义的字体即可正常显示。

Pokemon

谁不想拥有一个 Pokemon 终端呢?

你可以在这里找到项目 Pokemon-Terminal: https://github.com/LazoCoder/Pokemon-Terminal

食用方法非常简单:

1
pip install git+https://github.com/LazoCoder/Pokemon-Terminal.git

效果如图:

参考