type
status
date
slug
summary
tags
category
icon
password
😀
工作中需要经常用到命令行工具。此前为了用得舒服,为Linux和macOS安装了zsh,并通过oh-my-zsh对zsh进行了美化。然而在Windows上使用cmd和powershell时仍然只能忍受其丑陋的蓝、黑框,这种情况直到Microsoft推出windows terminal后得到了一些改善,但彼时距离zsh的外观和易用性,windows terminal仍有很长的路需要走。随着oh-my-posh的推出,Windows在此方面才有了突破性进展。 oh-my-posh可谓是全平台通吃,它的出现不仅拯救了powershell的外观,而且可以应于bash、zsh等,为Linux、macOS等系统的终端个性化提供了更多选择,同时也可以通过clink改进windows terminal中cmd的视觉效果。 本文将介绍如何利用oh-my-zsh美化powershell、cmd以及wsl。

Windows中安装oh-my-posh

Windows10/11用户,建议通过winget进行安装(较早的win10系统需要先手动安装windows terminal,方法此处不做介绍),安装命令如下:
该命令运行完毕后,会在系统内安装两部分内容
  • oh-my-posh.exe:这是一个windows可执行程序
  • themes:最新的Oh My Posh主题
💡
安装完成后需要重启终端才能执行oh-my-posh命令,如果无法识别命令,可能需要手动将其安装路径添加至PATH变量中。
oh-my-posh默认会安装在C:\Users\用户名\AppData\Local\Programs\oh-my-posh\bin

PowerShell配置

安装字体

OhMyPosh和ohmyzsh一样支持符号显示,但需要字体支持。这里需要自行下载并安装Nerd Fonts

修改PowerShell配置文件

PowerShell配置文件可以通过以下命令打开(以vscode为例)
打开配置文件后添加如下内容
此处,需要根据个人喜好对atomic.omp.json进行修改。该内容即主题文件名,oh-my-posh为用户提供了几十种主题,效果请参考官方文档,也可通过运行以下命令进行预览。
修改完成后,通过如下命令重新加载配置文件即可生效。
💡
配置生效前需要用户对terminal的PowerShell字体配置进行修改。在terminal的设置界面进入Windows PowerShell-外观设置-字体,修改成上一步安装的NerdFonts,保存以生效。 CMD配置生效前同样需要先设置字体。

CMD配置

由于windows命令提示符不支持直接自定义,因此oh-my-posh无法直接对cmd生效。但方法总比困难多,用户可以借助Clink来实现,该软件同时也可以增强cmd的使用体验。请按照安装说明进行操作,并确保程序能自动启动。
将oh-my-posh与Clink集成的方法很简单:在Clink的脚本路径下创建一个名为oh-my-posh.lua的新文件。可在cmd中运行clink info查找scripts对应的路径,即Clink的脚本路径
创建后打开oh-my-posh.lua文件,在其中添加如下内容并保存。
重启终端以生效。
💡
如果在program file路径下创建oh-my-posh.lua文件,可能会遇到的权限问题,请自行解决。用户也可以在C:\Users\username\AppData\Local\clink路径下创建该文件,该路径位于用户目录下,应该不会遇到权限受限的情况。

升级oh-my-posh

Windows用户可以通过以下命令对oh-my-posh进行升级。

WSL中安装oh-my-posh

😀
在wsl中使用oh-my-posh可以借助本地Windows文件(主题)和Windows Terminal配置实现其效果,无需额外安装NerdFonts字体(在windows terminal中设置对应Linux子系统的字体即可),只需要在wsl系统内安装oh-my-posh可执行文件。
oh-my-posh官方文档提供了两种Linux系统下的安装方式:homebrew和手动安装。这里比较推荐手动安装,毕竟使用wsl的用户大多不希望在Linux子系统下安装太多不常用的软件,因此本文只介绍手动安装方法(linuxbrew的钟爱粉请忽略,并参考官方文档安装)。

安装

📌
安装前请确保Linux子系统上的curl及相关证书以更新至最新
运行以下命令安装最新版的oh-my-posh
默认情况下,该命令会将其安装到/usr/local/bin或现有oh-my-posh可执行文件的安装路径中。如果需要安装到其他位置,可以使用-d来指定,如运行
会将其安装至用户目录的bin文件夹内。
安装完成后,请确保其安装路径已经加入环境变量,否则请手动添加(~/.bashrc~/.bash_profile~/.zshrc~/.zsh_profile~/.profile等,取决于你所使用的shell及其配置文件)。

安装主题(可选)

主题建议使用Windows中已经安装的主题。如果觉得麻烦可将主题下载到Linux子系统,运行如下命令以下载主题

配置

使用windows主题文件

未在WSL中下载主题的,可通过读取windows系统中的主题文件进行配置,在shell配置文件中添加如下对应内容
C:\Users\username\AppData\Local\Programs\oh-my-posh\themes是Windows系统下oh-my-posh主题的默认安装路径,运行前请将username替换为自己的windows系统用户名。

使用WSL内主题文件

自行下载主题的,添加下面对应的内容至相应的shell配置文件
--config后为带有路径的主题文件名,可根据自己下载的主题路径进行设置。
添加后保存,运行
或重启Windows Terminal以生效(请确保Windows Terminal字体已经设置合适)。
 
numpy中表示数据类型的代码人生工具
  • Twikoo
  • Giscus
  • Cusdis