当前位置:首页 > 科技  > 软件

Oh-My-Posh: 可定制且低延迟的跨平台/跨Shell提示符渲染器

来源: 责编: 时间:2024-06-11 08:43:26 267观看
导读开发人员在使用命令行工具时,经常需要一个简洁、美观且功能强大的提示符。Oh-My-Posh 正是为满足这一需求而生的一个项目。作为一个跨平台和跨Shell的提示符渲染器,Oh-My-Posh 以其高定制性和低延迟性脱颖而出。本文将

开发人员在使用命令行工具时,经常需要一个简洁、美观且功能强大的提示符。Oh-My-Posh 正是为满足这一需求而生的一个项目。作为一个跨平台和跨Shell的提示符渲染器,Oh-My-Posh 以其高定制性和低延迟性脱颖而出。lSd28资讯网——每日最新资讯28at.com

本文将深入探讨 Oh-My-Posh 的功能,包括其安装、配置、使用及其在不同操作系统和Shell中的表现。lSd28资讯网——每日最新资讯28at.com

什么是Oh-My-Posh?

Oh-My-Posh 是一个令人惊叹的提示符渲染器,支持多种Shell和操作系统。它以高度的可定制性和低延迟著称,允许用户根据自己的偏好创建独一无二的命令行提示符。lSd28资讯网——每日最新资讯28at.com

特性

  • 跨平台支持:支持 Windows、Linux、macOS。
  • 多种Shell支持:包括 PowerShell、Bash、Zsh、Fish 等。
  • 高可定制性:通过 JSON 配置文件进行详细配置。
  • 低延迟:设计上优化了性能,保证提示符的快速渲染。

安装

在Windows上安装

使用 Scoop

scoop install oh-my-posh

使用 Winget

winget install JanDeDobbeleer.OhMyPosh

在macOS和Linux上安装

使用 Homebrew

brew install jandedobbeleer/oh-my-posh/oh-my-posh

使用 Curl

sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-poshsudo chmod +x /usr/local/bin/oh-my-posh

配置

Oh-My-Posh 使用 JSON 文件进行配置,允许用户定义提示符的样式、颜色及显示的内容。lSd28资讯网——每日最新资讯28at.com

创建配置文件

首先,我们需要创建一个配置文件,例如 posh.json:lSd28资讯网——每日最新资讯28at.com

{    "final_space": true,    "segments": [        {            "type": "prompt",            "style": "powerline",            "foreground": "#ffffff",            "background": "#4c4c4c"        },        {            "type": "git",            "style": "plain",            "foreground": "#ff9800",            "properties": {                "branch_max_length": 20            }        },        {            "type": "path",            "style": "plain",            "foreground": "#bb86fc",            "background": "#160c28"        },        {            "type": "shell",            "style": "plain",            "foreground": "#76c7c0"        }    ]}

加载配置文件

在不同的Shell中加载配置文件的方法稍有不同:lSd28资讯网——每日最新资讯28at.com

  • PowerShell在 $PROFILE 文件中添加以下内容:
oh-my-posh init pwsh --config ~/path/to/posh.json | Invoke-Expression
  • Bash在 ~/.bashrc 文件中添加以下内容:
eval "$(oh-my-posh init bash --config ~/path/to/posh.json)"
  • Zsh在 ~/.zshrc 文件中添加以下内容:
eval "$(oh-my-posh init zsh --config ~/path/to/posh.json)"
  • Fish在 ~/.config/fish/config.fish 文件中添加以下内容:
oh-my-posh init fish --config ~/path/to/posh.json | source

示例配置详解

Git Segment

Git Segment 用于显示 Git 仓库的信息,如当前分支名称、未提交更改等。lSd28资讯网——每日最新资讯28at.com

{    "type": "git",    "style": "plain",    "foreground": "#ff9800",    "properties": {        "branch_max_length": 20,        "display_status": true,        "display_stash_count": true    }}

Path Segment

Path Segment 用于显示当前路径,特别适合长时间导航文件系统的开发人员。我们可以设置路径显示的样式及颜色。lSd28资讯网——每日最新资讯28at.com

{    "type": "path",    "style": "short",    "foreground": "#bb86fc",    "background": "#160c28",    "properties": {        "path_max_length": 40,        "home_icon": "~"    }}

Shell Segment

Shell Segment 用于显示当前Shell的信息,包括用户名称、主机名称等。lSd28资讯网——每日最新资讯28at.com

{    "type": "shell",    "style": "powerline",    "foreground": "#76c7c0",    "background": "#2c3e50",    "properties": {        "user_format": " $user",        "host_format": " $hostname"    }}

完整配置示例

结合上文的各个配置段,我们可以创建一个较为完整的配置文件:lSd28资讯网——每日最新资讯28at.com

{    "final_space": true,    "segments": [        {            "type": "prompt",            "style": "powerline",            "foreground": "#ffffff",            "background": "#4c4c4c"        },        {            "type": "git",            "style": "plain",            "foreground": "#ff9800",            "properties": {                "branch_max_length": 20,                "display_status": true,                "display_stash_count": true            }        },        {            "type": "path",            "style": "short",            "foreground": "#bb86fc",            "background": "#160c28",            "properties": {                "path_max_length": 40,                "home_icon": "~"            }        },        {            "type": "shell",            "style": "powerline",            "foreground": "#76c7c0",            "background": "#2c3e50",            "properties": {                "user_format": " $user",                "host_format": " $hostname"            }        },        {            "type": "time",            "style": "plain",            "foreground": "#d3d3d3",            "background": "#444444",            "properties": {                "time_format": "15:04:05"            }        }    ]}

结论

通过本文,我们了解了 Oh-My-Posh 的基础知识,包括其安装、配置和自定义方法。Oh-My-Posh 提供的丰富配置选项和简洁的提示符样式,可以极大地提高命令行工具的使用体验。无论是在 Windows、macOS 还是 Linux 上,Oh-My-Posh 都能为用户提供高度定制化的高效提示符。lSd28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-92927-0.htmlOh-My-Posh: 可定制且低延迟的跨平台/跨Shell提示符渲染器

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 通过 Spring Boot 实现考试系统多设备同步与验证

下一篇: 十分钟手撸一款线程安全的高性能通用缓存组件!

标签:
  • 热门焦点
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼‍‍‍‍‍‍‍‍‍‍东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一
  • DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    10月30日,据韩国媒体消息,自今年年初以来一直在上涨的 DRAM 存储器的交易价格仅在本月就下跌了近 10%,此次是全年首次降价,而NAND 闪存本月价格与上月持平。市
  • 微软发布Windows 11新版 引入全新任务栏状态

    近日,微软发布了Windows 11新版,而Build 22563更新主要引入了几周前曝光的平板模式任务栏等,系统更流畅了。更新中,Windows 11加入了专门针对平板优化的任务栏
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top