还在用默认的主题?通过 Oh my push 美化你的 Powershell

安装 Windows Terminal

这是一个微软出品的终端,如果你的操作系统是Windows 11,那么它已经被集成在了系统中。

您也可以使用其它终端,请按照对应的使用方法修改字体和启动的 Shell。

前往 Windows Terminal 页面下载安装,或者可以直接在 Microsoft Store 搜索 Windows Terminal 进行安装。

安装完成后可在任意页面右键打开终端。

安装 Power Shell 7

Windows 10 / 11 系统自带的是 PowerShell 5。如果你还没有 PowerShell 7,点我下载

在终端设置中,将 Power Shell 7 设为默认,并且将管理员权限打开。

如果不想将 Power Shell 7 设置默认,也可以在新建窗口时按住Ctrl键,就会以管理员权限新建窗口。

安装 Oh My Posh

Oh My Posh 是一个命令行提示工具,通常用于美化和自定义终端提示符。它允许用户创建自定义的终端提示符,包括颜色、图标、文本样式等,以提高终端的可视化吸引力和功能性。

安装 Oh My Posh。

复制代码
winget install JanDeDobbeleer.OhMyPosh

将 Oh My Posh 添加到环境变量中。

ruby 复制代码
$env:Path += ";C:\Users\user\AppData\Local\Programs\oh-my-posh\bin"

配置 Oh My Posh

打开 Power Shell 7 终端,执行下面的命令创建配置文件。

arduino 复制代码
New-Item -Path $PROFILE -Type File -Force

然后执行下面的命令打开文本编辑。

bash 复制代码
notepad $Profile

将以下内容输入到文件中。

kotlin 复制代码
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/uew.omp.json" | Invoke-Expression

新建一个 Power Shell 7 终端查看效果。

Nerd 字体

配置好主题后,可以看到 Oh My Posh 的配置已经生效了,但是会有乱码的情况出现。乱码是因为当前 Windows Terminal 使用的字体不是 Nerd Fonts 字体(见官方文档),因此我们需要下载一份 Nerd Fonts 字体并配置为 Windows Terminal 使用的字体。

这里下载名为 CaskaydiaCove Nerd Font 的字体并进行安装。

安装完成后,重启 Windows Terminal,进入设置界面,选择 Power Shell 7 的外观选项修改字体。

重新启动 Windows Terminal 发现已经正常。

修改主题

如果想要修改主题,可以运行如下命令查看可用主题效果。

sql 复制代码
Get-PoshThemes

效果如下:

然后运行 notepad $Profile 命令打开配置文件,将 uew 修改为你选择的主题名称,如选择了 velvet,则完整内容如下:

kotlin 复制代码
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/velvet.omp.json" | Invoke-Expression

也可以通过官方文档中的主题示例进行选择。

其他关于 Windows Terminal 的外观修改可以直接从设置中进行修改,如毛玻璃等效果。

为 VS Code 配置默认终端

如果想要将 VS Code 的默认终端设置为 Power Shell 7,打开设置,进入 settings.json,将如下配置复制到您的配置文件中。重启 VS Code 后生效。

json 复制代码
{
  "terminal.integrated.profiles.windows": {
    "PowerShell 7": {
      "path": "C:\Program Files\PowerShell\7\pwsh.exe"
    }
  },
  "terminal.integrated.defaultProfile.windows": "PowerShell 7"
}

如果你的 Power Shell 7 安装路径不是上面的路径,则需要手动修改为您的路径。

相关推荐
岚天start12 小时前
[K8S监控]-K8S容器pod异常状态监控脚本并推送钉钉告警
容器·kubernetes·钉钉·shell·告警
課代表3 天前
Windows 批处理 bat 变量扩展名
windows·命令行·bat·批处理·扩展名·递归遍历·后缀名
AlbertS3 天前
Shell脚本中set -e和set -o pipefail的作用
shell·pipefail·trap·脚本错误·控制流程
阿海5744 天前
安装php7.4.33的shell脚本
php·shell
阿海5744 天前
卸载redis7.2.4的shell脚本
linux·redis·shell
小嘟嘟135 天前
从基础到进阶:掌握 userdel,玩转 Linux 用户管理的 “减法” 艺术
linux·运维·网络·shell
gis分享者5 天前
如何在 Shell 脚本中实现文件的读写操作?(容易)
shell·文件·awk·echo·cat··
eight *6 天前
源码部署docker自动化脚本
docker·shell
一点都不方女士6 天前
Windows系统提示“找不到ffmpeg.dll”?3种下载修复指南
windows·ffmpeg·dll·命令行·动态链接库·运行库
gis分享者7 天前
如何在 Shell 脚本中使用管道(pipeline)实现数据传递?(容易)
linux·pipeline·shell·脚本·管道·数据传递