当前位置: 首页 > article >正文

PowerShell 美化 增强教程

PowerShell + Windows Terminal 美化 & 增强教程

Windows Terminal + PowerShell 默认外观和功能较为基础,但通过 Oh My Posh 及其他增强工具,你可以打造一个更美观、更高效的终端环境。本教程提供完整的安装、美化和优化步骤,包括常见问题的解决方案。


1️⃣ 安装 Windows Terminal

Windows Terminal 是微软官方的现代化终端,支持多标签、主题自定义、GPU 加速等功能。

🔹 方法 1:使用 Microsoft Store(推荐)

  1. 打开 Microsoft Store
  2. 搜索 Windows Terminal
  3. 点击 安装

🔹 方法 2:使用 Winget(命令行安装)

如果你的系统支持 winget,可以直接运行:

winget install --id Microsoft.WindowsTerminal -e

🔹 方法 3:从 GitHub 下载手动安装

  1. 访问 Windows Terminal 官方 GitHub
  2. 下载最新的 .msixbundle
  3. 双击安装

2️⃣ 如何打开 Windows Terminal

🔹 方法 1:使用开始菜单

  1. 按 Win + S
  2. 搜索 Windows Terminal(终端)
  3. 点击打开

在这里插入图片描述

🔹 方法 2:使用快捷键

  1. Win + X → 选择 Windows Terminal(终端)
  2. Win + R → 输入 wt → 按 Enter

🔹 方法 3:右键菜单打开

  1. 在 桌面或文件夹空白处 右键
  2. 选择 在 Windows Terminal(终端)中打开
  3. 这会直接打开当前目录的终端

3️⃣ 安装 Oh My Posh(终端美化)

Oh My Posh 是一个强大的终端美化工具,可以为 PowerShell 提供炫酷的主题。

🔹 方法 1:使用 Winget 安装(推荐)

winget install JanDeDobbeleer.OhMyPosh -s winget

在这里插入图片描述

🔹 方法 2:手动安装

  1. 访问 Oh My Posh GitHub Releases
  2. 下载 Windows 版本的安装包
  3. 解压后,将 oh-my-posh.exe 添加到 PATH

4️⃣ 配置 Oh My Posh 环境变量

🔹 确定安装路径

用户级的安装路径如下图:
在这里插入图片描述
默认是安装在当前用户的路径下。如果是全部用户,那么路径大概是 C:\Program Files\oh-my-posh,有可能是C:\Program Files (x86)\oh-my-posh

🔹 确定安装路径

  1. 按 Win + S,搜索 环境变量,然后打开 “编辑系统环境变量”
  2. 在 “高级” 选项卡中,点击 “环境变量”
  3. 在 “用户变量” 或 “系统变量” 里找到 Path,然后 编辑
  4. 点击 “新建”,然后添加以下路径:

🔹 验证安装是否成功

oh-my-posh --version

如果返回版本号,说明安装成功!🎉


5️⃣ 配置 Oh My Posh 主题

🔹 测试 Oh My Posh 默认主题

先运行下面的命令,看看终端是否已经可以使用 Oh My Posh:

oh-my-posh init pwsh | Invoke-Expression

💡 如果成功,你的终端提示符会发生变化!
📌 但是这个是临时的,重启终端后会恢复原样,所以我们需要进行永久配置。

🔹 配置 Oh My Posh 让它永久生效

🔹 确定配置文件存在

运行以下命令,确定配置文件是否存在:

Test-Path $PROFILE

如果返回是False,那么 PowerShell 配置文件 ($PROFILE) 不存在。

在这里插入图片描述
如果结果是没有这个文件,那么需要手动创建。手动创建 $PROFILE 的命令:

New-Item -Path $PROFILE -ItemType File -Force

📌 作用:这会创建 Microsoft.PowerShell_profile.ps1 文件,并确保它存在。

然后再检查:

Test-Path $PROFILE

如果返回 True,说明文件已经成功创建!🎉

🔹 写入 Oh My Posh 配置
  1. 编辑 $PROFILE:
notepad $PROFILE
  1. 在文件的最后添加:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/powerlevel10k_rainbow.omp.json" | Invoke-Expression

在这里插入图片描述

上面配置的主题是 powerlevel10k,我比较喜欢这个主题,其他设备都是这个主题。大家可以根据自己喜欢设置不同的主题。下面是另一个主题:

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

在这里插入图片描述

🔹 允许 PowerShell 运行配置文件

在这里插入图片描述

如果 PowerShell 提示不允许运行脚本,你需要调整执行策略

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

然后输入 Y 确认。
📌 解释:

  • RemoteSigned 允许本地脚本运行,但来自互联网的脚本需要签名。
  • -Scope CurrentUser 只对当前用户生效,不影响系统其他用户。
🔹 重新启动终端
  1. 关闭 Windows Terminal
  2. 重新打开 PowerShell
  3. 现在你的 Oh My Posh 主题应该会自动加载了!🎉
🔹 如何查看当前使用的主题

你可以运行:

oh-my-posh print

📌 这个命令会打印当前使用的主题的详细 JSON 配置,包括颜色、图标、段落等。

echo $env:POSH_THEME

📌 这会输出当前 Oh My Posh 所使用的 .omp.json 主题文件路径。

🔹 编辑当前 Oh My Posh 配置

如果你想修改当前主题:

oh-my-posh config edit

📌 这个命令会打开当前主题的 JSON 配置文件,你可以自定义提示符的样式、颜色、图标等。


6️⃣ 安装 Nerd Font(避免图标乱码)

Oh My Posh 依赖 Nerd Font 来正确显示图标。如果不安装,你可能会看到 ? 代替图标。

🔹 使用 Oh My Posh 命令安装字体

oh-my-posh font install  # 安装字体(可选)

在这里插入图片描述

🔹 推荐字体下载

从 GitHub 下载适合终端的 Nerd Font:

  • Cascadia Code Nerd Font(Windows Terminal 推荐)
    🔗 下载 Cascadia Code Nerd Font
  • Fira Code Nerd Font(开发者推荐)
    🔗 下载 Fira Code Nerd Font
  • JetBrains Mono Nerd Font(JetBrains 出品,开发友好)
    🔗 下载 JetBrains Mono Nerd Font
  • Hack Nerd Font(等宽字体,适合终端)
    🔗 下载 Hack Nerd Font
  • 也可以直接访问官网选择:
    🔗 Nerd Fonts 官方网站
    🔗 Nerd Fonts GitHub Releases(官方下载页)

🔹 安装字体 & 设置 Windows Terminal

  1. 解压 .zip
  2. 双击 .ttf 文件点击安装
  3. 打开 Windows TerminalCtrl + , 进入 设置
  4. 选择 PowerShell,找到 字体(Font face)
  5. 选择刚刚安装的 Nerd Font
  6. 保存 & 关闭

在这里插入图片描述
在这里插入图片描述
✅ 推荐安装以下字体(TrueType .ttf)

  • CaskaydiaCoveNerdFont-Regular.ttf(最标准的等宽 Nerd Font 版本)
  • CaskaydiaCoveNerdFontMono-Regular.ttf(等宽版本,适合终端)
  • CaskaydiaCoveNerdFont-Bold.ttf(加粗版,可选)

7️⃣ 切换临时 Oh My Posh 主题

🔹 选择主题并启用

列出本地可用主题:

Get-ChildItem $env:POSH_THEMES_PATH

然后使用某个主题,例如 paradox.omp.json

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

🔹 让配置永久生效

notepad $PROFILE

添加以下内容:

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

保存文件,重启终端 🎉


8️⃣ 增强 PowerShell 功能(Tab 补全、历史搜索、智能 cd 等)

🔹 启用语法高亮 & 补全(PSReadLine)

运行以下命令:

Install-Module PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck

然后,打开 PowerShell 配置语法高亮:

# 启用语法高亮
Set-PSReadLineOption -Colors @{ "Command" = "DarkYellow" }# 启用历史命令搜索(按 `Ctrl + R` 启用)
Set-PSReadLineOption -PredictionSource History# 启用 Tab 补全
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -HistorySearchCursorMovesToEnd

🔹 安装 zoxide(更强大的 cd 命令)

zoxide 是一个比 cd 更智能的目录跳转工具:记住访问过的目录

winget install ajeetdsouza.zoxide

然后在 $PROFILE 里添加:

Invoke-Expression (& { (zoxide init powershell) -join "`n" })

这样,你可以使用:

z foo  # 直接跳转到包含 'foo' 的目录
z ~/Documents  # 直接跳转到 Documents

🔹 安装 eza(更好的 ls 命令)

Windows 的 scoop 包管理器可以安装 exa(现在叫 eza)。如果你还没有安装 scoop,可以先运行:

irm get.scoop.sh | iex

然后安装 eza:

scoop install eza  # 或 choco install exa

默认显示图标:

eza -l --icons

🔹 更好的 cat 命令(bat

batcat 的增强版:

winget install sharkdp.bat

然后使用:

bat file.txt

✅ 支持代码高亮
✅ 带行号
✅ 比 cat 更强大

🔹 fzf:终端模糊搜索

fzf 是一个强大的模糊搜索工具:

winget install junegunn.fzf

然后,你可以用:

Ctrl + R  # 搜索历史命令

PowerShell 自带的 Ctrl + R 更智能!


9️⃣ 常见问题 & 解决方案

🔹 $PROFILE 文件不存在

如果 $PROFILE 不存在,先创建它:

New-Item -Path $PROFILE -ItemType File -Force
notepad $PROFILE

🔹 ? 号图标乱码

  1. 确保你安装了 Nerd Font
  2. 确保 Windows Terminal 选择了 Nerd Font

🔹 ls -l --icons 参数错误

PowerShell 可能误解析参数,使用:

eza --% -l --icons

结论:你的终端已全面优化!

🎉 现在你的 PowerShell 已经变成一个 更美观、更智能、更强大 的终端!

安装 Windows Terminal & Oh My Posh
配置终端字体,避免乱码
美化终端主题
增强补全、历史搜索、cd & ls

🚀 试试看,如果有问题,欢迎留言交流!😊

相关文章:

PowerShell 美化 增强教程

PowerShell Windows Terminal 美化 & 增强教程 Windows Terminal PowerShell 默认外观和功能较为基础,但通过 Oh My Posh 及其他增强工具,你可以打造一个更美观、更高效的终端环境。本教程提供完整的安装、美化和优化步骤,包括常见问题…...

机械革命蛟龙16pro玩游戏闪屏

我查过原因,好像是AMD显卡对游戏用了可变刷新率就出bug了,可能是那个游戏不适合用可变刷新率技术。 解决办法: 1.桌面右键鼠标,出现如下标签,点击AMD Software:Adrenalin Edition 2.选择闪屏的游戏&#x…...

《AI赋能云原生区块链,引领供应链溯源革新》

在数字化浪潮席卷全球的当下,供应链管理领域正经历着深刻变革。云原生区块链凭借其去中心化、不可篡改等特性,为供应链溯源带来了前所未有的透明度与可靠性。而AI的融入,更如虎添翼,以强大的智能分析和决策能力,为云原…...

练习题:94

目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 代码实现 代码解释 while 循环: 获取用户输入: 判断输入内容: 使用 break 语句: 处理非 "quit" 输入: 循环结束后的操作&am…...

实现图片多种处理需求的实用工具

在自媒体创作与日常办公时,图片处理常让人焦头烂额。今天就给大家介绍一款得力帮手——Fotosizer,它能帮你轻松批量处理图片,满足多样化需求。Fotosizer是一款功能强大的图片批量处理软件,无需安装,打开即用&#xff0…...

数据结构中的引用管理对象体系

数据结构中的引用管理对象体系 (注:似复刻变量即实例对象) 引用管理对象的,有引用就能管理到它所指向的对象,我们拿引用最终的目的就是管理那些我们需要管理的最终直接对象,引用也是对象,同时…...

Qwen2.5-VL 开源视觉大模型,模型体验、下载、推理、微调、部署实战

一、Qwen2.5-VL 简介 Qwen2.5-VL,Qwen 模型家族的旗舰视觉语言模型,比 Qwen2-VL 实现了巨大的飞跃。 欢迎访问 Qwen Chat (Qwen Chat)并选择 Qwen2.5-VL-72B-Instruct 进行体验。 1. 主要增强功能 1)直观地理解事物&…...

qyqt5项目打包成应用程序后,adb命令无效

问题:在Pycharm中执行以下代码能正常输出版本信息,但是使用pyinstaller 打包成pkg之后,运行软件一直都输出不了信息 version_info os.popen(f"adb version").read()解决方案: 配置adb 路径 adb_path os.getenv(ADB_…...

关于Docker是否被淘汰虚拟机实现连接虚拟专用网络Ubuntu 22.04 LTS部署Harbor仓库全流程

1.今天的第一个主题: 第一个主题是关于Docker是否真的被K8S弃用,还是可以继续兼容,因为我们知道在去年的时候,由于不可控的原因,docker的所有国内镜像源都被Ban了,再加上K8S自从V1.20之后,宣布…...

深入解析 `SQL_SMALL_RESULT`:MySQL 的“小优化”大作用

深入解析 SQL_SMALL_RESULT:MySQL 的“小优化”大作用 在 MySQL 的查询优化工具箱中,SQL_SMALL_RESULT 是一个容易被忽略但可能带来小幅性能提升的关键字。它适用于特定场景,尤其是涉及 GROUP BY 或 DISTINCT 计算的小数据集查询。本文将深入…...

RG-S3760应用协议配置

RG-S3760应用协议配置 1. dhcp 服务配置 提问:如何在设备上开启dhcp 服务,让不同VLAN 下的电脑获得相应的IP 地址? 回答: 步骤一:配置VLAN 网关IP 地址,及将相关端口划入相应的VLAN 中 S3760#con t S…...

Vue3 界面设计插件 microi-pageengine 入门教程一

系列文章目录 一、Vue3空项目快速集成 microi-pageengine 插件 文章目录 系列文章目录一、前言二、排版布局2.1 功能导航区2.2 组件容器区2.3 属性面板区 三、数据来源配置3.1 json数据源3.2 html数据源 四、事件穿透五、数据保存持久化六、总结 一、前言 上一篇文章介绍了 v…...

OpenCV-Contrib常用扩展模块

‌一、高频使用模块‌ ‌aruco 模块‌ ‌功能‌:用于生成与检测二维码(如 ArUco Marker、AprilTag),支持增强现实(AR)中的物体定位与姿态估计‌。‌典型应用‌:AR 应用中的场景锚定、机器人导航…...

诺视Micro-LED微显示芯片量产线投产 ——开启微显示技术新时代

2025年3月19日,诺视科技Micro-LED微显示芯片一期量产线正式投入生产。这一具有里程碑意义的时刻,标志着诺视科技在Micro-LED微显示领域实现了产业化的重大突破,不仅为自身发展奠定了坚实基础,同时也为全球微显示行业带来新的活力。…...

数据库:一文掌握 Oracle 的各种指令(Oracle指令备忘)

文章目录 入门SELECT 语句SELECT INTO 语句INSERT 语句DELETE 语句UPDATE 语句 SEQUENCESCREATE SEQUENCEALTER SEQUENCE从字符串生成查询字符串操作InstrReplaceSubstrTrim DDL SQL创建表添加列修改列删除列约束类型和代码显示约束选择参照约束对表设置约束表上的唯一索引添加…...

java并发编程 juc线程类介绍

Java并发编程实战:深度解析CountDownLatch、CyclicBarrier与Semaphore 引言:线程同步的艺术 在现代多核处理器架构下,高效的并发编程能力已成为Java开发者的必备技能。java.util.concurrent包中的CountDownLatch、CyclicBarrier和Semaphore…...

API接口自动化学习总结

视频:python 做 API接口测试 和 自动化 - 1周入门_哔哩哔哩_bilibili 资料:HTTP协议 - 白月黑羽 要学习接口自动化,先要知道http协议和requests库,后面则是接口手工测试和接口自动化测试。 HTTP协议: HTTP协议简介…...

Python中的字典:深度解析与应用实践

一、字典的本质与特性 Python字典(Dictionary)是以**键值对(Key-Value Pair)**形式存储数据的无序集合,使用大括号{}定义。其核心特性包括: 快速查找:基于哈希表实现,通过键&#…...

1. 环境准备

安装CentOS 7 配置网络 默认网络是NAT 端口转发 更改/etc/sysconfig/network-scripts/ifcfg-ens33 修改以下内容: BOOTPROTOstatic 启用静态IP地址 ONBOOTyes 开启自动启用网络连接 添加以下内容: IPADDR192.168.30.100 设置IP地址 NETMASK255.25…...

【链表】一文搞定链表算法:从基础到实战

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言例题一、两数相加二、两两交换链表中的节点三、重排链表四、合并K个升序链表五、 K个⼀组翻转链表 结语 前言 什么是链表算法: 链表算法&#xff0…...

瑞萨RA系列使用JLink RTT Viewer输出调试信息

引言 还在用UART调试程序么?试试JLINK的RTT Viewer吧!不需占用UART端口、低资源暂用、实时性高延时微秒级,这么好的工具还有什么理由不用了! 目录 一、JLink RTT Viewer 简介 二、软件安装 三、工程应用 3.1 SEGGER_RTT驱动包 3.2 手搓宏定义APP_PRINT 3.3 使用APP_…...

DEFI币生态重构加速,XBIT去中心化交易所引领DEX安全新范式

2025年3月18日,全球加密市场在监管与技术共振下迎来结构性变革。去中心化金融(DeFi)代币DEFI币因跨链流动性协议升级引发社区热议,而币应XBIT去中心化交易所(以下简称XBIT)凭借其链上透明验证机制、无需下载…...

高性能缓存:使用 Redis 和本地内存缓存实战示例

在现代高并发系统中,缓存技术是提升性能和降低数据库压力的关键手段。无论是分布式系统中的Redis缓存,还是本地高效的本地内存缓存,合理使用都能让你的应用如虎添翼。今天,我们将基于go-dev-frame/sponge/pkg/cache库的代码示例&a…...

Linux动态库和静态库

Linux动态库和静态库 Linux动态库和静态库动静态库的基本原理可执行程序的生成过程动静态库的本质 认识动静态库背后的库支持动静态库的命名静态链接示例 动静态库各自的特征静态库动态库 静态库的打包与使用示例文件打包1. 生成目标文件2. 打包静态库3. 组织文件使用 Makefile…...

13 IO流:字节流、字符流、缓冲流、文件复制(字节/字符/缓冲区)、字符转换流、打印流、IO框架(黑马Java视频笔记)

文章目录 IO流 >> 读写数据的方案1. 认识IO流1)IO流的分类2)IO流的体系 2. 文件字节输入流2.1 创建文件字节流对象2.2 读取文件1)使用read()方法一个一个字节的读取2)使用字节数组读取数据:byte[]3)使用字节流读…...

深入理解 TypeScript 中的迭代器(Iterators)与生成器(Generators)

一、为什么需要迭代协议? 在现代 JavaScript/TypeScript 开发中,我们经常需要处理各种集合型数据:数组、Map、Set 甚至是自定义数据结构。ES6 引入的迭代协议(Iteration Protocols)正是为了解决统一遍历机制的问题。通…...

靶场(十四)---小白心得思路分享---Extplorer

启程: 开始扫描端口服务,发现什么都没有,果断进行下一步目录扫描 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 98:4e:5d:e1:e6:97:29:6f:…...

逆向中常见的加密算法识别

1、base64及换表 base64主要是将输入的每3字节(共24bit)按照每六比特分成一组,变成4个小于64的索引值,然后通过一个索引表得到4个可见的字符。 索引表为一个64字节的字符串,如果在代码中发现引用了这个索引表“ABCDEF…...

【初学者】怎样学习、使用与研究算法?

李升伟 整理 学习、使用与研究算法是一个系统化的过程,涉及理论学习、实践应用和深入研究。以下从学习方法、使用技巧和研究方向三个方面进行详细阐述: 一、学习方法 1. 分阶段学习 初级阶段:掌握经典算法,如最短路径算法&…...

【愚公系列】《高效使用DeepSeek》018-错题本整理

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...