在使用 Oh My Zsh + Powerlevel10k 时,正确的字体配置至关重要。Powerlevel10k 依赖 Nerd Fonts 扩展字体,以正确显示 Git 状态、分支、时间、图标等信息。
如果没有正确配置字体,你可能会看到 乱码、问号(?)、方块(□)或缺失的 Powerlevel10k 图标。
本指南将介绍 如何安装和配置终端字体,适用于 Linux(Ubuntu、CentOS、Arch)、macOS、Windows(CMD、PowerShell、Windows Terminal、WSL)。
Powerlevel10k 官方推荐 使用 MesloLGS NF,因为它包含所有必要的 Nerd Font 字符。如果你希望使用其他 Nerd Font(如 FiraCode Nerd Font、JetBrains Mono Nerd Font),也可以按照本指南安装。
官方 Powerlevel10k 字体下载:
MesloLGS NF 下载
如果你想使用其他 Nerd Font,可以访问:
Nerd Fonts 官方下载
MesloLGS NF 提供 四种不同的字体变体,你可以根据自己的需求选择安装:
Regular
:普通字体,适用于大多数场景。Bold
:加粗字体,用于强调文本。Italic
:斜体字体,一般用于代码注释或特殊高亮。Bold Italic
:加粗斜体,结合加粗和斜体效果。通常,安装 Regular 版本就足够了,但如果你喜欢更丰富的字体样式,可以安装全部四种。
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
wget -O "MesloLGS NF Regular.ttf" "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf"
wget -O "MesloLGS NF Bold.ttf" "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf"
wget -O "MesloLGS NF Italic.ttf" "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf"
wget -O "MesloLGS NF Bold Italic.ttf" "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf"
fc-cache -fv
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
wget -O "MesloLGS NF Regular.ttf" "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf"
fc-cache -fv
Ubuntu / Debian
sudo apt install fonts-powerline -y
sudo apt install fonts-firacode -y # 可选
Arch Linux
sudo pacman -S nerd-fonts-fira-code
Fedora
sudo dnf install powerline-fonts
CentOS / RHEL(需要 EPEL 源)
sudo yum install epel-release -y
sudo yum install powerline-fonts
brew tap homebrew/cask-fonts
brew install --cask font-meslo-lg-nerd-font
.ttf
文件。iTerm2 配置步骤:
Cmd + ,
进入 Preferences。MesloLGS NF
。macOS 默认终端配置:
MesloLGS NF
作为字体。配置 Windows Terminal(推荐)
Windows Terminal(适用于 PowerShell、CMD、WSL)可以单独设置 Nerd Font。
MesloLGS NF
。如果设置正确,你应该可以看到 Powerlevel10k 图标正常显示。
配置 CMD 和 PowerShell
Windows 传统的 CMD 和 PowerShell 不支持 修改字体为 Nerd Fonts,建议使用 Windows Terminal 或 VS Code 终端 进行 Powerlevel10k 主题显示。
但如果你仍然希望在 PowerShell 中使用 Nerd Fonts,可以使用 ConEmu 终端模拟器:
MesloLGS NF
,并点击 Apply。配置 WSL(Windows Subsystem for Linux)
WSL(如 Ubuntu、Debian、Arch 等)运行在 Windows Terminal 内,因此你可以直接按照 Windows Terminal 的字体设置。
如果你使用的是 WSL 内部的 GNOME Terminal/Konsole,可以按照 Linux 终端的字体设置方式进行调整(见 Linux 配置指南)。
VS Code 终端默认不使用 Nerd Font,因此需要手动修改。
Ctrl + Shift + P
,输入 settings.json
并选择 Preferences: Open Settings (JSON)
。{
"terminal.integrated.fontFamily": "MesloLGS NF"
}
Ctrl + Shift +
)。如果你在 JetBrains 系列 IDE(如 IntelliJ IDEA、PyCharm、WebStorm)中使用 Powerlevel10k,你需要配置 终端和编辑器的字体。
File
→ Settings
→ Editor
→ Color Scheme
→ Console Font
。MesloLGS NF
。Apply
,然后 OK
。File
→ Settings
→ Editor
→ Font
。MesloLGS NF
(或其他 Nerd Font)。Apply
,然后 OK
。运行以下命令,检查 Powerlevel10k 字符是否正常显示:
echo "✓ Testing Powerlevel10k Icons: ⚡ ❯"
如果显示 ✓ ⚡ ❯
,说明字体正确 ✅。
如果仍然看到 ?
或 □
,请确认:
MesloLGS NF
或其他 Nerd Font。fc-cache -fv
)。如果字体仍然异常,可以重新配置 Powerlevel10k:
p10k configure
按照向导重新调整字体和主题设置。
✅ 安装 Nerd Fonts,并正确配置终端。
✅ 适用于 Linux、macOS、Windows。
✅ 确保 Powerlevel10k 主题显示正确。
现在你的终端已经 完美适配 Powerlevel10k,开始享受高效美观的终端体验吧!