powershell - Oh-my-posh 主题无法与 Powerline 字体和 ConEmu 一起正常工作
问题描述
我在 Windows 7 上使用 PowerShell 作为我的 shell。我发现 ConEmu 是一个非常好的终端。由于我不在 Windows 10 上,我无法使用 Windows 终端,但 ConEmu 一点也不差。我发现了 posh-git 和 oh-my-posh 以及它们如何自定义您的 PowerShell 体验。我安装了 oh-my-posh,Paradox 主题看起来不错。但是我在我的提示中随机看到了一些空盒子。
这是我在所有主题上都面临的一个问题。颜色和设计都很漂亮,我想使用它,但那些奇怪的盒子让我无法这样做。我还想告诉我,我使用 Cascadia Code 作为我的字体,这也是 Cascadia Code 的电力线版本。所以,我认为它应该作为例外工作。接下来,为了解决这个问题,我去了 nerdfont.com 并从那里安装了 Cascadia Code,而不是微软的官方 GitHub 存储库。然后我将ConEmu的字体设置为我从nerdfonts安装的Cascadia,这发生了:
更好的是,我可以看到 Python 符号和更多符号,但仍然有一个无法呈现的框。但如果我更改存储库,情况会变得更糟:
“主人”后面有一个奇怪的问号。我想我已经满足了使用 oh-my-posh 的所有先决条件,例如安装 posh-git 和 PSReadLine 并拥有 powerline Cascadia Code 字体,并且还按照他们的官方建议使用 ConEmu。如果有人可以帮助我摆脱这种混乱并建议如何解决我的提示,我将非常感激。
PS 我正在使用 PowerShell 7 核心。
解决方案
当您看到框时,这意味着该字体没有指定的字符。例如,有很多专门的字体没有定义每个字符位置。
就在oh-my-posh GitHub 页面上,引用:
如果您在安装所选字体后发现奇怪的字形,请确保字形可用(可能它们在字体中的位置不同,如果是,请调整正确的
$ThemeSettings
图标)。如果事实证明您想要的字符不受支持,请选择其他字体。
同样在oh-my-posh GitHub 页面上,使用的字体是:
我使用的字体是 Powerline 字体,有一个很棒的存储库 包含它们。我
Meslo LG M Regular
用于电力线书呆子字体
如果使用Meslo LG M Regular
不能解决您的问题,那么您必须手动将图标重新映射到您选择的字体中正确的 unicode 位置。
对于Oh My Posh 的第 2 版,您必须编辑$ThemeSettings
变量。按照 GitHub 上关于配置主题设置的说明进行操作。例如:
$ThemeSettings.GitSymbols.BranchSymbol = [char]::ConvertFromUtf32(0xE0A0)
对于 Oh My Posh 的版本 3+,您必须编辑 JSON配置文件以进行更改,例如:
...
{
"type": "git",
"style": "powerline",
"powerline_symbol": "\uE0B0",
....
推荐阅读
- graphql - graphql-yoga - GraphQL 解析器参数在哪里定义和记录?
- python - 使用Python将没有规则的列表转换为基于字母的常规列表
- python - 如何在 Python 3 中将“0b11001100”读取为一个字节块而不是字符串?
- cloudinary - 存储对云资产的引用的方法
- c# - 按索引在字符串中查找单词
- c# - 如何找到没有文件类型的文件?
- android - 我只想选择一个单选按钮,即不允许多选
- c - 是什么在 C 中的这段代码中生成“frec[v1[i]]++”
- pyspark - H2O 外部后端上的帧上传/创建从 python/pyspark 挂起
- c - GNU readline:巨大的内存泄漏