通过 oh-my-posh posh-git 优化PowerShell

news/2025/1/7 23:48:02/

转自oh-my-posh & posh-git 提升在 windows 环境的开发体验

oh-my-posh 是用于自定义 PowerShell 主题和配色的工具,posh-git 则是为 PowerShell 提供了方便的 git 状态显示和命令补全功能。

  1. 安装PowerShell 7和 winget下载器,都可以直接在 Microsoft Store 中直接安装

  2. 安装 oh-my-posh 和 posh-git

    # 本命令会下载 oh-my-posh.exe 和 最新的主题包 themes
    winget install JanDeDobbeleer.OhMyPosh -s winget# 安装 posh-git
    Install-Module posh-git -Scope CurrentUser -Force
    
  3. 安装字体(管理员权限打开 PS7)

    因为主题中大量使用了 Nerd Fonts 家族字体,不安装的话,显示效果会不忍直视

    oh-my-posh font install
    
  4. 修改字体在这里插入图片描述

  5. 编写配置文件

    • 打开配置文件
      notepad $PROFILE# 如果提示文件没有找到可以使用下面的命令创建一个
      # New-Item -Path $PROFILE -Type File -Force
      
    • 导入配置文件
      # 引入 posh-git
      Import-Module posh-git# 初始化 oh-my-posh 并指定主题,主题配置文件可以到 themes 目录中进行挑选,更多明细的配置可以参考官方文档
      oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/cobalt2.omp.json" | Invoke-Expression# Shows navigable menu of all options when hitting Tab
      Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete# Autocompletion for arrow keys
      Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
      Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward# PSReadLine 是一个内置的模块,可以通过上下键和tab键来快速输入历史记录
      Import-Module PSReadLine
      Set-PSReadLineOption -PredictionSource History
      
  6. 载入配置文件

    . $PROFILE
    
  7. 大功告成
    输入以下命令可以查看全部主题
    在这里插入图片描述

问题:

  • 载入配置时由于中文名载入失败
    在这里插入图片描述
    解决:
    将 ohmypush 文件移动到一个没有中文的目录下,加上环境变量
    在这里插入图片描述

http://www.ppmy.cn/news/1561399.html

相关文章

python vue3实现大文件分段续传(断点续传)--带暂停和继续功能

后端内容无变化具体设置可参考上一篇点击进入上一篇,需要注意的是big_file_upload_backend/settings.py下的 是statics 多个s其实无所谓,但是要一致 STATIC_URL "statics/" STATICFILES_DIRS [os.path.join(BASE_DIR, "../statics&quo…

iOS - AutoreleasePoolPage 节点为空时的处理逻辑

1. 空 Page 的判断 struct AutoreleasePoolPage {id *next; // 指向下一个可用位置id *begin(); // 页面起始位置bool empty() {return next begin(); // next 指针回到起始位置表示为空}// 页面的边界id *begin() { return (id *)(this 1); }id *…

【数据库系统概论】数据库设计--复习极简总结版

一、数据库设计概述 数据库应用系统:使用数据库的各类信息系统。数据库设计(DBD) 广义:设计整个数据库应用系统。狭义:设计数据库本身,即各级模式并建立数据库。数据库设计的一般定义:针对给定…

Vue3钩子是什么?

钩子是 Vue.js 生命周期中的特定方法,它们在组件的不同阶段被调用。这些方法被称为“钩子”是因为它们“钩入”了 Vue.js 的生命周期,允许开发者在组件创建、更新、销毁等关键点执行自定义代码。 在 Vue.js 中,钩子方法包括: 创…

基于云架构Web端的工业MES系统:赋能制造业数字化变革

基于云架构Web端的工业MES系统:赋能制造业数字化变革 在当今数字化浪潮席卷全球的背景下,制造业作为国家经济发展的重要支柱产业,正面临着前所未有的机遇与挑战。市场需求的快速变化、客户个性化定制要求的日益提高以及全球竞争的愈发激烈,都促使制造企业必须寻求更加高效、智…

如何使用Spring Boot框架整合Redis:超详细案例教程

目录 # 为什么选择Spring Boot与Redis整合? 1. 更新 pom.xml 2. 配置application.yml 3. 创建 Redis 配置类 4. Redis 操作类 5. 创建控制器 6. 启动应用程序 7. 测试 # 为什么选择Spring Boot与Redis整合? 将Spring Boot与Redis整合可以充分利…

计算机网络(第8版)第3章课后习题--透明传输

【3-11】 试分别讨论以下各种情况在什么条件下是透明传输,在什么条件下不是透明传 输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。) (1)普通的电话通信。 (2)互联网提供的电子邮件服务。 解 答 : 透明传输是指在数据传输…

计算机网络--应用层--HTTP

计算机网络(第8版)谢希仁编著 P276笔记 超文本传输协议HTTP 定义了浏览器向万维网服务器请求资源的方式:(1)插入URL;(2)点击超链接 特点:(1)无…