一. 什么是oh-my-posh?

Oh My Posh 是一款终端个性化工具,支持 Windows、Linux(WSL)、macOS 系统上的 PowerShell、bash、zsh 等终端,可以配置不同主题达到个性化的效果。

本篇文章,将以PowerShell终端为例,为大家介绍如何使用oh-my-posh来美化命令行终端。废话不多说,直接上干货吧,走起~~👇

二. 怎么安装oh-my-posh和必要插件?

  1. 安装oh-my-posh

执行如下命令,安装过程中出现提示,请直接输入“Y”。

Install-Module oh-my-posh -Scope CurrentUser -SkipPublisherCheck

  1. 安装posh-git

执行如下命令,安装过程中出现提示,请直接输入“Y”。

Install-Module posh-git -Scope CurrentUser

  1. 安装PSReadLine

Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck

通过检查oh-my-posh版本,确定是否已安装成功。

oh-my-posh --version

三. 怎么配置oh-my-posh?

  1. 安装Nerd Fonts字体

推荐使用MesloLGM NF字体,点此即可直接下载Meslo字体(v2.3.3),当然,若想使用其他NF字体,可以访问Nerd Fonts官网进行挑选。

下载完成后解压,全选右键点击安装即可自动安装。

  1. PowerShell使用Nerd Fonts字体

打开Window Terminal,然后按"ctrl + shift + ,"打开Window Terminal的settings.json配置文件,为命令行工具添加/修改字体参数,如下所示:

  1. 安装文件图标库

PowerShell运行如下命令,即可安装文件图标库。

Install-Module -Name Terminal-Icons -Repository PSGallery

PS:文件图标库能否正常使用,必须依赖于Nerd Fonts字体。Nerd Fonts字体的安装和使用请参考上述第1~2点内容。

使用文件图标库,需要在PowerShell配置文件中,增加如下命令:

Import-Module -Name Terminal-Icons

  1. 配置shell终端以使用oh-my-posh

以PowerShell为例。

首先,打开PowerShell的配置文件,通过如下命令:

# 通过记事本打开powershell配置文件
notepad $PROFILE

# 若上述命令报错,找不到powershell配置文件,则需创建powershell配置文件,执行如下命令
New-Item -Path $PROFILE -Type File -Force

然后,在PowerShell配置文件中,添加如下内容,保存。

Import-Module posh-git # 引入 posh-git
Import-Module oh-my-posh # 引入 oh-my-posh
Import-Module -Name Terminal-Icons  # 引入文件图标库
# 设置主题
oh-my-posh init pwsh --config "C:\Users\nut\AppData\Local\Programs\oh-my-posh\themes\robbyrussell.omp.json"  |  Invoke-Expression

# Set-PSReadLineOption -PredictionSource History # 设置预测文本来源为历史记录
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete # 设置 Tab 键,命令行自动补全和提示
# Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function MenuComplete # 设置 Ctrl+d 为菜单补全和 Intellisense
# Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward # 设置向上键为后向搜索历史记录
# Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward # 设置向下键为前向搜索历史纪录

最后,执行.$PROFILE,生效PowerShell配置文件。

.$PROFILE

如下图,就是最终的效果啦~~,是不是挺好看哈哈~~

至此,PowerShell终端美化工作就算完成啦~

  1. 配置cmd终端以使用oh-my-posh

首先,安装clink工具,双击exe安装包即可安装.

PS: 请记住clink的安装目录,下一步会用到哦~

然后,进入clink安装目录,创建oh-my-posh.lua文件,添加如下内容:

load(io.popen('oh-my-posh init cmd'):read("*a"))()

最后,重启cmd终端就能生效啦~

扩展:若要更改主题,请将上述oh-my-posh.lua文件的内容替换成如下内容:

PS:当然,主题的路径,请更改成自己本地电脑上的路径哦。

load(io.popen('oh-my-posh init cmd --config C:\\Users\\NUT\\AppData\\Local\\Programs\\oh-my-posh\\themes\\robbyrussell.omp.json'):read("*a"))()

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐