软件

  1. Windows Terminal
  2. Scoop
  3. Powershell

开始安装

安装NF字体

1
2
3
4
5
6
7
8
# 添加NF字体库
scoop bucket add nerd-fonts

# 添加字体(需要管理员权限)
scoop install Meslo-NF-Mono

# 或者执行下面的命令:先运行scoop install sudo 安装sudo
sudo scoop install Meslo-NF-Mono

Windows Terminal

配置 Windows Terminal,点击下拉菜单选择设置打开设置标签页,然后依次修改以下选项:

  1. 启动 -> 默认配置文件,改为 Powershell,如果你已经安装了 Powershell 7.2,这里应当可以自动搜索到。否则可能需要手动编辑配置文件。
  2. 启动 -> 默认终端应用程序,改为 Windows Terminal。
  3. 外观 -> 在选项卡中显示亚力克效果,选择启用。
  4. 配色方案,这里可以根据自己喜好调整。
  5. 配置文件默认值 -> 外观 -> 字体,改为 MesloLGS NF 字体,字号按照自己屏幕大小选择,再开启亚力克效果,透明度选择 70% 左右。

安装oh-my-posh

oh-my-posh 是一个 Powershell 的主题项目,可以将 Powershell 美化成类似 ohmyzsh 的效果。安装 oh-my-posh 也很简单,运行下面的命令即可。posh-git 是一个在提示符中显示 git 仓库信息的包,建议同时安装。

1
2
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

安装成功之后就可以在终端中显示主题了。

1
2
3
4
# 首先需要加载oh-my-posh模块
Import-Module oh-my-posh
# 然后指定一个主题
Set-PoshPrompt -Theme amro

更多主题:

对所有终端生效

1
2
3
4
code $PROFILE

# 如果没有安装vscode的话,可以使用记事本打开
notepad $PROFILE

添加以下命令

1
2
Import-Module oh-my-posh
Set-PoshPrompt -Theme amro

安装图标

Terminal-Icons 是一个为 Powershell 显示文件类型图标的 Powershell 模块,同样基于 nerd-fonts。

1
Install-Module -Name Terminal-Icons -Scope CurrentUser

安装完毕后,在终端中导入模块,再运行一下 Show-TerminalIconsTheme 命令,就可以看到 Terminal-Icons 为文件类型显示图标的例子了。

1
2
Import-Module -Name Terminal-Icons
Show-TerminalIconsTheme

为了让所有终端都能生效,应该将下面一行添加到 $PROFILE 中。

1
Import-Module -Name Terminal-Icons

PSReadLine

想让 Powershell 也拥有提示和补全功能?

安装 PSReadLine

确保你使用的是 Powershell 7.2,然后运行下面的命令。

1
2
3
Install-Module PSReadLine -AllowPrerelease -Force
# 或者你喜欢稳定版
Install-Module PSReadLine -Scope CurrentUser

使用 PSReadLine

要使用 PSReadLine,同样需要在 $PROFILE 中添加一些配置。如果想了解下面配置的意思,可以参考官方文档

1
2
3
4
5
6
Import-Module PSReadLine
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -BellStyle None
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar

一些常见的问题

1
2
3
4
5
6
7
8
无法将“……/oh-my-posh.exe”项识别为 cmdlet、函数、脚本文件或可运行程序 的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

# 解决办法
# 1. 将%UserProfile%\My Documents\WindowsPowerShell文件夹删除
# 2. 使用下列命令重新安装
Install-Module -Name PSReadLine -Scope AllUsers -Force -SkipPublisherCheck
Install-Module posh-git -Scope AllUsers
Install-Module oh-my-posh -Scope AllUsers