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为例)
打开配置文件后添加如下内容
修改完成后,通过如下命令重新加载配置文件即可生效。
配置生效前需要用户对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字体已经设置合适)。