🚀 放弃 Oh-My-Posh,转而手搓 FastPrompt,打造快速高效的命令提示
「够用、够快、够自由」才是我心目中的终端提示符。
一个开发者的烦恼
每天打开 PowerShell,等待提示符加载完毕,我的内心就像在等待一个磨蹭的同事。
我用的是 Windows Terminal + PowerShell 7 + Nerd Fonts,起初搭配的是 [Oh-My-Posh] —— 这是个功能丰富、主题炫酷的提示符方案,看起来确实不错。
但时间一长,我开始觉得不对劲:
- 启动太慢:终端打开后,提示符好几秒才出现。
- 配置繁琐:各种 JSON/YAML 配置文件,调个颜色要试半天。
- 依赖太多:非 PowerShell 脚本写的核心逻辑,跨平台虽好,但调试不透明。
于是我问自己:
有没有可能,不依赖任何外部程序,只用纯 PowerShell 写一个简单、高效、够用的提示符?
答案就是:我亲手写了 FastPrompt
一个轻量级、零依赖、开发者友好的 PowerShell 提示符模块。
初衷很简单:
我只想要一个能秒级加载、清晰显示 Git 状态、样式不丑还兼容 Nerd Fonts的提示符。
于是我动手写了 FastPrompt。
它能做什么?
| 功能 | 描述 |
|---|---|
| 极速加载 | 没有任何外部依赖,纯 PowerShell 脚本,冷启动毫秒级 |
| Git 状态 | 展示分支名、工作区状态、提交 ahead/behind 状态 |
| 美观样式 | 仿 Git Bash 风格,多行提示符,搭配 Nerd Fonts |
| 易于扩展 | 模块化封装,自己改起来心里不慌 |
如何使用 FastPrompt?
1️⃣ 克隆仓库
git clone https://github.com/your-username/FastPrompt.git
2️⃣ 手动导入模块
Import-Module "D:\你的路径\FastPrompt\src\FastPrompt.psm1" -Force
3️⃣ 设置为默认加载(写入 profile)
'Import-Module "D:\你的路径\FastPrompt\src\FastPrompt.psm1" -Force' | Out-File -Append $PROFILE
️ 效果预览
美观、直观,一眼看清你现在在什么项目、什么分支、什么状态。

为什么我选择 FastPrompt 而不是继续用 Oh-My-Posh?
| 特性 | Oh-My-Posh | FastPrompt |
|---|---|---|
| 启动速度 | 明显卡顿 | 毫秒级响应 |
| 配置自由度 | ️ 配置复杂 | 脚本可读易改 |
| Git 状态 | 强大 | 精准够用 |
| 外部依赖 | 有(需安装本地 exe) | 零依赖 |
写给终端控的你
如果你:
- 也觉得 Oh-My-Posh 太重
- 也想节省终端冷启动的宝贵几秒钟
- 也希望提示符风格自己能说了算
项目地址
GitHub:https://github.com/denglei1024/FastPrompt
️ 欢迎 Star、Fork、提 PR,加入终端提速行动!
🚀 放弃 Oh-My-Posh,转而手搓 FastPrompt,打造快速高效的命令提示的更多相关文章
- 手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
七夕来咯!又到了给重要的人送惊喜的时刻. 今年,除了将心意融入花和礼物,作为程序员,用自己的代码本事手搓一个技术感十足"七夕限定"惊喜,我觉得,这是不亚于车马慢时代手写信的古典主义 ...
- 【手搓模型】亲手实现 Vision Transformer
前言 博客主页:睡晚不猿序程 首发时间:2023.3.17,首发于博客园 最近更新时间:2023.3.17 本文由 睡晚不猿序程 原创 作者是蒻蒟本蒟,如果文章里有任何错误或者表述不清,请 tt 我, ...
- 手搓一个兔子问题(分享一个C语言问题,持续更新...)
大家好,我是小七夜,今天就不分享C语言的基础知识了,分享一个比较好玩的C语言经典例题:兔子问题 题目是这样的:说有一个穷苦人这天捉到了一只公兔子,为了能繁衍后代他又买了一只母兔子,后来兔子开始生小兔子 ...
- 手搓一个C语言简单计算器。
#include <stdio.h> void xing(int shu); void biaoti(int kong,char * title); void zhuyemian(char ...
- 手搓SSM
相关资料,网上的资料很多,但是文章看不懂,看别人写好的代码比较好理解 ssm-example mysssm 整个流程和原理 一个入口类,入口类需要在tomcat启动的时候执行 通过扫描文件加把文件取出 ...
- 微网站|手机端html弹窗、弹层、提示框、加载条
layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...
- 【手写代码】快速计算数字x有多少个二进制1
#include<bits/stdc++.h> #include<vector> using namespace std; int f1(int x) { ; ) { )==) ...
- MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由
目前可用于文件存储的网络服务选择有很多,比如阿里云OSS.七牛云.腾讯云等等,但是收费都有点小贵.为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器.直到我发现了Mi ...
- 腾讯WeTest《2017中国移动游戏质量白皮书》开放预约,再为国内手游把把脉
产品为王,质量先行.如果说2016年是爆款手游相继崛起的一年,那么2017年则更像是打磨精品.建立生态的高手切磋之年.守住一个游戏的质量生命线,方能建立健康生态,方能在如火如荼的行业竞争中角逐到最后. ...
- 企业级服务元年:iClap高效解决手游更新迭代问题
2006年至今,手游市场经历了不少变革,从WAP站到2009年智能手机时代来临,2012大量资本涌入国内手游行业,到2014年手游市场趋于成熟,细分市场成为追逐热门,在2015年优胜劣汰的资本寒冬浪潮 ...
随机推荐
- 深度学习基础理论————CV中常用Backbone(Resnet/Unet/Vit系列/多模态系列等)以及代码
主要介绍在CV中常用的Backbone原理简易代码(代码以及原理经常更新),参考论文中的表格,对不同的任务所使用的backbone如下: 针对上面内容分为两块内容:1.基于卷积神经网络的CV Back ...
- 微信小程序slot(二)
在组件的 wxml 中可以包含 slot 节点,用于承载组件使用者提供的 wxml 结构. 默认情况下,一个组件的 wxml 中只能有一个 slot .需要使用多 slot 时,可以在组件 js 中声 ...
- Java代码覆盖率工具之Jacoco
Java代码覆盖率工具之Jacoco JaCoCo(Java Code Coverage)是一款面向Java语言的开源代码覆盖率工具,以其小型化和轻量化著称.它能够提供代码在测试过程中的覆盖率信息,帮 ...
- flutter3-trip仿携程酒店预订|Flutter3.27+Getx预约旅游酒店App程序
基于Flutter3.x+Dart3+GetX跨平台仿携程/飞猪旅行酒店客房预订查询app系统. flutter3_trip原创2025新版flutter3.27.1+dart3.6+getx+flu ...
- 福尼斯焊机TPS320i/TPS400i/TPS500i的焊接特性
福尼斯焊机设备原理 TPS320i.TPS400i.TPS500i和TPS 600iMIG/MAG电源由微处理器控制,机器人驱动器维修,是完全数字化的逆变器电源. 模块化设计和系统的扩展潜力使其具有高 ...
- Datagrip 破解
题记部分 方法一 [参考链接]:DataGrip 2023.2最新安装使用教程(附激活码,亲测好用)_糖果果爱分享的技术博客_51CTO博客 [软件版本]:datagrip-2023.3.4.win ...
- .net 8 C# 集成 AWS Cognito SMS/Email 注册与登录
本文主要分为三个部分: 1.描述 cognito 涉及的专业术语 以及 交互流程 2..net 集成的代码 3.感想 * 阅读提示 :鼠标悬停在 章节标题 上可见 文章目录 1. Cognito 概念 ...
- 【Ryan】: linux下挂在共享文件夹
点击查看代码 $ vmware-hgfsclient $ sudo vmhgfs-fuse .host:/ /mnt -o allow_other
- libvirt和qga的区别?
本文分享自天翼云开发者社区<libvirt和qga的区别?>,作者:乐道 Libvirt是一个开源项目,提供了一组API.工具.库,用于管理和控制虚拟化平台. 在Openstack环境中, ...
- nginx 简单实践:负载均衡【nginx 实践系列之四】
〇.前言 本文为 nginx 简单实践系列文章之三,主要简单实践了负载均衡,仅供参考. 关于 Nginx 基础,以及安装和配置详解,可以参考博主过往文章: https://www.cnblogs.co ...