「够用、够快、够自由」才是我心目中的终端提示符。


一个开发者的烦恼

每天打开 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,打造快速高效的命令提示的更多相关文章

  1. 手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果

    七夕来咯!又到了给重要的人送惊喜的时刻. 今年,除了将心意融入花和礼物,作为程序员,用自己的代码本事手搓一个技术感十足"七夕限定"惊喜,我觉得,这是不亚于车马慢时代手写信的古典主义 ...

  2. 【手搓模型】亲手实现 Vision Transformer

    前言 博客主页:睡晚不猿序程 首发时间:2023.3.17,首发于博客园 最近更新时间:2023.3.17 本文由 睡晚不猿序程 原创 作者是蒻蒟本蒟,如果文章里有任何错误或者表述不清,请 tt 我, ...

  3. 手搓一个兔子问题(分享一个C语言问题,持续更新...)

    大家好,我是小七夜,今天就不分享C语言的基础知识了,分享一个比较好玩的C语言经典例题:兔子问题 题目是这样的:说有一个穷苦人这天捉到了一只公兔子,为了能繁衍后代他又买了一只母兔子,后来兔子开始生小兔子 ...

  4. 手搓一个C语言简单计算器。

    #include <stdio.h> void xing(int shu); void biaoti(int kong,char * title); void zhuyemian(char ...

  5. 手搓SSM

    相关资料,网上的资料很多,但是文章看不懂,看别人写好的代码比较好理解 ssm-example mysssm 整个流程和原理 一个入口类,入口类需要在tomcat启动的时候执行 通过扫描文件加把文件取出 ...

  6. 微网站|手机端html弹窗、弹层、提示框、加载条

    layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...

  7. 【手写代码】快速计算数字x有多少个二进制1

    #include<bits/stdc++.h> #include<vector> using namespace std; int f1(int x) { ; ) { )==) ...

  8. MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由

    目前可用于文件存储的网络服务选择有很多,比如阿里云OSS.七牛云.腾讯云等等,但是收费都有点小贵.为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器.直到我发现了Mi ...

  9. 腾讯WeTest《2017中国移动游戏质量白皮书》开放预约,再为国内手游把把脉

    产品为王,质量先行.如果说2016年是爆款手游相继崛起的一年,那么2017年则更像是打磨精品.建立生态的高手切磋之年.守住一个游戏的质量生命线,方能建立健康生态,方能在如火如荼的行业竞争中角逐到最后. ...

  10. 企业级服务元年:iClap高效解决手游更新迭代问题

    2006年至今,手游市场经历了不少变革,从WAP站到2009年智能手机时代来临,2012大量资本涌入国内手游行业,到2014年手游市场趋于成熟,细分市场成为追逐热门,在2015年优胜劣汰的资本寒冬浪潮 ...

随机推荐

  1. 深入理解Java泛型、协变逆变、泛型通配符、自限定

    禁止转载 重写了之前博客写的泛型相关内容,全部整合到这一篇文章里了,把坑都填了,后续不再纠结这些问题了.本文深度总结了函数式思想.泛型对在Java中的应用,解答了许多比较难的问题. 纯函数 协变 逆变 ...

  2. 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)

    在人工智能飞速发展的今天,大语言模型的应用越来越广泛.DeepSeek 作为近期爆火的一款大语言模型,受到了众多开发者的青睐. 今天这篇内容,就来聊聊,如何在本地自己的电脑上部署DeepSeek. 1 ...

  3. flutter-路由传值携带中文时,报错

    解决方案: 路由采用了第三方:fluro 1 Application.router.navigateTo(context, "/searchresult?word=${Uri.encodeC ...

  4. FANUCR2000iB发那科机器人保养有哪些

      1.机器人保养的重要性   机器人都需要预防性保养,这样可以保证它们在生产线上保持最佳性能和实现一致性.当机器人没有进行定期的预防性保养检查,可能会导致零部件损坏或故障,从而致使生产放慢甚至停机. ...

  5. tomcat启动时启动窗口出现乱码的解决方案

    工具/原料   一台安装了tomcat的电脑 方法/步骤     先来看看问题(图示),在tomcat的启动窗口打印的启动信息中包含了大量的中文乱码,虽然这些对tomcat本身的使用没有任何影响,但却 ...

  6. Java开发中long类型转换json传递到前端后精度丢失问题

    将文章的id由long类型手动改为String类型(需要修改表结构); 可以使用Jackson进行序列化解决

  7. WPF调用FishSpeech的Demo

    写了一个FishSpeech的教程:使用FishSpeech进行语音合成推理 - 天命小猪 - 博客园 研究了一下如何调用服务器API,朗读文本. 经过调研,决定使用NAudio库播放音频.遇到了一些 ...

  8. Wifi - 查看连接过的Wifi的密码

    使用管理员身份打开命令提示符 Microsoft Windows [版本 10.0.22621.1702] (c) Microsoft Corporation.保留所有权利. C:\Windows\S ...

  9. pandas表格数据-删除/赋值/字符串包含等

    官网:https://www.pypandas.cn/docs/ 1.删除某一固定列 del df['列名'] 删除某列某部分内容,以.str[0]取值 df['开始时间']=df['开始时间'].s ...

  10. 运算符“<”不能应用于类型“boolean”和“RegExp”。ts-plugin(2365)

    在使用vue3 + setup + ts + volar插件开发时,遇到文件全红报这个错,尝试很多方法没有效果,最后把vscode插件全部卸载,然后重新安装就好了,如果有遇到此问题的可以尝试同样的方法 ...