热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WindowsTerminal配置OhMyPosh来美化GitBash

简述:旧时Win10一直无漂亮的终端,故日常用GitBash都新建一新窗口,久之,厌倦。今,配置GitBas

简 述: 旧时 Win10 一直无漂亮的终端,故日常用 Git Bash 都新建一新窗口,久之,厌倦。今,配置 Git Bash 到 Windows Terminal 的标签页打开,最终效果图示如下。此中遇几处缺陷,记载其解决方案:


  1. Terminal 中使用 Git Bash 会闪屏
  2. Terminal 中使用 winget 找不到命令
  3. 下载和配置 OhMyPosh 主题,调整字体


文章目录

    • 背景
    • 美化 Terminal/Git Bash 步骤
    • 配置 Power Shell






本文初发于 “偕臧的小站”,同步转载于此。





背景

自切换回 Win10 后,一直简单使用 Git Bash 终端,简单自定义了一个透明主题使用,感兴趣参考此文;但每次新开一个窗口,多了页很烦。今天抽空整合以下到 Windows-Terminal,每次开启一个仓库,也只是多一个 Tab,惬意。

​ PS:💻 win10 21H1 📎 Windows Terminal 1.10.2383.0




美化 Terminal/Git Bash 步骤


  1. 安装 Windows Terminal、Git

    商店安装 Windows Terminal,若商店显示无法链接网络,亦可在 https://github.com/microsoft/terminal 上安装;


  2. 添加 Git Bash 到 Windows Terminal 的配置文件,使其可用 Tab 页打开

    "profiles": {"defaults": {},"list": [ # 找到此 list ,在里面添加如下{"guid": "{1cb09cbb-0365-91bf-c98f-d8d03c510274}","commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l","icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico","name" : "Bash","startingDirectory" : "%USERPROFILE%","acrylicOpacity" : 0.75,"closeOnExit" : true,"colorScheme" : "Campbell","cursorColor" : "#FFFFFF","cursorShape" : "bar","fontFace" : "Consolas","fontSize" : 12,"historySize" : 9001,"padding" : "0, 0, 0, 0","snapOnInput" : true,"useAcrylic" : true},

    解决使用遇到的闪屏,其实此不是一个 BUG,而是输入错误时提示;解决方案 :在 ~/.inputrc (如果不存在就创建) 里面添加这样一行:set bell-style none


  3. 在 GitHub 的 winget-cli 中,下载后安装 .msixbundle 格式;即可使用 winget 命令来安装 ohmyposh。


  4. 安装 oh-my-posh 类似于 oh-my-zsh

    官方文档: https://ohmyposh.dev/docs/windows

    • 打开 Windows Terminal 中的 Git Bash 执行如下 winget install JanDeDobbeleer.OhMyPosh
    • 将刚安装路径 C:\Users\xmuli\AppData\Local\Programs\oh-my-posh\bin 添加 PATH

  5. 使用某一主题 “jandedobbeleer.omp.json”,其它主题同理

    将 “~\AppData\Local\Programs\oh-my-posh\themes\jandedobbeleer.omp.json” 文件拷贝到 $HOME 目录下;

    再在 ~/.profile 文件(没有则创建)添加命令,后执行 . ~/.profile 刷新,重启终端即可生效。

    eval "$(oh-my-posh --init --shell bash --config ~/jandedobbeleer.omp.json)"

  6. 安装 Meslo LGM NF 字体,避免乱码。

    打开终端,惊喜的发现乱码,符号显示不出来;需安装 Oh my Posh 官方推荐使用的字 Meslo LGM NF 字体(即 [Nerd Fonts](https://www.nerdfonts.com/))。接着在配置文件中将字体修改;

    "fontFace": "MesloLGM NF",

    再次重启,成功


  7. 切换自己喜欢的主题(修改第 5 步骤即可)

    在 https://ohmyposh.dev/docs/themes 可直接预览所有主题样式;个人选择了 paradox ,最终效果图见本文第一张图。




配置 Power Shell

​ 前面步骤,仅配置 GitBash 主题(自己用够了);若是还想配置 PowerShell 主题,则需要额外配置几行,前面操作大部分都可复用,在终端中配置 PowerShell 主题,同理参考 https://ohmyposh.dev/docs/windows 的 Customize-powershell 的篇章即可。


推荐阅读
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
author-avatar
张逸紫惟雨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有