shell Oh-my-posh主题不能正确使用Powerline字体和ConEmu

tct7dpnv  于 2023-11-21  发布在  Shell
关注(0)|答案(6)|浏览(114)

我在Windows 7上使用PowerShell作为我的shell。我发现ConEmu是一个非常好的终端。由于我不在Windows 10上,我不能使用Windows终端,但ConEmu一点也不差。我发现了关于Git和oh-my-posh以及它们如何自定义您的PowerShell体验。我安装了oh-my-posh和Paramount主题看起来不错。但是我在提示中的随机位置看到了一些空框。x1c 0d1x
这是一个问题,我面临的所有主题。颜色和设计是美丽的,我想使用它,但那些奇怪的盒子是阻止我这样做。我还想告诉我,我使用Cascadia代码作为我的字体,这也是Cascadia代码的电力线版本。所以,我认为它应该作为例外工作。下一步,试图解决这个问题,我去nerdfont.com,我安装Cascadia代码然后我将ConEmu的字体设置为Cascadia,这是我从nerdfonts安装的,发生了这样的情况:

在某种程度上,我可以看到Python符号和更多的符号,但仍然有一个框无法呈现。
在“master”之后有一个奇怪的问号。我想我已经满足了使用oh-my-posh的所有先决条件,比如安装Git和PSReadLine,拥有powerline Cascadia Code字体,并使用ConEmu,正如他们官方建议的那样。如果有人能帮助我摆脱这种混乱,并建议如何修复我的提示,我将非常感激。
我用的是PowerShell 7 Core。

41zrol4v

41zrol4v1#

当你看到框时,这意味着字体没有指定的字符。例如,有很多特殊的字体没有定义每个字符的位置。
oh-my-posh GitHub页面上,引用:
如果您在安装选择的字体后发现奇怪的字形,请确保字形可用(也许它们在字体中的位置不同,如果是这样,请调整正确的$ThemeSettings图标)。如果结果是您想要的字符不受支持,请选择不同的字体。
同样在oh-my-posh GitHub页面上,使用的字体是:
我使用的字体是电力线字体,有一个great repository包含它们。我使用Meslo LG M Regular的电力线书呆子字体
如果使用Meslo LG M Regular不能解决你的问题,那么你必须手动将图标重新Map到你选择的字体中正确的unicode位置。
对于Oh My Posh的版本2,您必须编辑$ThemeSettings变量。按照GitHub上的说明配置主题设置。例如:

$ThemeSettings.GitSymbols.BranchSymbol = [char]::ConvertFromUtf32(0xE0A0)

字符串
对于Oh My Posh的版本3+,您必须编辑JSON configuration文件以进行更改,例如:

...
{
    "type": "git",
    "style": "powerline",
    "powerline_symbol": "\uE0B0",
....

ee7vknir

ee7vknir2#

张贴此回应,因为我遵循了@HAL9256的回应,这是非常有帮助的,但我不得不采取更进一步。如果你使用的是windows终端,你实际上必须设置终端使用书呆子字体。这花了我太长的时间来弄清楚,所以希望它有助于下一个人。
在windows终端,打开设置,然后在左边的blad,然后外观选项卡,最后改变字体的东西书呆子字体
https://www.jondjones.com/media/rhzobluq/customise-your-powershell-prompt-like-a-boss-c.gif
来源:https://www.jondjones.com/tactics/productivity/customise-your-powershell-prompt-like-a-boss/

ep6jt1vc

ep6jt1vc3#

我遇到了同样的问题,并通过编辑以下文件解决了这个问题:C:\Path\To\Your\WindowsPowerShell\Modules\oh-my-posh\2.0.496\defaults.ps1
VirtualEnvSymbol中,应该有一个名为VirtualEnvSymbol的东西,只要将当前的值更改为上面列出的值中的某个值即可,例如:

VirtualEnvSymbol = [char]::ConvertFromUtf32(0x26A1)

字符串

uidvcgyl

uidvcgyl4#

我遇到了同样的问题,并解决了安装字体。
1.下载字体https://github.com/microsoft/cascadia-code/releases
1.解压
1.右键点击字体,选择“为所有用户安装字体”x1c 0d1x
1.好好享受吧!
From:https://github.com/microsoft/cascadia-code

klh5stk1

klh5stk15#

只需安装整个Cascadia Code字体,它就可以工作,无需修改主题设置。
https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/CascadiaCode/Regular/complete

pw136qt2

pw136qt26#

我在这个问题上转了一圈又一圈,试图根据有用的答案重新MapJSON中缺少的代码。
我学到的是,并不是所有的字体都像你想要的那样“完整”,但是如果你找到了一个,就不需要修改或修改。
使用这个字体安装Delugia就解决了我在pwsh(PowerShell 7.x)和Windows上的所有问题。我已经在Windows终端和VS Code上进行了测试。https://github.com/adam7/delugia-code

相关问题