还在用默认的主题?通过 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 安装路径不是上面的路径,则需要手动修改为您的路径。

相关推荐
charlie1145141911 天前
从0开始的操作系统手搓教程43——实现一个简单的shell
学习·操作系统·教程·shell·手搓教程
卡卡军5 天前
一条命令部署前端代码
前端·shell
对许7 天前
SSH远程登录并执行命令
linux·ssh·shell
鸡鸭扣13 天前
Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)
linux·运维·shell
老友@14 天前
Docker 部署 Graylog 日志管理系统
运维·docker·容器·shell·日志·graylog·日志监控
江禾藜15 天前
rgin命令行工具--一键生成gin框架的开发脚手架
go·gin·命令行
Nerd Nirvana18 天前
OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
linux·ssl·shell·认证·加密·tls·oepnssl
致奋斗的我们18 天前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
龙哥·三年风水1 个月前
shell+kafka实现服务器健康数据搜集
运维·kafka·shell