Windows Terminal图标显示异常是因Nerd Fonts未正确安装配置:需下载带NF/PL后缀的字体,系统级安装全部.ttf文件,settings.json中“face”字段严格匹配字体全称(如“MesloLGM NF”),并关闭“启用连字”。

Windows Terminal里图标变方框、Git分支符号显示为问号、Powerlevel10k提示符缺字符——这些问题八成是Nerd Fonts没装对,不是下载了.zip就完事,必须让系统认得、终端找得到、配置写得准。
确认要装哪个Nerd Font
别一上来就全量下载。先看你在用什么终端美化工具:Oh My Posh推荐MesloLGM NF;Starship和Powerlevel10k常用Cascadia Code PL或FiraCode Nerd Font;纯图标需求可选JetBrainsMono Nerd Font。这些字体都带“NF”或“PL”后缀,【后缀是识别关键,漏掉就白装】。
访问nerdfonts.com/font-downloads,在Download区域直接点对应字体的ZIP包(如Caskaydia Cove Nerd Font或MesloLGM NF),不要进GitHub源码页手动翻patched-fonts目录——容易下错版本。
安装字体到系统级位置
解压ZIP包,全选所有.ttf文件(通常有Regular、Bold、Italic等多款),右键→“为所有用户安装”。
这一步不能只双击单个字体点“安装”,否则只装给当前用户,Windows Terminal以系统服务方式运行时可能读不到。安装完成后,按Win+R输入fonts打开字体库,搜索“Meslo”或“Cascadia”,确认列表中出现完整名称如“MesloLGM NF”或“Cascadia Code PL”——注意空格和大小写,【名称必须和后续settings.json里写的完全一致】。
配置Windows Terminal使用该字体
打开Windows Terminal → Ctrl + , 进入设置 → 左侧选“默认值”或你正在用的profile(如PowerShell)→ 切换到“外观”选项卡。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
在“字体 face”下拉菜单里,找到并选择你刚安装的字体全称(例如“MesloLGM NF”)。如果下拉菜单里没出现,说明字体没装成功或名称不匹配,不要手填,回去重查字体库。
字体大小建议设为12~14,太小会导致图标渲染糊成一团;同时关闭“启用连字”开关——开启后部分中文字体fallback会失效,反而引发中文乱码。
验证是否生效
关闭所有Terminal窗口,重新打开一个新标签页。
执行命令:ls(如果你装了Terminal-Icons)、git status或oh-my-posh --version,观察输出中的分支符号(⎇)、锁形图标(?)、语言标识()是否清晰显示。若仍有方框,立即检查settings.json中"face"字段是否拼错,比如写成"Meslo LG M NF"(多了空格)或漏掉"NF"。
若图标正常但中文仍为小方块,请跳转UTF-8编码与中文字体fallback配置步骤。

















