Windows终端美化
小时候在老家放牛,一到黄昏太阳落山的时候几个村里的录音机大喇叭都会放这首《窗外》和满文军的《懂你》。我躺在山坡上,看着吃着草的黄牛,那时我是最幸福的人。 ——热评.雪中梅
前言
身为一位热衷于编程的人士,面对清爽简洁的 IDE 主题,赏心悦目的代码配色,逼格拉满的 Terminal 终端,极致丝滑的码字体验,总是让人欲罢不能。
在 Windows 系统中,我们最常使用的 Shell 工具莫过于 PowerShell 了。虽然它真的很强大,但纯天然的颜值还是稍显逊色,如何拥有更加 beautiful 的 PowerShell 呢?
Windows Terminal
Windows Terminal
是一个集成了多个命令行环境的终端应用程序。
在 Windows Terminal
下,我们可以同时使用 PowerShell、命令提示符(Command Prompt)和 Windows Subsystem for Linux(WSL)等多种命令行工具。
安装 Windows Terminal
方法也比较简单,我们直接打开 Microsoft Store 下载安装即可。
Windows Terminal 提供了许多功能和特性,包括多标签页支持、自定义主题、快速启动、分屏布局、Unicode 字符支持、GPU 加速等。它还支持使用不同的配置文件来定义每个命令行环境的外观和行为。
PowerShell 美化第一步,我们可以直接在 Windows Terminal 中个性化修改它的外观。
或者打开JSON进行相关设置,定位到Defaults里添加:
使用亚克力效果:
"useAcrylic": true,
"acrylicOpacity": 0.2
设置背景:
"backgroundImage": "URL",
"backgroundImageOpacity": 0.4
修改字体:
"fontFace": "XXX",
"fontSize": 14
Oh My Posh
除了在 Windows Terminal 中个性化修改 PowerShell 的外观,我们还可以使用 Oh My Posh 来进一步的美化 PowerShell。
Oh My Posh 是一个开源的命令行提示工具,用于美化和定制命令行提示符(prompt)。它提供了丰富的主题和配置选项,可以让用户根据自己的喜好和需求来定制命令行提示符的外观和行为。它支持自定义图标、颜色、字体和布局等,使命令行提示符更具个性化和可读性。
使用 Oh My Posh,你可以在命令行提示符中显示有用的信息,如当前路径、Git 分支、Python 虚拟环境、操作系统信息等。它还提供了各种内置的模块和函数,可用于创建自定义的提示符元素和动态内容。
安装oh-my-posh
- 方式一:通过winget安装
winget install oh-my-posh
-
方式二:直接在 Microsoft Store 获取
-
方式三:在Github下载:https://github.com/JanDeDobbeleer/oh-my-posh/releases
Oh My Posh
安装成功后,Windows Terminal 并不会默认使用 Oh My Posh 来加载 PowerShell。还需要我们进行以下配置。
-
修改启动脚本
在Windows PowerShell命令行中输入
$profile
查看 powerShell 的配置文件路径;
code $PROFILE //用Vs code编辑
notepad $PROFILE //用自带的文本编辑器编辑
- 输入下面代码:
oh-my-posh init pwsh | Invoke-Expression
安装 Nerd Fonts
Oh My Posh
配置成功后,我们重新打开 Windows Terminal
会发现输入提示出现了乱码。
这是因为我们目前终端正在使用的字体不支持图标导致的。我们需要安装 Nerd Fonts
字体。
打开 Nerd Fonts 字体的下载地址,选择我们自己喜欢的字体下载安装即可,这里我选择的字体是 Hack Nerd Font
使用 Nerd Fonts
Nerd 字体安装成功后,我们需要把终端的使用字体配置为我们下载的 Nerd 字体。
打开 Windows Terminal,使用快捷键 Ctrl+Shift+,
打开 Windows Terminal
的配置文件。
在 profiles
中加入以下内容即可。
"font":
{
"face": "Hack Nerd Font",
"size": 14.0,
"weight": "semi-bold"
},
- "face" 对应的键值为你在 Nerd 中下载的字体名称,如 "Hack Nerd Font"
- 如果你曾经在 Windows Terminal 单独给 PowerShell 设置过字体,你可以将 PowerShell 的字体配置注释掉或直接修改 PowerShell 的字体配置。
当然你也可以在 Windows Terminal 的图形界面中修改默认字体及 Powershell 的使用字体。
配置好字体后重新打开终端,就可以看到我们美化后的效果啦。
选择主题
Oh My Posh
官方提供了许多开箱即用的主题供我们选择。
访问链接:https://ohmyposh.dev/docs/themes,即可查看主题预览效果。
-
在Windows PowerShell命令行中输入
Get-PoshThemes
,在输出内容的最下面可以查看主题预设文件的路径。 -
在Windows PowerShell命令行中输入
notepad $profile
命令打开 PowerShell 的配置文件,在配置文件中加入主题预设文件路径即可。
oh-my-posh init pwsh --config 'C:\Users\Guoyi\AppData\Local\Programs\oh-my-posh\themes\jandedobbeleer.omp.json' | Invoke-Expression
//或者
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\montys.omp.json | Invoke-Expression
最终效果
- 在 VSCode 中同样需要配置 Terminal 的字体为
Nerd
字体才可以正常显示图标 - 在 Windows 中使用
neofetch
命令的教程:点我查看
如何在 Windows 上安装和使用 Neofetch
Neofetch 是一个命令行,可让您以美观的方式展示系统信息,以时尚的方式获取您的系统规格。Neofetch 的目的是用于屏幕截图,因此它不提供完整的信息或诊断信息,仅提供您希望其他人看到的部分。
虽然 Neofetch 主要用于 Linux 系统,但它也适用于 Windows。如果您已经拥有 Windows 但仍想加入其中,可以按照以下步骤在 Windows 上安装 Neofetch。
安装Scoop
(辅助)
与 Linux 不同,您无法在 Windows 上直接通过终端安装 Neofetch
。您需要先安装 Scoop
。Scoop
是一个命令行包管理器,使您能够通过终端安装程序。安装方法如下:
-
打开 Powershell。(您可以简单地通过“开始”菜单搜索它,或者在“运行”应用程序中输入
powershell
),进入 Powershell 后,输入以下命令:iwr -useb get.scoop.sh | iex
iwr
代表 Invoke-WebRequest,并启动一个会话来访问 Web 上的某些内容。iex commandlet 要求 Powershell 在命令执行后返回一条语句,如果没有 iex,所有语句都会按原样返回。
- 按Enter键。Powershell 现在将安装 Scoop。
若收到一条绿色回复,表明 Scoop 已成功安装。安装了 Scoop 后,您可以通过命令提示符实现的范围现在大大扩展了。
安装 Neofetch
- 打开命令提示符。(您可以在“开始”菜单中搜索它,或者在“运行”应用程序中输入
cmd
并按 Enter),在命令提示符中,输入以下命令:scoop install neofetch
- 按Enter键
安装git(辅助)
成功安装 Neofetch 后,返回语句将显示 Neofetch 建议安装 git。这是一个非常好的建议,因为如果没有安装 git,Neofetch 将无法工作。安装 git 非常简单。
-
在命令提示符中,输入以下命令:
scoop install git
-
按Enter键。Scoop 现在将安装 git。
使用Neofetch
一旦您安装了 Neofetch 及其依赖项,困难就结束了,您现在可以享受使用 Neofetch 来观看您的规格。Neofetch 在终端中通过一个简单的同名命令来调用。
-
打开命令提示符。
-
输入以下命令:
neofetch
-
按Enter键。观察并享受您的系统规格在终端中展开的过程。
如果您想尝试使用 Neofetch 并进行自定义,请查看Neofetch 的GitHub 页面。
如何卸载 Scoop 和 Neofetch
如果出于任何原因您对 Scoop 或 Neofetch 不满意并且想要摆脱它们,请不要担心。
卸载Neofetch
Scoop 附带一个卸载命令。您可以使用 Scoop 卸载 Neofetch。
-
打开 Powershell。
-
输入以下命令:
scoop uninstall neofetch
-
按Enter键。Scoop 现在将卸载 Neofetch 并返回一条声明,表示已成功卸载。
卸载 Scoop
您还可以完全卸载 Scoop,这也会卸载 Neofetch 以及使用 Scoop 安装的任何其他程序。
-
打开 Powershell。
-
输入以下命令:
scoop uninstall scoop
-
按Enter键。
-
Scoop 会要求您确认。输入Y并按Enter。
解决问题
解决“无法加载文件 ***\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本”
想了解计算机上的现用执行策略,打开 PowerShell 然后输入:
>> get-executionpolicy
Restricted
>> set-executionpolicy remotesigned
选择“是”,即可。
如果要更改回Windows 客户端计算机的默认执行策略,则设置为restricted:
set-executionpolicy restricted
参考教程
-
解决“无法加载文件 *\WindowsPowerShell\profile.ps1 ”,因为在此系统上禁止运行脚本”:https://zhuanlan.zhihu.com/p/452273123
-
【教程】终端美化 Windows Terminal+oh-my-posh美化:http://985.so/9mmcm
-
How to Install and Use Neofetch on Windows:https://www.makeuseof.com/how-to-install-and-use-neofetch-on-windows/