Windows 终端美化完整教程(oh-my-posh + Catppuccin)
前言
写代码最常打交道的就是终端。一个好看的终端不只是赏心悦目,它还能通过颜色和符号一眼告诉你当前目录、git 分支、改动状态,效率直接翻倍。
这篇教程就以我电脑上正在使用的配置为例,带你从零到一复刻一套完整的 Windows 终端美化方案:
Windows Terminal + JetBrainsMono Nerd Font + Catppuccin Mocha + oh-my-posh + vivid
先看效果图:
上图是美化后的终端效果:Catppuccin Mocha 配色、Nerd Font 图标、oh-my-posh 提示符显示路径与 git 状态、vivid 让 ls 输出按类型着色。
整体架构
终端美化本质上是四层叠加,每层解决一个问题:
| 层级 | 组件 | 作用 |
|---|---|---|
| 第 1 层 | Windows Terminal | 终端模拟器,负责窗口、标签、分屏 |
| 第 2 层 | Nerd Font + 配色 | 提供图标字形和统一的 16 色 |
| 第 3 层 | oh-my-posh | 渲染高信息量的命令提示符 |
| 第 4 层 | vivid | 给 ls 输出按类型着色 |
下面按层开始。
第一步:安装 Windows Terminal
Windows 11 自带,Windows 10 可从 Microsoft Store 搜索 “Windows Terminal” 安装。
打开后你会看到系统默认的黑色控制台。别急,接下来每一层都给它”化妆”。
第二步:安装 Nerd Font 字体
普通等宽字体缺少图标字形(如 、 ),Nerd Font 在等宽字体基础上内置了大量图标,是终端美化的地基。
推荐使用 Nerd Fonts 官网下载,或直接用包管理器安装:
# winget 一键安装 JetBrains Mono Nerd Font
winget install JetBrainsMono
安装后在 Windows Terminal 设置中,将默认字体改为:
"font": {
"face": "JetBrainsMono Nerd Font"
}
安装成功标志:提示符中能显示 ➜、、 等图标。
第三步:配置 Catppuccin Mocha 配色
Catppuccin 是一套广受欢迎的柔和配色方案,有 4 个变体(Latte/Frappe/Macchiato/Mocha),Mocha 是深色系中最经典的。
在 Windows Terminal 中按 Ctrl+, 打开 settings.json,在 schemes 数组中添加:
{
"name": "Catppuccin Mocha",
"background": "#1E1E2E",
"foreground": "#CDD6F4",
"cursorColor": "#F5E0DC",
"selectionBackground": "#585B70",
"black": "#45475A",
"red": "#F38BA8",
"green": "#A6E3A1",
"yellow": "#F9E2AF",
"blue": "#89B4FA",
"purple": "#CBA6F7",
"cyan": "#94E2D5",
"white": "#BAC2DE",
"brightBlack": "#585B70",
"brightRed": "#F38BA8",
"brightGreen": "#A6E3A1",
"brightYellow": "#F9E2AF",
"brightBlue": "#89B4FA",
"brightPurple": "#CBA6F7",
"brightCyan": "#94E2D5",
"brightWhite": "#A6ADC8"
}
然后在 defaults 中应用:
"defaults": {
"colorScheme": "Catppuccin Mocha",
"font": {
"face": "JetBrainsMono Nerd Font"
}
}
第四步:安装 oh-my-posh 提示符
oh-my-posh 是跨平台提示符引擎,支持 PowerShell、Bash、zsh 等几乎所有 shell,一处配置到处生效。
1. 安装
# winget 安装
winget install JanDeDobbeleer.OhMyPosh
2. 选择主题
我使用的是内置的 atomic 主题(也是 oh-my-posh 默认主题):
# 查看所有主题
oh-my-posh config export --output atomic.omp.json
atomic 主题包含:路径、git 分支与状态、命令耗时、虚拟环境等段。
3. PowerShell 集成
编辑 PowerShell profile:
# 打开 profile
notepad $PROFILE
添加:
oh-my-posh init pwsh --config "$env:USERPROFILE\atomic.omp.json" | Invoke-Expression
4. Git Bash 集成
我的主力 shell 是 Git Bash,在 ~/.bashrc 中加入:
# oh-my-posh prompt
eval "$(oh-my-posh init bash --config atomic)"
~/.bash_profile 负责加载它:
# Git Bash login shell: load interactive config
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
5. 自定义主题
想改主题?两个思路:
- 换内置主题:把
atomic换成catppuccin_mocha、gruvbox等 - 深度定制:导出 JSON 后改
segments数组,调整背景色、模板、图标
比如我想让 git 分支显示改动数量,用 atomic 主题自带的功能即可:
{
"type": "git",
"style": "powerline",
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{ if .Working.Changed }} ✎ {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} ✗ {{ .Staging.String }}{{ end }}"
}
第五步:用 vivid 给 ls 上色
bash 的 ls 颜色由 LS_COLORS 环境变量控制,手写那串转义码非常痛苦。vivid 帮你一键生成,支持大量主题:
# 安装 vivid
winget install vivid
然后在你 shell 的配置文件里设置:
# vivid ls 配色(catppuccin-mocha)
export LS_COLORS="$(vivid generate catppuccin-mocha)"
alias ls='ls --color=auto'
这样 ls 输出的目录、文件、可执行文件、压缩包就会自动按类型着色,而且配色和终端主题完全统一。
第六步:优化快捷键
最后给 Windows Terminal 加上顺手的分屏和复制粘贴快捷键(settings.json 的 keybindings):
{
"keybindings": [
{ "keys": "ctrl+c", "command": { "action": "copy", "singleLine": false } },
{ "keys": "ctrl+v", "command": "paste" },
{ "keys": "ctrl+shift+f", "command": "find" },
{ "keys": "alt+shift+d", "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" } }
]
}
最终效果
四层全部完成后,终端长这样:
- 提示符:
➜ ~/dev/my-blog git:(main) ✎ 3— 一眼看到路径、分支、改动数 - 虚拟环境:进入 venv 自动显示
(.venv)前缀 - ls 输出:目录蓝色、可执行文件绿色、压缩包红色,一目了然
- 配色统一:终端、提示符、ls 全部使用 Catppuccin Mocha,视觉零割裂
常见问题
Q: 图标显示成方块怎么办?
字体没有生效。确认:① 安装了 Nerd Font;② Windows Terminal 字体设置里选了 JetBrainsMono Nerd Font(注意名字完整);③ 重启终端。
Q: oh-my-posh 在 PowerShell 里不生效?
检查 $PROFILE 是否存在,不存在先创建:
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }
Q: Git Bash 提示符重复?
多半是 .bashrc 被加载了两次(.bash_profile 和 .bashrc 同时 init)。确保只在 .bashrc 里 oh-my-posh init,.bash_profile 只负责 source。
小结
终端美化 = 字体(地基)+ 配色(统一)+ 提示符(信息)+ ls 着色(细节),四层递进,缺一不可。
整套方案完全免费、跨 shell 一致,配一次之后,无论 PowerShell、Git Bash 还是 WSL,都是同一套高颜值终端。建议从 oh-my-posh 官方文档的 主题画廊 里挑一个你喜欢的配色开始动手。
附:我的完整配置清单
- 终端:Windows Terminal(默认 profile 为 Windows PowerShell)
- 字体:JetBrainsMono Nerd Font
- 配色:Catppuccin Mocha(16 色自定义方案)
- 提示符:oh-my-posh 30.x + atomic 主题
- ls 着色:vivid + catppuccin-mocha
祝你也能拥有一台好看又好用的终端。
- Title: Windows 终端美化完整教程(oh-my-posh + Catppuccin)
- Author: Rxw
- Created at : 2026-08-05 09:30:00
- Updated at : 2026-08-05 09:35:46
- Link: https://rxw2023-github-io.pages.dev/2026/08/05/Windows终端美化教程/
- License: This work is licensed under CC BY-NC-SA 4.0.