Window环境下安装oh-my-posh美化terminal

First Post:
Last Update:

注意这边的美化terminal实际上还是美化的powershell

安装oh-my-posh

1
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))

新建.ps1脚本文件并写入命令

1
2
3
4
5
6
notepad $PROFILE
# $env:POSH_THEMES_PATH\<theme_name.json>,去上文提到的环境变量里看看,这里我选的是powerline
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\powerline.omp.json | Invoke-Expression
# 你也可以去C:\Users\Username\AppData\Local\Programs\oh-my-posh\themes查看有哪些预设主题
# 我自己用的是montys主题
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\montys.omp.json | Invoke-Expression

解决乱码问题

官方推荐下载 Meslo 字体.

注意,oh-my-posh使用的字体叫 Nerd.

下载了之后你会发现里面有很多的字体样式,如果不知道字体样式的区别.安装M开头字母的文件夹内所有字体就行了.各种字体的区别在Nerd的GIthub中有说明.

关于Visual Studio code

安装完后在VS code里面用Powershell做默认终端就有相应的效果了.

打开VS code终端时候应该还有部分的乱码,在设置里面找到终端字体进行修改.

1
2
3
Terminal › Integrated: Font Family
控制终端的字体系列,它默认为 "#editor.fontFamily#" 的值。
MesloLGMDZ Nerd Font

有些字体的名字可能不会想想象的那么直观,就比如Meslo在系统的完整名字叫MesloLGMDZ Nerd Font.

可以先去terminal软件里面设置里先设置字体,然后在设置页面左下角找到打开JSON文件

仔细找找你可以发现所使用的字体完整名称:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 例子
"profiles":
{
"defaults":
{
"colorScheme": "One Half Dark",
"elevate": true,
"experimental.retroTerminalEffect": false,
"font":
{
"face": "MesloLGMDZ Nerd Font" # 真正名称
},
"opacity": 100,
"useAcrylic": true
},