Windows系统美化终端

Windows系统自带的终端工具可以说是一言难尽,cmd命令行更是连ls命令都不支持,powershell在功能上确实强大,但美观程度相比其他的shell来说就像个毛坯。这不,连微软自己都看不下去,开发了一个颜值更高的Windows Terminal。

Windows 终端 是一个新式主机应用程序,它面向你喜爱的命令行 shell,如命令提示符、PowerShell 和 bash(通过适用于 Linux 的 Windows 子系统 (WSL))。 它的主要功能包括多个选项卡、窗格、Unicode 和 UTF-8 字符支持、GPU 加速文本呈现引擎,你还可用它来创建你自己的主题并自定义文本、颜色、背景和快捷方式

下载安装

Windows 11已经自带了Windows Terminal,其他版本的系统可以直接访问应用商城安装。
Windows Terminal商城下载
如果商城打不开,可以通过[GitHub下载](Releases · microsoft/terminal (github.com)),然后找到合适系统的压缩包下再解压就行。
当然也可以安装Windows Terminal Preview预览版本,区别不是很大,只是包含了最新功能。

美化 Windows Terminal

微软提供了很详细的[中文文档](Windows 终端自定义提示符设置 | Microsoft Learn)方便我们对终端进行美化。

使用Oh My Posh主题来美化终端,详细的配置参考[文档](Introduction | Oh My Posh)

由于自定义命令提示符经常会用到图形符号来设置提示符样式,建议安装一些带有字形的字体,比如[Nerd Font](Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher)。这个字体簇有特别多的字形,找个觉得喜欢的下载就行,不需要全部安装。

其实Windows Terminal本身已经很好看了(相比之前的命令行),但不妨碍我们来点精装修。

打开Windows Terminal,鼠标在标签栏上右键打开设置,打开左下角的json格式的配置文件,配置文件一般位于目录C:\Users\Administrator\AppData\Local\Microsoft\Windows Terminal

window terminal设置

为了安全,可以把settings.json复制一份,免得出错还原不回来。

使用编辑器 vscode打开 settings.json 后 ,找到 profiles 下的 defaults就是默认配置的可视化。

 "profiles": {

    "defaults": {

      "experimental.retroTerminalEffect": false,

      "font": {

        "face": "Cousine Nerd Font",

        "size": 14.0,

        "weight": "semi-light"

      },

      "startingDirectory": "%USERPROFILE%"

    }

  }

默认配置

配置终端亚克力效果添加背景图

在默认配置中修改内容如下:

"profiles": {

    "defaults": {

      "experimental.retroTerminalEffect": false,

      "useAcrylic": true,

      "acrylicOpacity": 0.2,
      
      "backgroundImage": "D:/my-files/pictures/壁纸/星空.jpeg",
      
      "backgroundImageOpacity": 1,

      "font": {

        "face": "Cousine Nerd Font",

        "size": 14.0,

        "weight": "semi-light"

      },

      "startingDirectory": "%USERPROFILE%"

    },
  }

亚克力效果

接下来就可以给终端配置一个背景图片,记得要给背景图设置透明度。

这里背景图片的路径要注意用正斜杠,不然会当做转义符号,导致报错

"profiles": {

    "defaults": {
      "backgroundImage": "D:/my-files/pictures/壁纸/星空.jpeg",
      
      "backgroundImageOpacity": 0.2,
    },
  }

设置背景后的终端

亚克力效果的透明度和背景图的透明度根据需要调整,背景图最好找深色的。

安装oh-my-posh进一步美化

在[oh-my-posh官网](Windows | Oh My Posh)有三种安装方式,可以选择winget安装,这是Windows系统提供的软件管理工具。由于一些原因,我的电脑上无法直接使用winget,用了套壳的weingetUI,核心是一样的,只是有了UI界面。

在执行winget install 之前先看一下Windows PowerShell 的执行策略。执行策略是Windows PowerShell安全策略中的一部分,它将决定你是否可以载入配置文件(包括你的 Windows PowerShell profile文件)和运行脚本,它将会在运行前确定哪些文件必须具有数字签名(digitally signed)。
get-ExecutionPolicy 获取 Windows PowerShell 当前执行策略
set-ExecutionPolicy 修改 Windows PowerShell 中执行策略的用户首选项(preference)

执行策略状态说明:
Restricted表示状态是禁止的 不载入配置文件, 不执行脚本. *Restricted是默认值
RemoteSigned 所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher)
AllSigned所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher),这里所指的脚本页包括在本地计算机上创建的脚本
Unrestricted 载入所有的配置文件和脚本,如果运行了一个从互联网上下载且没有数字签名的脚本,在执行前都会被提示是否执行

get-ExecutionPolicy  
  
// 修改 Windows PowerShell 中执行策略  
set-ExecutionPolicy RemoteSigned

PowerShell 创建可维护配置文件

关于 PowerShell 更多详细内容参考[官方文档](PowerShell 文档 - PowerShell | Microsoft Learn)

通过about_Profiles创建 PowerShell 配置文件,具体内容看[文档](关于配置文件 - PowerShell | Microsoft Learn)

可以创建一个 PowerShell 配置文件来自定义环境并将特定于会话的元素添加到启动的每个 PowerShell 会话中。
PowerShell 配置文件是在 PowerShell 启动时运行的脚本,可以将配置文件用作登录脚本来自定义环境, 可以添加命令、别名、函数、变量、管理单元、模块和 PowerShell 驱动器, 还可以将其他特定于会话的元素添加到您的配置文件中,以便在每个会话中都可以使用它们,而无需导入或重新创建它们。

PowerShell 控制台支持以下基本配置文件,配置文件按优先顺序列出,第一个配置文件,如:Microsoft.VSCode_profile.ps1 具有最高优先级

PowerShell 支持用户和主机程序的多个配置文件,它不会为您创建配置文件。

一般当前用户,当前主机下,PowerShell 配置文件所在位置 $Home\Documents\PowerShell\Microsoft.VSCode_profile.ps1

注意PowerShell 配置文件 Profiles 不是自动创建的,有可能这个路径是存在, 打开电脑对应的目录却找不到 WindowsPowerShell 目录 和 Microsoft.PowerShell_profile.ps1 文件。
可以通过命令Test-Path $PROFILE查看当前是否存在Powershell配置文件

如果没有 Microsoft.PowerShell_profile.ps1文件,使用命令 new-item -path $PROFILE -itemtype file -force 创建一个 PowerShell 配置文件,最好是在创建好 PowerShell 配置文件文件后查看下当前的 PowerShell 执行策略,get-ExecutionPolicy将执行策略设置为 RemoteSigned
执行命令是:set-ExecutionPolicy RemoteSigned,如果不设置可能会报错无法加载配置文件。

在创建好的配置文件中添加如下内容,用指定的编辑器打开:

# 使用 vscode 打开 $PROFILE 配置文件

function vscodeOpen {

 Code $PROFILE

}

# 使用 nodepad++ 打开 $PROFILE 配置文件

function notepadOpen {

 noetepad $PROFILE

}

个性化定制主题

[oh-my-posh定制化配置](Customize | Oh My Posh)
oh-my-posh 主题

在配置文件中定制主题的方式有三种:

方式1:本地配置,所有的本地主题都在安装的/OhMyposh/theme目录下,以.json结尾

oh-my-posh init pwsh --config 'C:/Users/Posh/jandedobbeleer.omp.json' | Invoke-Expression

这里的目录要根据自己电脑的路径修改

方式2:远程方式,通过链接的方式拉取在线的主题

oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/jandedobbeleer.omp.json' | Invoke-Expression

方式3:通过设置用户环境变量的方式配置主题。(使用中)

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/jandedobbeleer.omp.json" | Invoke-Expression

配置后的终端效果如下:
配置好的终端

注意:前文就提到了需要下载带有字形的字体,在settings.json中设置字体,只要是Nerd Font字体簇中的就行。

到此,终端美化基本就完成了。

快速打开设置文件

在PowerShell配置文件中添加一个函数openTermialSetting,方便下次修改设置。

function openTermialSetting {  
 Code C:\Users\Administrator\AppData\Local\Microsoft\Windows Terminal\settings.json  
}

去除终端开始的版权内容

在PowerShell配置文件开始添加:

# 去除 Window PowerShell 版权所有提示  
clear

去掉版权后的终端

更换其他主题

oh-my-posh与其说是一款主题,更不如说是一套脚手架,其中内置了很多可以直接使用的主题,可以根据自己的喜欢选择。

在终端使用命令 get-Poshthemes 查看本地 oh-my-posh 的所有主题,并且会出现其他主题的样式

在 oh-my-posh 官网查看 oh-my-posh 主题

打开主题文件夹,复制 .json 前面的主题名称,终端使用上面配置的函数 vscodeOpen 命令打开 $PROFILE 文件,修改对应的 xx.json 名称就能完成主题切换

最终效果

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值