不小心将oh-my-posh从V2升级到了V3,许多东西有了较大变化。此篇博客记录一下主题的修改记录。
封面《月に寄りそう乙女の作法》
前言
oh-my-posh是一个可自定义的shell提示引擎。oh-my-posh v3相较于oh-my-posh v2,完全使用了GO编写,使其可以跨平台运行,同时对主题的修改更容易。
Oh-My-Posh V3的文档在此
安装
1 | # -Scope CurrentUser可以不需要,因为默认就是CurrentUser |
主题配置
展示所有本地主题
1 | Get-PoshThemes |
设置主题
1 | # 此处以本人比较喜欢的paradox为例 |
需要注意的是现在设置的主题为暂时的,当你打开新的powershell以后就没了,因此还需要编辑$PROFILE
来持久化
1 | # 笔记本编辑 |
添加下面一行
1 | Set-PoshPrompt -Theme ~/.oh-my-posh.omp.json |
如果遇到了数字签名问题,可以参考这里面的RemoteSigned的方法,打开profile文件属性设置为不阻拦。
字体下载
oh-my-posh V3设计使用Nerd Fonts,官方推荐Meslo LGM NF。本文配置使用的是MesloLGM NF
字体。需要下载完字体后设置终端的字体,否则一些特殊符号无法正常显示
主题定制
考虑到自带的主题无法完美的符合我的要求,因此需要对主题文件进行修改,主要调整conda的全局显示、git和时间的显示。也可以参考其他主题新增一点功能,所有官方主题文件在此
conda
oh-my-posh默认的python配置只有在含有python文件的目录下才会启动,因此无法看到conda的默认环境。修改起来也比较简单,采用环境变量的形式即可。通过dir env:
找到CONDA_DEFAULT_ENV
环境变量,设置oh-my-posh中的背景色为红色,设置python的图标,保持字体颜色一致。为了好看和方便,添加到session
块之后path
块之前。
1 | { |
git
oh-my-posh在高版本中的git不显示详细信息,可以通过配置主题解决。配置如下,也可以使用posh-git
直接配置。经过尝试posh-git
无法达到我需要的效果。
1 | { |
time
参考其他主题,在每行的右边新增一个显示当前时间的图标。
1 | { |
完整配置文件
1 | { |
效果图
后记
总体来说oh-my-posh v3比v2更具有移植性,同配置起来更方便,默认主题也多,相对也更好看。个人主观感觉启动速度也快了不少。