Windows-Terminal 相关汇总

Windows-Terminal 官网:https://github.com/microsoft/terminal

◇ 安装 Windows-Terminal

1
scoop install windows-terminal   # 安装 windows-terminal

(Scoop 相关内容参见 Scoop 相关汇总

为 windows-terminal 添加右键菜单 ,参见:教程链接

◇ 安装 PowerShell 7

参见:安装 PowerShell 7

◇ 安装插件

▷ 配套字体

oh-my-posh 主题大量使用了 Nerd Fonts 家族字体,不安装的话,可能会有显示问题。

管理员权限运行下面命令:

1
oh-my-posh font install

命令执行之后,会有列表选择安装哪种字体,可以先随便挑几个安装。

但是我操作时显示失败:

1
failed to get nerd fonts release

所以尝试别的方法:

从官网下载:https://www.nerdfonts.com/font-downloads

选择需要的 ttf 文件进行安装,官方推荐 MesloLGM NF

然后在 Windows-Terminal 设置中,为 PowerShell 7 选择安装好的字体。

▷ posh-git

功能: 为 PowerShell 提供了方便的 git 状态显示和命令补全功能。

▷ oh-my-posh

功能: PowerShell 主题美化。

1
2
3
4
5
scoop install oh-my-posh    # 安装 oh-my-posh
scoop install posh-git # 安装 posh-git

Get-PoshThemes # 查看内建主题,选择一个喜欢的主题
notepad $Profile # 打开配置文件

若找不到文件,输入下列命令添加:

1
New-Item -Path $PROFILE -Type File -Force

生成的配置文件路径为:

1
E:\user\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

在配置文件中输入以下信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 初始化 oh-my-posh 并指定主题,主题配置文件可以到 themes 目录中进行挑选,更多明细的配置可以参考官方文档
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\avit.omp.json" | Invoke-Expression

# 导入 posh-git 模块
Import-Module posh-git

# 输入一半命令,上下键自动根据历史补全
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward


# 其它
# Shows navigable menu of all options when hitting Tab
#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# PSReadLine 是一个内置的模块,可以通过上下键和tab键来快速输入历史记录
#Import-Module PSReadLine
#Set-PSReadLineOption -PredictionSource History

输入以下命令应用修改:

1
. $Profile

▷ Zlocation

功能: 自动记录之前进入过的文件夹,方便切换。

1
scoop install zlocation     # 安装 zlocation

导入方式同上,在 oh-my-posh 配置文件末端添加:

1
Import-Module ZLocation

使用方法:

1
2
3
z       # 查看已知的文件夹位置
z doc # 进入包含此字串的文件夹,可以用Tab键來選擇結果,如果有多個符合的话
z - # 返回之前的文件夹

◇ 参考内容

  1. 安裝新版 Oh My Posh 與插件來美化 PowerShell. https://www.kwchang0831.dev/dev-env/pwsh/oh-my-posh
  2. oh-my-posh & posh-git 提升在 windows 环境的开发体验. https://juejin.cn/post/7249670743360536635