终端美化

0x01介绍

原生状态

  • cmd

    image-20210710101126016

  • powershell

    image-20210710101206515

  • Windows Terminal

    在Windows11中系统已将其作为了默认的终端工具,Windows10如果没有的话在Microsoft store中搜索WIndows Terminal下载即可

    image-20210710101431797

美化后

  • cmd

    image-20210710101517310

  • power Shell

    image-20210710101600535

    image-20210710101620050

  • Windows Terminal

    image-20210710101816221

    image-20210710101936670

说明

Windows Terminal终端就好比一个容器,可以将cmd和powershell等这些命令行解释器(shell)集成在一起,一同管理和使用。

所以正常情况下配置好Windows Terminal以后我们完全可以在Windows Terminal中对其他shell进行美化,而且也不再需要单独使用其他终端(单独cmd,powershell)等

但是我有的时候还是会用到原生的cmd和powershell,所以我还是对我需要用到的终端进行了了适度的美化,这个美化其实就是在配中更改一下字体、背景颜色等,大家可以根据自己的审美配置。

0x02 Windows Terminal美化

1.安装所需字体

因为oh-my-posh使用到的一些特殊符号很多字体是不支持的,会出现乱码

我使用的是官方推荐的字体Nerd Fonts字体Meslo LGM NF,另外像更纱黑体也是可以的,不会出现乱码问题,安装步骤:

  • 从字体地址下载压缩包进行解压,得到详细字体(其中红框中的字体是我最终使用的)

    image-20210712005818322

  • 可以双击字体进行预览,确定喜欢的字体后,点击安装即可

    image-20210712010051676

  • 然后在设置文件对应的shell添加以下配置(可以先不管,后面会详细讲)

    1
    "fontFace":"MesloLGM NF"

2.安装所需模块

终端美化主要需要两个模块:posh-git和oh-my-posh

安装命令:

1
2
3
# 以管理员身份打开powershell
Install-Module posh-git -Scope CurrentUser # 只为当前用户安装
Install-Module oh-my-posh -Scope CurrentUser

posh-git模块可以提供类似于oh-my-zsh一样的git显示分支信息,并且可以给 Git 命令、参数、远程和分支名称添加 tab 自动补全

oh-my-posh类似于oh-my-zsh,提供了许多主题供我们选择

oh-my-zsh后续也会讲到,用于Linux终端的个性化配置

详情参考:oh-my-posh官方文档

3.开始设置

在powershell终端输入以下命令

1
2
3
4
# 如果之前没有配置文件,就新建一个 PowerShell 配置文件
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
用记事本打开配置文件
notepad $PROFILE
  • 这条命令是打开powershell的配置文件,如果文件不存在就自动创建配置文件,创建的配置文件一般在C:\Users\<用户名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1这个路径,可以直接找到这个路径修改配置

打开配置文件后添加以下内容

1
2
3
Import-Module posh-git 
Import-Module oh-my-posh
Set-PoshPrompt -Theme iterm2 # 【以前是Set-Theme 主题命令】
  • 添加的内容是在shell中加载安装的模块和设置主题

配置文件中的命令是可以一条一条在终端运行的,但是那样的话当你重新打开shell时所有配置就会丢失,因此需要写入Windows PowerShell的用户配置文件,每次启动时就会自动加载这个脚本

5.选择主题

  1. Get-PoshThemes可以用来查看主题样式

    image-20210712110519376

    也可以访问ohmyzsh-github查看主题样式

  2. Set-PoshPrompt -Theme 主题命令用来进行主题预览

    image-20210712110827278

    这只是预览,当你重新打开一个Terminal时还是用的原来的主题,因此想要以后打开都时这个主题那么还是要修改前面说的配置文件

6. 设置Windows Terminal配置文件

配置文件参数详情可参考:新生代 Windows 终端:Windows Terminal 的全面自定义

此处只说以下我用到的

环境入口profiles中有个列表,列表中每一项就是一个下拉菜单中的shell环境,通过修改对应的配置从而修改对应Terminal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "PowerShell",
"commandline": "powershell.exe -nologo", //-nologo这个参数可以去掉启动时开头的那句话
"hidden": false,
"startingDirectory" : "C:/Users/31327/Desktop", // 启动时的初始路径

"acrylicOpacity" : 0.5, // 定义亚克力效果的透明度
"useAcrylic": true, // 背景启用亚克力着色(理解为毛玻璃)
"background" : "#242425", // 背景颜色

// "backgroundImage" : "F://个人文件//图片//动漫//02壁纸(轮换)(人物)//79965347_p11.jpg", // 图片地址"backgroundImageOpacity" : 0.8, //透明度
// "backgroundImageStretchMode": "uniformToFill", // 图片伸缩模式:设置伸缩模式成按比例放大
// "backgroundImageOpacity" : 0.5, //透明度

"fontFace":"MesloLGM NF", // 字体
"fontSize": 10, // 字体大小
"historySize": 9001,
"padding": "5, 5, 20, 25",
"tabTitle" : "Powershell", // Tab名称

"colorScheme": "Cobalt Neon" // 颜色方案
}
  • “commandline”: “powershell.exe -nologo”中-nologo这个参数可以去掉启动时开头的那句话

image-20210712153125370

  • 如果想要实现毛玻璃的效果就不能使用背景图片,实现毛玻璃主要是acrylicOpacity,useAcrylic这两个参数,而中间注释的一段就是用来设置图片的,可以根据个人口味选择,我倾向于毛玻璃,就是开头所示范的

颜色方案:就是用来设置各个代码不同的颜色

推荐几个颜色方案的网站:https://windowsterminalthemes.dev/

从中选择好自己喜欢的颜色方案后,复制下来一般是json格式,放入配置文件的schemes列表中

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": "Cobalt Neon",
"black": "#142631",
"red": "#ff2320",
"green": "#3ba5ff",
"yellow": "#e9e75c",
"blue": "#8ff586",
"purple": "#781aa0",
"cyan": "#8ff586",
"white": "#ba46b2",
"brightBlack": "#fff688",
"brightRed": "#d4312e",
"brightGreen": "#8ff586",
"brightYellow": "#e9f06d",
"brightBlue": "#3c7dd2",
"brightPurple": "#8230a7",
"brightCyan": "#6cbc67",
"brightWhite": "#8ff586",
"background": "#142838",
"foreground": "#8ff586",
"selectionBackground": "#094fb1",
"cursorColor": "#c4206f"
}
]

然后name复制到对应的Terminal的colorScheme中即可,至此美化设置就完毕了

7.报错

配置过程中Windows Terminal可能会报错:无法执行PowerShell脚本

类似与于下图:

image-20210712105337326

解决:

  • 输入命令:set-executionpolicy remotesigned
  • 注意:要以管理员身份启动Power Shell

这个问题是因为PowerShell的默认执行策略是不允许任何脚本运行的,可以用 Get-ExecutionPolicy命令查询当前的执行策略

image-20210712110135318

8.Windows Terminal添加git bash集成

image-20210712154956898

  1. 首先电脑上要有git环境,安装好git后找到git中bash的路径位置

    git安装详情参考:Windows系统Git安装教程(详解Git安装过程)

  2. 在配置文件中添加以下内容

    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
    26
    27
    28
    29
    {
    ...
    "profiles": {
    ...
    "list": [
    ...,
    {
    // 图片配置
    "acrylicOpacity" : 0.4,
    "useAcrylic": true,
    "background" : "#242425", // 背景颜色 因为ps默认是蓝底,这个和
    "backgroundImageStretchMode": "uniformToFill", // 设置伸缩模式成按比例放大
    "backgroundImageOpacity" : 0.5, //透明度
    fontFace":"MesloLGM NF",
    "fontSize": 10,
    "historySize": 9001,
    "padding": "5, 5, 20, 25",
    "colorScheme": "Cobalt Neon",
    "hidden": false,

    "guid": "{c0ca213b-694e-40d5-b09a-7e019d2a0086}", // 这个没有也是没关系的,这个只有设置启动默认shell时才会用到
    "name": "Git Bash",
    // 调用命令
    "commandline": "E:/09Programming/09git/Git/bin/bash.exe -li", // bash的的启动路径
    "icon" : "E:/09Programming/09git/Git/mingw64/share/git/git-for-windows.ico", // bash的ico图标
    }
    ]
    }
    }

其实主要内容就最后三句,其他的就是上面Windows Terminal美化的一些设置,bash.exe和ico图标就在git的安装路径之下

guid可以通过该网站随机生成,生成后复制进去即可

0x03 cmd和Powershell

这里介绍就是不使用Windows terminal,而是稍微修改一下原生的终端环境,cmd和powershell,先做点说明(以cmd为例,powershell类似)

1.说明

  • 原来的cmd和Powershell不好看主要原因就是字体问题,其他的设置重要但不是最重要的,因此重点是选择自己觉得舒服的字体

  • 当我们更改cmd.exe的设置时,会看到默认值和属性两个选项,这里简单说一下区别

    • 简单来说默认值影响新创建的任何快捷方式,属性值影响于当前会话的快捷方式,属性值的优先级高于默认值

      image-20210712112150510
    • 属性:你做的修改(比如字体、背景颜色等)会影响当前会话(准确来讲时影响从当前这个快捷方式打开的会话),当你重新打开cmd时,如果你是从上次修改的那个会话的快捷方式打开,那么修改还会在,但从其他快捷方式打开的cmd不受影响

      0kka5-7wk8q

    • 默认值:更改不会影响当前会话,而是会影响所有将来其他的会话(将来是指未来创建的快捷键方式)

      终端默认值设置

    详情参考:更改cmd.exe或PowerShell的设置时,默认值和属性之间的区别是什么

3.设置

设置的话主要就是几点:字体、字体大小、字体颜色、背景颜色、窗口大小、窗口透明度

需要注意的就是

  1. 字体颜色和背景颜色的搭配(我看了一些颜色搭配,浅底深字什么的,这个搭配就是看个人了)

  2. 透明度我推荐73%、90%、100%–>根据你的颜色搭配来确定

  3. 字体绝不能使用Console原生字体,我使用的是Microsoft.YaHei.Mono字体

    百度网盘链接-博主自用备份
    提取码:99aa

  • cmd目前(最终)配置

    image-20210712114637530

  • powershell就不贴出来了,这里主要提一下而已,因为这个具体的配置因人而异(主要是在下审美有限,只能凑合自己将就)

  • 进入以下进行个人喜好配置即可

    image-20210712130530974

0x04 附录

5 个 PowerShell 主题,让你的 Windows 终端更好看