Windows 终端美化完整教程(oh-my-posh + Catppuccin)

Rxw

前言

写代码最常打交道的就是终端。一个好看的终端不只是赏心悦目,它还能通过颜色和符号一眼告诉你当前目录、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_mochagruvbox
  • 深度定制:导出 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.jsonkeybindings):

{
    "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)。确保只在 .bashrcoh-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.
Comments