Oh My Posh 配置教程
Table of Contents
PowerShell配置
首先就是下载带图标的Nerd字体,下载地址:Nerd Fonts官方网址
下载并安装好图标字体,在Windows terminal终端上把Power Shell和WSL的字体都配置为这个图标字体
根据官方文档,下载oh-my-posh,在PowerShell中输入以下命令
winget install JanDeDobbeleer.OhMyPosh -s winget
这样会下载下面的两个文件
oh-my-posh.exe
- Windows 可执行文件
themes
- 最新的 Oh My Posh 主题
下载的默认路径为:C:\Users\用户名\AppData\Local\Programs\oh-my-posh
这里需要配置oh-my-posh和themes的可执行文件,以便后续不会出错
在环境变量的path值中添加路径:C:\Users\用户名\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe
(这一步可不做) 在环境变量中增加一个字段POSH_THEMES_PATH,值为:C:\Users\86135\AppData\Local\Programs\oh-my-posh\themes
在PowerShell终端中输入:
notepad $PROFILE
如果这一步报错,文件不存在则需要先创建配置文件
执行
New-Item -Path $PROFILE -Type File -Force
在打开的记事本中,填入 oh-my-posh init pwsh | Invoke-Expression
接着输入 . $PROFILE
重新加载配置
如果这一步,报错,红字显示找不到oh-my-posh的命令
那么说明前面的环境变量没有配置好
接着重新启动终端,就发现已经应用了默认主题
如果需要更改主题,则只需要到官方文档主题中,挑选好主题,记下主题名字
同样在PowerShell终端中输入:notepad $PROFILE
打开配置文件
修改之前输入的 oh-my-posh init pwsh | Invoke-Expression
改为:
oh-my-posh init pwsh --config '`C:\Users\用户名\AppData\Local\Programs\oh-my-posh\themes\1_shell.omp.json' | Invoke-Expression
这里的主题路径应该根据自己的情况更改,1_shell.omp.json
是主题文件
如果在上面的步骤中,你已经配置了主题文件夹的环境变量,则可以:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/1_shell.omp.json" | Invoke-Expression
重新启动终端,就可以应用。
WSL配置
WSL的配置和PowerShell的十分相似,但是需要注意的是,WSL下可能有好多种类的Shell,配置的时候,需要先查看自己的WSL是什么类型的shell
查看方法,输入以下命令:
echo $SHELL
如果是bash
就在官方文档Linux教程中找对应的方法,我这里以zsh
为例。
同样的,在配置之前,需要先给WSL的终端文字更改为Nerd带图标的字体,否则图标不能生效
下载oh-my-posh,输入以下命令:
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d /bin
这里可能会报错
-d
后面指定的是下载的位置,最好是下载到根目录下的/bin
文件,因为这样就不需要配置环境变量,可以在任意位置执行oh-my-posh
的命令,避免了之后
因此,如果你在普通用户下可能需要加上
sudo
或者你可以先下载到其他位置,之后把可执行文件复制到
/bin
目录下,这一步同样需要root权限
接着,输入以下命令
oh-my-posh get shell
如果返回了你当前的shell,说明下载成功,如果返回‘找不到命令’,可能没有下载到正确的位置
输入命令,打开shell的配置文件,这里演示的是zsh,所以打开 ~/.zshrc
如果你是bash,那么打开的就是~/.bashrc
,配置命令也要改为bash
sudo vim ~/.zshrc
添加以下配置到文件中
eval "$(oh-my-posh init zsh)"
退出文件,终端输入exec zsh
,更新配置,也可以输入source ~/.zshrc
,两者是一样的
(这一步不一定)重新启动终端,可以发现oh-my-posh已经应用成功
更改主题,和PowerShell是类似的
同样打开配置文件~/.zshrc
,将原先输入的配置改为:
eval "$(oh-my-posh init zsh --config ~/.cache/oh-my-posh/themes/1_shell.omp.json)"
其中,--config
后面填入,你的主题路径和主题名字,我的主题路径可能有所不同,需要更改为自己的
退出文件,终端输入exec zsh
,主题就会立马应用。