Windows Terminal 美化 / PowerShell 美化: oh-my-posh 主题安装和使用
关键词: nerd-font; oh-my-posh; posh; powerline-font; powershell; scoop; winget
最终效果预览
说明事项
本文与网络上多数介绍 oh-my-posh 的文章的不同之处:
- 其他博客提到的安装命令已过时, 会被引导到 “官方迁移页面” (如下图). 本文是根据 oh-my-posh 官网给出的最新安装方式来安装. (截至 2022 年 5 月)
- 对所有命令都添加了注释, 帮助大家来理解.
- 增加了主题, 字体的安装和说明事项.
- 尽可能多地提供配图.
安装
安装 oh-my-posh
以管理员身份运行 powershell
输入以下命令
# 安装 winget install oh-my-posh# 此外, 如果要检查升级, 则使用下面命令 winget upgrade oh-my-posh
上述命令将安装以下内容:
- oh-my-posh.exe
- themes: 最新的 oh-my-posh 主题集. 在线查看: https://ohmyposh.dev/docs/themes
- 在你的用户环境变量中会新增一个 “POSH_THEMES_PATH”:
- 重启 powershell 即可生效
安装更多插件 (可选)
见本文 扩展 部分.
选择主题
预览主题
方式 1: 官方在线预览: https://ohmyposh.dev/docs/themes
方式 2: 在 powershell 中输入 Get-PoshThemes
命令.
方式 3: 本地已安装的 oh-my-posh 主题, 可以在这个路径找到:
C:\Users\<UserName>\AppData\Local\Programs\oh-my-posh\themes
(ps: 这个路径就是环境变量 - “POSH_THEMES_PATH” 的值.)
可以看到主题多达将近 100 个.
怎么应用主题
假设要应用 “M365Pricess” 主题:
在主题文件夹 (C:\Users\<UserName>\AppData\Local\Programs\oh-my-posh\themes
) 下可以找到它的完整文件名:
如果只在当前 powershell 进程中应用, 则输入下面的命令回车立即生效:
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\M365Princess.omp.json | Invoke-Expression# 此外, 要想切换到其他主题, 只需更改文件名即可:
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\bubbles.omp.json | Invoke-Expression
如果要在全局生效, 那么我们需要在 $PROFILE
文件中写入该值:
$PROFILE
文件的路径为C:\Users\<UserName>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
(如果文件不存在, 则自己创建一个)- 用记事本打开
- 往里面添加一行刚才的命令
- 重启 powershell, 即可看到效果
此外, 上面的 4 个步骤, 也可以通过命令行来全部完成. 这也是很多网上的博客中给出的命令:
# 检查 $PROFILE 文件是否存在, 如果不存在则新建空文件
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }# 用记事本打开
notepad $PROFILE
扩展
安装推荐字体
由于 oh-my-posh 主题包含了一些特殊字符, 有些字体会产生乱码.
使用下面推荐的字体不会出现乱码 (按推荐度排序):
- nerd font: https://www.nerdfonts.com/
- 等距更纱黑体
- powerline: https://github.com/powerline/fonts
注:
不知道为什么, 我自己测试了等距更纱黑体和 fira mono for powerline 字体仍然会出现乱码. 使用 nerd 字体没有此问题.
nerd 有多种字族供选择. 在这个网站可以预览所有字体: https://www.programmingfonts.org/#font3270
ps: 笔者个人比较喜欢 fira-mono 和 jetbrains-mono.
此外, 考虑到笔者经常使用 python rich 库, fira-mono 的边框字符的效果不是很好, jetbrains-mono 则非常完美.
安装更多插件
TODO
其他说明
我安装了旧的 oh-my-posh, 在 powershell 启动时会出现相关报错
报错截图:
解决方法:
根据截图中的 迁移建议 来操作, 即可卸载旧的 oh-my-posh 模块.
本文对官方的迁移建议进行了适当翻译. 如下步骤:
以管理员身份运行 powershell
移除相关的环境变量及其缓存
Remove-Item $env:POSH_PATH -Force -Recurse
这是一个可选的操作. 如果你的环境变量中没有
POSH_PATH
, 上述命令没有效果, 但也不会有副作用.卸载旧版 powershell 模块
这里解释一下, oh-my-posh 的作者以前是维护两个源, 一个是最新的 winget 获取方法 (也就是正文介绍的安装方法), 另一个是 powershell module (也就是很多旧博客提供的
Install-Module
命令, 很显然, 现在 (2022年) 已经彻底不支持了, 只会导致报错.)所以我们要做的是卸载掉引起报错的 powershell module:
Uninstall-Module oh-my-posh -AllVersions
从
$PROFILE
文件中也移除它的导入# 用记事本打开 `$PROFILE` 文件 notepad $PROFILE
找到 “Import-Module oh-my-posh” 这一行, 把它删掉后保存.
升级 PowerShell 到 7.x
参考: https://aka.ms/PSWindows
从 这里 下载最新的 msi 安装包.
msi 文件可以双击来安装.
参考
按推荐的阅读优先级排列.
- https://ohmyposh.dev/docs/installation/windows
- https://ohmyposh.dev/docs/installation/customize
- https://sspai.com/post/52907
- https://vector.today/posts/a1abbbfe/
- https://sspai.com/post/63233
- https://ohmyposh.dev/docs/migrating
Windows Terminal 美化 / PowerShell 美化: oh-my-posh 主题安装和使用相关推荐
- 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的美化全攻略
温馨提示: 原文中含有一些外部链接,点击全文左下角的"阅读原文"体验会更佳喔~ 接着之前的文章 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端 ...
- 【美化到底】Windows下的Powershell美化
如果你觉得文字版有一些说的不明白的地方,欢迎前往我的b站,观看视频版 [美化到底]Windows下的Powershell美化 先放一张效果图吧 如何实现这整个过程的呢?下面就来逐一讲解 首先我们需要下 ...
- Windows Terminal 使用及美化
文本最后编辑时间:2020-06-13 前言 在这之前,我一直使用的都是 cmder,但是这东西说真的,有点难用.不过好在微软推出了 Windows Terminal,经过我的实测,感觉还是不错的.毕 ...
- windows terminal 的强力美化和设置
什么是windows terminal 新一代的终端窗口,支持cmd,bash,powershell,支持标签页,支持字体,配色,窗口透明度,磨砂玻璃,窗口拆分,环境变量-(应该没了吧)接下来一一讲解 ...
- Windows Terminal修改背景美化
Termail Windows Termail自推出以来就很受欢迎,无论是开源.现代化界面还是字体渲染.gpu加速以及fluent风格,都很大程度上让Termail成为了当红的windows平台终端模 ...
- 告别黑白CMD PowerShell + Windows Terminal 终端美化
Windows Terminal 只支持 Windows 1903 以上的版本,如果你的电脑未升级,可以退出浏览了. 软件介绍与安装 在微软商店下载下载 PowerShell 和 Windows Te ...
- shell win10 改成cmd_Win10 的 PowerShell、CMD 和 Windows Terminal 全方位美化配置方法
说明:# 原创 # 标签为 IT 之家在 IT 圈所设的投稿栏目,具体投稿规则点此查看. 其实网上的教程已经很多,但还是分享我自己亲测出来的吧 众所周知,Windows 10 自带的 PowerShe ...
- Windows Terminal PowerShell 7 美化
记录一下有关Windows Terminal的折腾记录. 一.最后的成果图 二.Windows Terminal & PowerShell安装 1.Windows Store 直接搜索进行下载 ...
- Windows Terminal终端美化
Windows Terminal 是微软在 2019 年 5 月的 Build Developer 会议上宣布并于 6 月份推出的一款开源终端应用程序. Windows Terminal 包含命令提示 ...
最新文章
- windows中安装Node.js-安装angular-cli
- ReactNative windows下打包生成安卓apk
- 关于无法用127.0.0.1连接数据库的解决办法
- php 处理html,PHP解析HTML代码
- Python学习笔记:Day 6 配置文件
- java 数组遍历_Java中遍历数组使用foreach循环还是for循环?
- java mask_Java 三大属性:
- AOJ 6.Hero In Maze
- python 首次登陆outlook 脚本_记Python“用户环境”的一次完美应用
- 联想键盘sk8821的Fn功能键
- 微信小程序开发(十七)模板消息
- [机缘参悟-6]:阳明心学三大核心思想:心外无物、知行合一、致良知的理解
- java实现身份证号码的严格校验!
- Linux面试题大全(带答案的哦)
- 基于JAVA学生用品交换平台计算机毕业设计源码+系统+数据库+lw文档+部署
- 【Leetcode】1512. Number of Good Pairs
- RFID正为零售防损带来新变化
- 晒一波程序员的桌面,逼格超级高!
- 比“跳一跳”好玩100倍的小游戏
- 车轮轨迹原理_在简单地形上小车运动轨迹的数学表达(一)
热门文章
- python自动生成中文句子_如何使用NLTK从归纳语法生成句子?
- 八.vue获取dom元素
- 开关电路中两种误差放大器的传递函数
- Conflux顾问罗玫教授出席俄罗斯央行Finopolis金融创新年会
- mysql创建表语句 cmd_mysql cmd命令行 创建数据库 表 基础语句
- 基于Python的收发包测试
- fundebug php,import提升导致Fundebug报错的解决方法(详细)
- 硬件I2C与模拟I2C解析
- 挂羊头卖狗肉蓄意欺骗读者——谭浩强《C程序设计(第四版)》中所谓的“按照C99”(二)...
- 通过深挖Clickhouse源码,数据去重精通~