Autognosis 的博客

Find yourself,Be yourself

19 Feb 2026

Windows环境下Nerd Font安装与相关配置指南

前言

Starship 是一款基于 Rust 的终端提示符工具,可以自定义终端提示符的样式,提供了丰富的自定义选项,其中很多图标的显示需要依赖 Nerd Fonts。

Nerd Fonts 是包含了Nerd图标的字体的统称,Starship 和其他终端个性化工具都依赖它们来实现图标的终端显示。

对于小白而言,安装 Nerd Fonts 可能会比较困难,因为字体很多,安装步骤繁琐。这里提供一个简单的方法:

安装 Nerd Fonts 的简便方法

最直接的方法是直接去 Nerd Fonts 的 GitHub 仓库,下载你需要的字体,然后安装即可。但是这种方法非常繁琐,因为同一种字体的不同变体(如 Regular、Bold、Italic 等)都需要安装,步骤繁琐。

这里提供两种方法。第一种是使用 Scoop 安装,第二种是 PowerShell 模块。

第一种:使用 Scoop 安装

确保电脑安装了 Scoop。如果在 PowerShell 中输入 scoop 提示未找到,则需要安装 Scoop。

在 PowerShell 中输入以下命令:

1Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
2Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

然后,添加 Nerd Fonts 仓库

1scoop bucket add nerd-fonts

然后,安装 Nerd Fonts

1scoop install FiraCode-NF

这里可以将 FiraCode-NF 替换成你需要的字体。

Scoop可用字体编号

以下是一些推荐的Nerd Fonts字体对应的编号:

字体名称字体编号推荐指数
MesloLGS NFMeslo-NF⭐⭐⭐⭐
JetBrainsMono Nerd FontJetBrainsMono-NF⭐⭐⭐⭐
FiraCode Nerd FontFiraCode-NF⭐⭐⭐⭐⭐
CaskaydiaCove Nerd FontCaskaydiaCove-NF⭐⭐⭐⭐
CascadiaCode Nerd FontCascadiaCode-NF⭐⭐⭐⭐⭐
Hack Nerd FontHack-NF⭐⭐⭐⭐⭐

第二种:使用 PowerShell 模块安装

在 PowerShell 中输入以下命令:

1Install-PSResource -Name NerdFonts
2Import-Module -Name NerdFonts

然后,安装 Nerd Fonts

1Install-NerdFont -Name FiraCode   # 这种方法支持 Tab 自动补全

如果想给所有用户安装,则需要提升权限。在 PowerShell 中输入以下命令:

1Install-NerdFont -Name FiraCode -Scope AllUsers

以上两行命令中的 FiraCode 都可以替换成你需要的字体。

PowerShell 模块可用字体编号

以下是一些推荐的Nerd Fonts字体对应的编号:

字体名称字体编号推荐指数
MesloLGS NFMeslo⭐⭐⭐⭐
JetBrainsMono Nerd FontJetBrainsMono⭐⭐⭐⭐
FiraCode Nerd FontFiraCode⭐⭐⭐⭐⭐
CaskaydiaCove Nerd FontCaskaydiaCove⭐⭐⭐⭐
CascadiaCode Nerd FontCascadiaCode⭐⭐⭐⭐⭐
Hack Nerd FontHack⭐⭐⭐⭐⭐

配置终端字体

Windows Terminal

在 Windows Terminal 中,可以通过以下方式配置终端字体:

  1. 打开 Windows Terminal
  2. 点击右上角的下拉菜单,选择 “设置”
  3. 在左侧菜单中找到配置文件,选择 “Windows PowerShell”,如果默认是 PWSH,则改为 PWSH
  4. 在右侧菜单中找到 “其他设置”,点击 “外观”
  5. 勾选 “显示所有可用字体”
  6. 点击下拉框,选择 “FiraCode Nerd Font Mono”

VS Code

在 VS Code 中,可以通过以下方式配置终端字体:

  1. 打开 VS Code
  2. 点击左上角的“ 文件”,选择“首选项”,选择“设置”
  3. 在设置搜索中输入 “font”。
  4. 在终端字体系列中输入你需要的字体。这个值可以在上一步的 Windows 终端设置中通过下拉菜单找到。
  5. 勾选允许可变字体。 VS code配置示意图

Fira Code 支持连字。例如 != 会显示为 。但是 VS Code 默认不支持连字,需要开启。

  1. 在设置中搜索 fontLigatures
  2. 勾选 Font Ligatures:Enabled VS code配置示意图2

Starship 配置推荐

在终端输入 code ~/.config/starship.toml 即可打开startship配置文件。以下是我的配置文件:

  1# ~/.config/starship.toml
  2
  3# 使用自定义格式
  4# 颜色方案:Nord (稳重风格) + Official Icon Colors
  5# 变量化颜色配置
  6
  7# 使用 format string 引用 palette 中的颜色名称
  8format = """
  9[](mauve)\
 10$os\
 11$username\
 12[](bg:red fg:mauve)\
 13$directory\
 14[](fg:red bg:peach)\
 15$git_branch\
 16$git_status\
 17[](fg:peach bg:blue)\
 18$c\
 19$elixir\
 20$elm\
 21$golang\
 22$gradle\
 23$haskell\
 24$java\
 25$julia\
 26$nodejs\
 27$nim\
 28$rust\
 29$scala\
 30$php\
 31$python\
 32$ruby\
 33$swift\
 34$zig\
 35$buf\
 36$bun\
 37$cmake\
 38$cobol\
 39$crystal\
 40$daml\
 41$dart\
 42$deno\
 43$dotnet\
 44$erlang\
 45$fennel\
 46$guix_shell\
 47$haxe\
 48$helm\
 49$kotlin\
 50$lua\
 51$meson\
 52$nix_shell\
 53$ocaml\
 54$opa\
 55$perl\
 56$purescript\
 57$raku\
 58$red\
 59$solidity\
 60$spack\
 61$vlang\
 62[](fg:blue bg:teal)\
 63$docker_context\
 64$conda\
 65$package\
 66$aws\
 67$gcloud\
 68$openstack\
 69$azure\
 70$kubernetes\
 71$terraform\
 72$pulumi\
 73$vagrant\
 74[](fg:teal bg:surface1)\
 75$time\
 76$cmd_duration\
 77[](fg:surface1)
 78$character\
 79"""
 80
 81# Disable the blank line at the start of the prompt
 82add_newline = false
 83
 84# Set active palette
 85palette = "nord_steady"
 86
 87# Official Brand Colors Palette (Standard Hex Codes)
 88[palettes.nord_steady]
 89# Core Styles (Nord)
 90mauve = "#5E81AC"    # nord10 (Frost Blue - Darkest) - OS
 91red = "#81A1C1"      # nord9 (Frost Blue - Medium) - Directory
 92peach = "#EBCB8B"    # nord13 (Aurora Yellow) - Git
 93blue = "#88C0D0"     # nord8 (Frost Cyan) - Lang Bg
 94teal = "#8FBCBB"     # nord7 (Frost Mint) - Tools Bg
 95surface1 = "#434C5E" # nord2 (Polar Night - Dark Grey) - Time Bg
 96text = "#D8DEE9"     # nord4 (Snow Storm) - Light Text
 97crust = "#2E3440"    # nord0 (Polar Night - Darkest) - Dark Text/Bg
 98green = "#A3BE8C"    # nord14 (Aurora Green)
 99purple = "#B48EAD"   # nord15 (Aurora Purple)
100maroon = "#BF616A"   # nord11 (Aurora Red)
101
102# Official Brand Colors (Icons)
103c_blue = "#00599C"           # C/C++ (Generic) or "#555555"
104elixir_purple = "#4e2a8e"
105elm_green = "#60B5CC"
106golang_blue = "#00ADD8"
107gradle_green = "#02303A"
108haskell_purple = "#5e5086"
109java_red = "#b07219"
110julia_purple = "#9558B2"
111nodejs_green = "#339933"     # Node.js Official Green
112nim_yellow = "#FFE953"
113rust_orange = "#DEA584"      # Rust (Light Orange)
114scala_red = "#DC322F"
115php_purple = "#777BB4"
116python_yellow = "#3776AB"    # Python Blue/Yellow
117ruby_red = "#CC342D"
118swift_orange = "#F05138"
119zig_orange = "#ECA700"
120dart_blue = "#0175C2"
121deno_white = "#FFFFFF"       # Deno is black/white logo
122dotnet_purple = "#512BD4"
123kotlin_purple = "#7F52FF"
124lua_blue = "#2C2D72"
125perl_blue = "#0073a1"
126docker_blue = "#2496ED"
127aws_orange = "#FF9900"
128azure_blue = "#007FFF"
129gcloud_blue = "#4285F4"
130kube_blue = "#326CE5"
131terraform_purple = "#623CE4"
132conda_green = "#348721"
133
134# User & OS Styles
135[username]
136show_always = true
137style_user = "bg:mauve fg:text"
138style_root = "bg:mauve fg:text"
139format = '[$user ]($style)'
140disabled = false
141
142[os]
143style = "bg:mauve fg:text"
144disabled = false
145format = '[$symbol ]($style)'
146
147[os.symbols]
148Windows = ""
149Ubuntu = ""
150SUSE = ""
151Raspbian = ""
152Mint = ""
153Macos = ""
154Manjaro = ""
155Linux = ""
156Gentoo = "u"
157Fedora = ""
158Alpine = ""
159Amazon = ""
160Android = ""
161Arch = ""
162Artix = ""
163EndeavourOS = ""
164CentOS = ""
165Debian = ""
166Redhat = ""
167RedHatEnterprise = ""
168Pop = ""
169
170# Directory Style
171[directory]
172style = "bg:red fg:crust"
173format = "[ $path ]($style)"
174truncation_length = 3
175truncation_symbol = "…/"
176
177[directory.substitutions]
178"Documents" = "󰈙 "
179"Downloads" = " "
180"Music" = " "
181"Pictures" = " "
182
183# Git Stylef
184[git_branch]
185symbol = ""
186style = "bg:peach fg:crust"
187format = '[ $symbol $branch ]($style)'
188
189[git_status]
190style = "bg:peach fg:crust"
191format = '[$all_status$ahead_behind ]($style)'
192
193# Language Block Style (Official Icon Colors)
194[c]
195symbol = " "
196style = "bg:blue fg:crust"
197format = '[ $symbol]($style fg:c_blue)[(via $name $version) ]($style)'
198
199[elixir]
200symbol = " "
201style = "bg:blue fg:crust"
202format = '[ $symbol]($style fg:elixir_purple)[($version) ]($style)'
203
204[elm]
205symbol = " "
206style = "bg:blue fg:crust"
207format = '[ $symbol]($style fg:elm_green)[($version) ]($style)'
208
209[golang]
210symbol = " "
211style = "bg:blue fg:crust"
212format = '[ $symbol]($style fg:golang_blue)[($version) ]($style)'
213
214[gradle]
215style = "bg:blue fg:crust"
216format = '[ $symbol]($style fg:gradle_green)[($version) ]($style)'
217
218[haskell]
219symbol = " "
220style = "bg:blue fg:crust"
221format = '[ $symbol]($style fg:haskell_purple)[($version) ]($style)'
222
223[java]
224symbol = " "
225style = "bg:blue fg:crust"
226format = '[ $symbol]($style fg:java_red)[($version) ]($style)'
227
228[julia]
229symbol = " "
230style = "bg:blue fg:crust"
231format = '[ $symbol]($style fg:julia_purple)[($version) ]($style)'
232
233[nodejs]
234#symbol = " "
235style = "bg:blue fg:crust"
236format = '[ $symbol]($style fg:nodejs_green)[($version) ]($style)'
237
238[nim]
239symbol = "󰆥 "
240style = "bg:blue fg:crust"
241format = '[ $symbol]($style fg:nim_yellow)[($version) ]($style)'
242
243[rust]
244symbol = " "
245style = "bg:blue fg:crust"
246format = '[ $symbol]($style fg:rust_orange)[($version) ]($style)'
247
248[scala]
249symbol = " "
250style = "bg:blue fg:crust"
251format = '[ $symbol]($style fg:scala_red)[($version) ]($style)'
252
253[php]
254symbol = " "
255style = "bg:blue fg:crust"
256format = '[ $symbol]($style fg:php_purple)[($version) ]($style)'
257
258[python]
259symbol = " "
260style = "bg:blue fg:crust"
261format = '[ $symbol]($style fg:python_yellow)[${pyenv_prefix}(${version})(\($virtualenv\)) ]($style)'
262
263[ruby]
264symbol = " "
265style = "bg:blue fg:crust"
266format = '[ $symbol]($style fg:ruby_red)[($version) ]($style)'
267
268[swift]
269symbol = "ﯣ "
270style = "bg:blue fg:crust"
271format = '[ $symbol]($style fg:swift_orange)[($version) ]($style)'
272
273[zig]
274symbol = " "
275style = "bg:blue fg:crust"
276format = '[ $symbol]($style fg:zig_orange)[($version) ]($style)'
277
278[buf]
279symbol = " "
280style = "bg:blue fg:crust"
281format = '[ $symbol($version) ]($style)'
282
283[bun]
284symbol = "🦄 "
285style = "bg:blue fg:crust"
286format = '[ $symbol($version) ]($style)'
287
288[cmake]
289symbol = "△ "
290style = "bg:blue fg:crust"
291format = '[ $symbol($version) ]($style)'
292
293[cobol]
294symbol = "⚙️ "
295style = "bg:blue fg:crust"
296format = '[ $symbol($version) ]($style)'
297
298[crystal]
299symbol = "🔮 "
300style = "bg:blue fg:crust"
301format = '[ $symbol($version) ]($style)'
302
303[daml]
304symbol = "Λ "
305style = "bg:blue fg:crust"
306format = '[ $symbol($version) ]($style)'
307
308[dart]
309symbol = " "
310style = "bg:blue fg:crust"
311format = '[ $symbol]($style fg:dart_blue)[($version) ]($style)'
312
313[deno]
314symbol = "🦕 "
315style = "bg:blue fg:crust"
316format = '[ $symbol]($style fg:deno_white)[($version) ]($style)'
317
318[dotnet]
319symbol = " "
320style = "bg:blue fg:crust"
321format = '[ $symbol]($style fg:dotnet_purple)[($version)(🎯 $tfm) ]($style)'
322
323[erlang]
324symbol = " "
325style = "bg:blue fg:crust"
326format = '[ $symbol($version) ]($style)'
327
328[fennel]
329symbol = " "
330style = "bg:blue fg:crust"
331format = '[ $symbol($version) ]($style)'
332
333[guix_shell]
334symbol = " "
335style = "bg:blue fg:crust"
336format = '[ $symbol ]($style)'
337
338[haxe]
339symbol = " "
340style = "bg:blue fg:crust"
341format = '[ $symbol($version) ]($style)'
342
343[helm]
344symbol = "⎈ "
345style = "bg:blue fg:crust"
346format = '[ $symbol($version) ]($style)'
347
348[kotlin]
349symbol = " "
350style = "bg:blue fg:crust"
351format = '[ $symbol]($style fg:kotlin_purple)[($version) ]($style)'
352
353[lua]
354symbol = " "
355style = "bg:blue fg:crust"
356format = '[ $symbol]($style fg:lua_blue)[($version) ]($style)'
357
358[meson]
359style = "bg:blue fg:crust"
360format = '[ $symbol$project ]($style)'
361
362[nix_shell]
363symbol = " "
364style = "bg:blue fg:crust"
365format = '[ $symbol$state( \($name\)) ]($style)'
366
367[ocaml]
368symbol = "🐫 "
369style = "bg:blue fg:crust"
370format = '[ $symbol($version)(\($switch_indicator$switch_name\)) ]($style)'
371
372[opa]
373symbol = "⚖️ "
374style = "bg:blue fg:crust"
375format = '[ $symbol($version) ]($style)'
376
377[perl]
378symbol = " "
379style = "bg:blue fg:crust"
380format = '[ $symbol]($style fg:perl_blue)[($version) ]($style)'
381
382[purescript]
383symbol = "<=> "
384style = "bg:blue fg:crust"
385format = '[ $symbol($version) ]($style)'
386
387[raku]
388symbol = "🦋 "
389style = "bg:blue fg:crust"
390format = '[ $symbol($version-$vm_version) ]($style)'
391
392[red]
393symbol = "🔺 "
394style = "bg:blue fg:crust"
395format = '[ $symbol($version) ]($style)'
396
397[solidity]
398symbol = "Ξ "
399style = "bg:blue fg:crust"
400format = '[ $symbol($version) ]($style)'
401
402[spack]
403symbol = "🅢 "
404style = "bg:blue fg:crust"
405format = '[ $symbol$environment ]($style)'
406
407[vlang]
408symbol = "V "
409style = "bg:blue fg:crust"
410format = '[ $symbol($version) ]($style)'
411
412# Cloud & Tools Block Style (Teal)
413[docker_context]
414symbol = " "
415style = "bg:teal fg:crust"
416format = '[ $symbol]($style fg:docker_blue)[$context ]($style)'
417
418[conda]
419style = "bg:teal fg:crust"
420format = '[ $symbol](bg:teal fg:conda_green)[$environment ]($style)'
421ignore_base = false
422
423[package]
424symbol = " "
425style = "bg:teal fg:crust"
426format = '[ $symbol$version ]($style)'
427
428[aws]
429symbol = " "
430style = "bg:teal fg:crust"
431format = '[ $symbol]($style fg:aws_orange)[($profile)(\($region\)) ]($style)'
432
433[gcloud]
434symbol = " "
435style = "bg:teal fg:crust"
436format = '[ $symbol]($style fg:gcloud_blue)[$account(@$domain)(\($region\)) ]($style)'
437
438[openstack]
439symbol = "☁️ "
440style = "bg:teal fg:crust"
441format = '[ $symbol$cloud(\($project\)) ]($style)'
442
443[azure]
444style = "bg:teal fg:crust"
445format = '[ $symbol]($style fg:azure_blue)[($subscription) ]($style)'
446
447[kubernetes]
448symbol = "☸ "
449style = "bg:teal fg:crust"
450format = '[ $symbol]($style fg:kube_blue)[$context( \($namespace\)) ]($style)'
451
452[terraform]
453style = "bg:teal fg:crust"
454format = '[ $symbol]($style fg:terraform_purple)[$workspace ]($style)'
455
456[pulumi]
457symbol = " "
458style = "bg:teal fg:crust"
459format = '[ $symbol$stack ]($style)'
460
461[vagrant]
462symbol = " "
463style = "bg:teal fg:crust"
464format = '[ $symbol($version) ]($style)'
465
466# Time & Duration (Grey/Dark Blue)
467[time]
468disabled = false
469time_format = "%R"
470style = "bg:surface1 fg:text"
471format = '[  $time ]($style)'
472
473[cmd_duration]
474min_time = 500
475style = "bg:surface1 fg:text"
476format = '[ ⏱ $duration ]($style)'
477
478# Prompt Character (Nord Colors)
479[character]
480disabled = false
481success_symbol = '[➜](bold fg:green)'             # Nord14 (Aurora Green)
482error_symbol = '[✗](bold fg:maroon)'              # Nord11 (Aurora Red)
483vimcmd_symbol = '[](bold fg:green)'
484vimcmd_replace_one_symbol = '[](bold fg:purple)' # Nord15 (Purple)
485vimcmd_replace_symbol = '[](bold fg:purple)'
486vimcmd_visual_symbol = '[](bold fg:peach)'       # Nord13 (Yellow)