Windows安装posh

2023-05-16

转载说明: 转自我自己的github博客https://corsair-cxs.github.io/post/misc/oh-my-posh/

Windows安装posh

前言:相信很多用户都有对powershell改造的想法,例如安装更多主题,支持git显示,显示命令提示等。本篇文章将介绍posh相关工具在Windows上安装的步骤,如有文笔不当之处还望指出。

文章目录

  • Windows安装posh
  • 环境要求(默认已在Windows系统上安装)
  • 安装posh-git
    • 1. 安装
    • 2. 配置
    • 3: 使用 posh-git
  • 安装oh-my-posh
    • wget下载安装
    • 升级oh-my-posh
    • 下载字体
    • 设置主题
    • 下载icons
    • 特别提示
  • 其他小技巧
    • PowerShell按TAB键自动提示
  • 参考链接


环境要求(默认已在Windows系统上安装)

  • WindowsTerminal(微软商店下载安装)
  • Git(且已激活环境变量)

安装posh-git

1. 安装

在 Windows 上,脚本执行策略必须设置为 RemoteSigned 或 Unlimited,需要以管理员身份在powershell中执行以下语句:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm

安装posh-git:

Install-Module PowershellGet -Force
##A completely new installation
PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force

更新:

PowerShellGet\Update-Module posh-git

2. 配置

在powershell终端对$PROFILE文件进行编辑:

notepad $PROFILE

在文件中追加以下内容:

Import-Module posh-git

其他可选项:

##To enable posh-git to be available in just the current host, execute:
Add-PoshGitToProfile

##To enable posh-git to be available in all your PowerShell hosts-console, ISE, etc, execute:
Add-PoshGitToProfile -AllHosts

##To enable posh-git to be available for all users on the system, execute:
Add-PoshGitToProfile -AllUsers -AllHosts

##To enable posh-git to be available for all users but only for the current host
Add-PoshGitToProfile -AllUsers

3: 使用 posh-git

接下来可以克隆一个git仓库,看看posh-git的效果:

git clone https://github.com/dahlbyk/posh-git
cd posh-git

如果看到与下图类似的表示,则说明posh-git安装成功:

在这里插入图片描述

安装oh-my-posh

wget下载安装

用管理员权限打开powershell,用winget安装oh-my-posh:

winget install JanDeDobbeleer.OhMyPosh -s winget

运行上述命令后,会下载安装oh-my-posh.exeOh My Posh的主题。

升级oh-my-posh

winget upgrade JanDeDobbeleer.OhMyPosh -s winget

下载字体

运行以下语句,选择你要安装的字体

oh-my-posh font install

我安装的是基于 Cascadia Code 设计的 Caskaydia Cove Nerd Font

在这里可以找到所有可下载的字体

打开Windows Terminal软件,点击设置-打开json文件,在profiles段的defaults属性中,添加font.face属性如下:

{
    "profiles":
    {
        "defaults":
        {
            "font":
            {
                "face": "Caskaydia NF"
            }
        }
    }
}

eg:

s

如果git::master之间的字符没乱码,证明安装成功

在这里插入图片描述

设置主题

在新的powershell终端中,$POSH_THEMES_PATH指向了posh的主题路径。可以依此设置posh主题(以ys主题为例),将下述语句添加到powershell的$PROFILE文件中:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.ys.json"

重新开终端,可以看到配置生效

在这里插入图片描述

下载icons

安装:

Install-Module -Name Terminal-Icons -Repository PSGallery

将下述语句添加到powershell的$PROFILE文件中:

Import-Module -Name Terminal-Icons

重新启动终端,运行ls,看看效果:

在这里插入图片描述

特别提示

  1. 由于Oh My Posh经常更新,有时候会被杀毒软件报错。以防万一,可以将oh-my-posh.exe添加到杀毒软件的白名单。PS: 在Powershell终端输入
    (Get-Command oh-my-posh).Source可获得可执行文件的路径

  2. powershell的$PROFILE文件需要额外注意,包含"oh-my-posh init pwsh"的语句最好只出现一次,否则很容易触发终端报错。如:

    Get-PSReadLineKeyHandler : 找不到与参数名称“Key”匹配的参数
    

    综合以上两点,针对oh-my-posh,可以在$PROFILE文件中只添加这一句语句:

    & ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\ys.omp.json" --print) -join "`n"))
    

其他小技巧

PowerShell按TAB键自动提示

在powershell的$PROFILE文件中,追加以下内容:

# Shows navigable menu of all options when hitting Tab
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

参考链接

  • https://github.com/dahlbyk/posh-git
  • https://ohmyposh.dev/docs/installation/windows
  • https://ohmyposh.dev/docs/installation/prompt
  • Fonts | Oh My Posh
  • https://techcommunity.microsoft.com/t5/itops-talk-blog/autocomplete-in-powershell/ba-p/2604524
  • Windows Terminal Custom Prompt Setup | Microsoft Learn
  • 记录美化Windows Terminal - bkycmd - 博客园 (cnblogs.com)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows安装posh 的相关文章

随机推荐

  • jdk动态代理(AOP)从入门到精通(全)

    目录 前言1 了解代理模式2 静态代理案例3 动态代理3 1 入门案例3 2 原理实现3 3 深层案例3 4 步骤流程 4 模板总结 前言 整篇文章的代码源码如下 代码源码 理解什么是动态代理以及动态代理能干什么 使用jdk的反射机制 xf
  • SpringBoot从入门到精通(全)

    目录 前言1 入门案例1 1 新建项目1 2 代码模板 2 配置详解2 1 核心配置文件properties2 2 核心配置文件yml yaml2 3 多环境核心配置文件properties2 4 多环境核心配置文件yml2 5 自定义配置
  • jdbc之问号占位符的详细分析

    目录 前言实战 前言 先写sql语句框架 一个问号代表一个占位符 xff0c 之后占位符接收一个值占位符不可使用双引号或者单引号获取占位符 xff0c 给占位符传值 xff0c 通过setString等方法 之所以要用问号占位符 xff0c
  • docker出现Error response from daemon: driver failed programming external connectivity on endpoint解决方法

    目录 1 问题所示 2 分析原理 3 问题解决 1 问题所示 出现了如下问题 即简单测试run命令 运行一个简易命令不加端口的tomcat docker run d P name tomcat01 tomcat docker span cl
  • java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)

    目录 前言1 学习路线2 学习方法 前言 这篇文章主要总结我之前所学过的框架以及学习路线 从实打实的零基础到框架再到项目 之后实习工作 也在这篇博客中记录我的学习笔记 以及在笔记中遇到的配置安装 代码bug等错误 都从零开始摸索并且记录了下
  • Bootstrap从入门到精通(全)

    目录 前言1 下载安装2 布局容器和栅格网格系统2 1 布局容器2 2 栅格网格系统 3 常用样式4 表单4 1 控件4 2 布局 5 插件5 1 导航框5 2 下拉菜单 前言 在了解这篇文章的时候 需要提前知道这些知识点 可看我之前的文章
  • RestTemplate的超全讲解(全)

    目录 前言1 简介2 http状态码3 get请求4 post请求5 Exchange 前言 主要介绍RestTemplate的原理以及使用等 1 简介 常见的http客户端请求工具 xff1a jdk HttpURLConnectionA
  • 出现蓝屏代码为DPC_WATCHDOG_VIOLATION的解决方法

    最近过年 电脑一直时不时出现这个问题 已经严重影响我的工作 你的设备遇到问题 需要重启 我们只收集某些错误信息 然后你可以重新启动 有关此问题的详细信息和可能的解决方法 请访问 https www windows com stopcode
  • Diagnosing Memory Heap Corruption in glibc with MALLOC_CHECK_

    原文链接 https support microfocus com kb doc php id 61 3113982 Environment Novell eDirectory 8 7 3 for Linux Novell eDirecto
  • Java集合的常见面试题(全)

    这里写目录标题 前言常用的集合类有哪些集合底层数据结构ArrayList 和 LinkedList 的区别HashSet 如何检查重复HashSet与HashMap的区别HashMap 和 Hashtable 的区别HashMap 的底层实
  • batchsize大小对网络模型的理解

    目录 前言1 batchsize定义2 batchsize大小3 batchsize平衡 前言 每一次的epoch都是将其数据集经过神经网络 xff0c 进行正向传播以及反向传播 由于epoch训练的数据集可能过大 xff0c 需要将其分块
  • 【密码学】ElGamal加密算法原理 以及 例题讲解

    目录 前言1 原理2 例题2 1 例题一2 2 例题二 前言 具体的性质 xff1a 非对称加密算法应用于一些技术标准中 xff0c 如数字签名标准 xff08 DSS xff09 S MIME 电子邮件标准算法定义在任何循环群 G 上 x
  • YOLOv5网络模型的结构原理讲解(全)

    目录 前言1 基本概念2 输入端2 1 Mosaic 图像增强2 2 自适应锚框计算2 3 自适应图片缩放 3 Backbone层3 1 Focus结构3 2 CSP结构 3 Neck网络3 1 SPP结构3 2 PAN结构 4 输出端4
  • 初级版元胞自动机(2021-11-17)

    初级版元胞自动机 2021 11 17 1 原因 xff1a 最近接触了群体智能 xff0c 想起了元胞自动机之前玩过一个游戏 xff0c 类似生命游戏 xff0c 但找不到了 2 实现 xff1a span class token key
  • Spark的Java和Scala API的使用

    Spark的Java和Scala API的使用 实验环境 Linux Ubuntu 16 04 前提条件 xff1a Java 运行环境部署完成Spark Local模式部署完成 上述前提条件 xff0c 我们已经为你准备就绪了 实验内容
  • 大数据技术

    备用 xff1a 2 配置本地源 通过比赛平台提供源文件下载路径 xff0c 将本地源文件下载到 etc yum repos d 目录下 xff08 三台机器都执行 xff09 发信号给 yum 进程 xff1a pkill 9 yum 进
  • 数据科学与大数据

    111111
  • 2021-06-07 十万个问号

    为什么 最近好多关注我的 xff0c 实在是引起了我的注意 xff0c 背后的原因值得思考 xff0c 我遇到了什么 x1f92d xff0c 我在哪 x1f644
  • System is currently unhealthy because Docker is configured incorrectly. Use the link to learn more a

    相关资源 xff0c 在文章的最后面 需要的自行拿取 问题点 xff1a System is currently unhealthy because Docker is configured incorrectly Use the link
  • Windows安装posh

    转载说明 xff1a 转自我自己的github博客https corsair cxs github io post misc oh my posh Windows安装posh 前言 xff1a 相信很多用户都有对powershell改造的想