【保姆级教程】使用 oh-my-posh 和 clink 打造个性化 PowerShell 和 CMD
内容预览 ≧∀≦ゞ
- 终端美化指南—— oh-my-posh 和 clink 篇
- 引言
- 一、准备工作
- 默认终端:Windows Terminal
- 离线安装步骤
- 包管理器:scoop
- 为什么选择使用 Scoop 安装?
- scoop 安装
- 字体下载
- 二、配置 Windows Terminal
- 三、配置 oh-my-posh
- 安装
- 激活 oh-my-posh
- 编辑 PowerShell 配置文件
- 配置主题
- 查看主题列表
- 使用自定义主题
- 四、配置 clink
- 安装
- 激活 clink
- 设置 clink 自动运行
- 启用自动补全
- 查看 clink 配置
- 配置 oh-my-posh 样式在 CMD 中显示
- CMD 的其他增强操作
终端美化指南—— oh-my-posh 和 clink 篇
引言
在日常开发中,谁不想要一个赏心悦目的终端界面呢?一旦配置得当,不仅让工作环境更加个性化,还能让日常操作更加顺畅高效。本文将手把手带你快速上手 oh-my-posh 和 clink 的配置,让你的 PowerShell 和 CMD 焕然一新。除了详细的步骤,还会贴心分享一些易踩的坑和实用小技巧,希望在美化终端的路上帮你少走弯路。
一、准备工作
默认终端:Windows Terminal
推荐使用 Windows Terminal 作为默认终端。作为 Windows 11 自带的终端,它在多标签、个性化配置和多终端支持上表现得非常不错,完全能满足日常使用需求。既然系统已经提供了这样一款功能强大的工具,我们大可不必折腾 wezterm 等其他第三方软件了 :)
如果你使用的是 Windows 10 或精简版系统,可能没有预装 Windows Terminal。这种情况下,可以通过微软商店在线安装,或者选择离线安装。
离线安装步骤
- 前往 GitHub Releases 页面 下载
.msixbundle
后缀的安装包(例如,Microsoft.WindowsTerminal_1.11.3471.0_8wekyb3d8bbwe.msixbundle
)。 - 在下载目录中打开 PowerShell,执行以下命令进行安装:
Add-AppxPackage .\Microsoft.WindowsTerminal_1.11.3471.0_8wekyb3d8bbwe.msixbundle
安装完成后,输入wt
即可进入Windows Terminal。
包管理器:scoop
为什么选择使用 Scoop 安装?
使用 Scoop 作为包管理器来安装开发工具,比如 oh-my-posh
、clink
,相比直接从微软商店安装或下载安装包,有几个明显的优势:
-
更便捷的安装和更新
Scoop 一行命令就能完成安装,既不需要手动下载安装包,也不必逐个步骤操作。安装完成后可以直接运行,更新时也同样简单,只需运行scoop update <package_name>
即可完成。 -
自动配置环境变量
Scoop 将所有安装的软件都自动放在scoop\shims
文件夹中,并将其路径加入系统环境变量。因此,安装完成后可以直接在终端中使用命令,而无需手动配置路径。 -
轻量又优雅
Scoop 将所有软件都集中在用户目录下管理,不会修改系统目录。这种优雅的管理方式避免了对系统的影响,也更易于管理和卸载。 -
简洁的依赖管理
Scoop 能自动安装软件的依赖项,避免了手动下载和配置的麻烦,极大简化了安装过程。
因此,使用 Scoop 不仅能简化安装和更新操作,还减少了配置环境变量的繁琐步骤,是一种方便又优雅的安装方式。
更多关于 Scoop 的介绍与使用技巧,可以参考以下文档:
https://muxiner.github.io/using-scoop/
https://khigh.top/archives/scoop
scoop 安装
-
设置 PowerShell 执行策略
在安装 scoop 之前,需允许 PowerShell 执行脚本。可以在 PowerShell 中执行以下命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
-
安装 scoop
在 PowerShell 中运行以下命令:irm get.scoop.sh | iex
安装完成后,scoop 将自动配置环境变量,这意味着你可以在任何命令行窗口中直接使用
scoop
命令来安装、卸载或更新软件包。scoop 提供了便捷的包管理体验,可以帮助我们省去手动下载、配置和更新软件的麻烦。在本文中,我们将使用 scoop 来安装所有相关工具,包括 oh-my-posh 和 clink,让整个安装过程更加流畅高效。
字体下载
为了在 oh-my-posh 中正确显示各类图标,我们需要安装支持 Nerd Fonts 的字体。推荐下载 Meslo 或其他你喜欢的 Nerd Fonts 字体。安装方法如下:
- 前往 Nerd Fonts 官方 GitHub 页面 或访问 Nerd Fonts 下载页面 下载 Meslo 或其他字体包。
- 解压下载的文件,并右键安装所有
.ttf
字体文件。 - 在 Windows Terminal 的设置中选择安装的 Nerd Fonts 字体(例如 MesloLGM NF),确保字体正常显示图标。
二、配置 Windows Terminal
找到PowerShell的外观设置
设置文本样式
设置背景图,透明度等
添加启动参数 -nologo
来隐藏 PowerShell 启动时的欢迎信息。这样,启动 PowerShell 时就不会显示欢迎信息。请注意,这个设置仅适用于 PowerShell,而不适用于 CMD。
同样,你可以设置 cmd 的外观,甚至将 cmd 设置为默认启动的终端
三、配置 oh-my-posh
oh-my-posh 是一个可以自定义命令行提示符样式的工具,支持丰富的主题和自定义选项。尽管它在资源占用上相对较大且启动速度较慢,但仍然受到许多开发者的青睐。
安装
在 PowerShell 中使用 scoop 安装 oh-my-posh:
scoop install oh-my-posh
确保 scoop\shims
路径已添加到环境变量中:
关于 shims 文件夹:scoop 创建的 shims 文件夹用于存放所有已安装应用的快捷方式,使得在命令行中可以直接调用这些程序,而无需指定完整路径。
激活 oh-my-posh
编辑 PowerShell 配置文件
oh-my-posh 需要在 PowerShell 配置文件中进行初始化。可以通过以下命令打开 PowerShell 的配置文件:
notepad $PROFILE
若提示找不到文件,可以手动创建,或使用以下命令直接新建配置文件并写入初始化代码:
mkdir "$env:HOMEPATH\Documents\WindowsPowerShell"
Set-Content $env:HOMEPATH\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 'oh-my-posh init pwsh | Invoke-Expression'
保存文件后,重启 PowerShell 以使配置生效。若成功加载,oh-my-posh 会自动显示出美化后的提示符。
配置主题
查看主题列表
oh-my-posh 提供了多种预设主题,可以使用以下命令查看并选择自己喜欢的主题:
Get-PoshThemes
使用自定义主题
如果希望加载特定的主题文件,可以将主题路径指定到初始化命令中:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\montys.omp.json" | Invoke-Expression
四、配置 clink
clink 是一款增强 CMD 功能的小工具,支持自动补全、命令历史等功能,极大提升了 CMD 的使用体验。
安装
在 PowerShell 中使用 scoop 安装 clink:
scoop install clink
激活 clink
设置 clink 自动运行
可以通过 autorun
命令设置 clink 自动运行,并使用quiet
参数,这样每次启动 CMD 时 clink 会自动启用并禁用启动提示信息:
clink autorun install -- --quiet
使用quiet
参数前后的区别如下图:
(使用前)
(使用后)
若只想在当前 CMD 会话中暂时体验 clink 功能,可使用以下命令:
clink inject
启用自动补全
clink 支持 autosuggest
自动补全功能,类似于 shell 中的 zsh 自动建议,可以通过以下命令启用该功能:
clink set autosuggest.enable true
查看 clink 配置
可以使用以下命令查看当前的 clink 配置信息:
clink info
配置 oh-my-posh 样式在 CMD 中显示
如果希望在 CMD 中同样展示 oh-my-posh 的样式,可以通过 Lua 脚本加载主题。具体步骤如下:
-
创建 Lua 配置文件
在C:\Users\xtj6\AppData\Local\clink
目录下(注意此路径需要改为你的用户名),新建一个名为oh-my-posh.lua
的文件。 -
加载 oh-my-posh 主题
在文件中写入以下代码,以将oh-my-posh
的样式应用到 CMD:load(io.popen('oh-my-posh init cmd'):read("*a"))()
-
加载自定义主题
若希望使用自定义主题,可以将命令更新为以下内容:load(io.popen('oh-my-posh init cmd --config="%POSH_THEMES_PATH%\\your-theme.omp.json"'):read("*a"))()
注意:确保
POSH_THEMES_PATH
环境变量正确配置,your-theme.omp.json
为你的自定义主题文件名。
配置完成后,重新打开 CMD,即可看到应用了 oh-my-posh 的自定义提示符样式。
CMD 的其他增强操作
clink 可以在 CMD 中给常用的 Linux 指令(如 ls
、rm
等)设置别名,从而让习惯于 LInux 命令行的用户不会为常见命令的差异而困扰。关于如何实现这些指令的更多信息,可参考文章:使用clink优化cmd。
➤ 参考资料
- https://www.bilibili.com/read/cv20467382/
- https://halc.top/p/82bd449c
- https://www.cnblogs.com/hongdada/p/16826311.html
最后,再次感谢您阅读本篇文章,如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流!您的点赞和分享将是我继续创作的动力。