文章目录
我的终端壁纸有些时候会比较不清晰,希望大家看图片的时候不要介意!
安装 Windows Terminal
我这里是 Windows 11,已默认使用 Windows Terminal 替代原先的 Powershell。
而 Windows 10 的话 ,则是去 Microsoft Store 中搜索 Windows Terminal 选择安装。
PowerShell 7
安装 PowerShell 7
查看版本
Win 11 自带的 PowerShell 默认是 5.1。
你可以打开终端输入 $psversiontable
或 $host
查看 PowerShell 的版本:
这里是 5.1,所以我选择升级 PowerShell 7.2(LTS),升级方法完整版可查看官方文档。
其实最简单的区分方式就是通过看名称,一般 PowerShell 5.1 版本都是蓝色图标的 Windows PowerShell,而 PowerShell 7.2 版本则是灰色图标的 PowerShell。
Winget 安装
官方提供了几种方法中,我这里选择的是 WinGet 的方法,因为 WinGet 是 Win11 自带的包管理工具。
winget search Microsoft.PowerShell
我这边选择的是第一个 7.2.2.0 的版本,因为这是稳定版,如果喜欢预览版的话也可以选择下面那个安装。
winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget
但这样安装的话,winget
会默认安装在 C:\Program Files
目录下,可以使用 -l D:\
来选择安装的位置,也可以直接使用参数 -i
,打开交互式安装,前提是这个软件支持的话。
我后来在使用下载的 .msi
的文件安装时,发现是支持的,所以如果使用 winget
安装 PowerShell 时,可以选择交互式安装,这样可以避免安装在 C 盘。
接下来就是相对比较漫长的安装过程。
安装完成后,就可以在右上角的选项里看到一个灰色图标的 PowerShell 了。
安装 MSI 包
因为我之前下载的是 7.2.2 的版本,现在更新到 7.2.3 的版本,每次打开 PowerShell 都会提示我更新,而我在使用 Winget 搜索时依然还是 7.2.2 (不过现在好了),再加上 winget
一直有点慢,所以我就直接去 GitHub 下载了最新版本的来安装。
下载完成后,直接双击安装就行,可以选择安装的地址,这样避免了安装在 C 盘。
如果你安装完成后,Windows Terminal 中自动添加了 PowerShell 的话,可以忽略下面的步骤。
但可能因为我之前安装过 PowerShell,这次覆盖安装,并更换了文件路径,导致之前 Windows Terminal 里的配置文件不存在了。
所以我这里选择了手动添加配置文件。
具体的命令行文件和图标都可以在安装目录下找到。
配置
打开配置文件,这里使用 VSCode 打开,一般都是一个全新的空白文件:
code $PROFILE
开启 PSReadLine 2.1 预测性 IntelliSense
从 PS 7.1 开始就包括了 PSReadLine 2.1,这版本包括了预测性 IntelliSense 功能。
预测性 IntelliSense 默认是禁用的,要开启预测的话,可以在配置文件中添加以下命令:
Set-PSReadLineOption -PredictionSource History
其他配置
# 设置预测文本来源为历史记录
Set-PSReadLineOption -PredictionSource History
# 每次回溯输入历史,光标定位于输入内容末尾
Set-PSReadLineOption -HistorySearchCursorMovesToEnd
# 设置 Tab 为菜单补全和 Intellisense
Set-PSReadLineKeyHandler -Key "Tab" -Function MenuComplete
# 设置 Ctrl+d 为退出 PowerShell
Set-PSReadlineKeyHandler -Key "Ctrl+d" -Function ViExit
# 设置 Ctrl+z 为撤销
Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo
# 设置向上键为后向搜索历史记录
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
# 设置向下键为前向搜索历史纪录
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
美化
参考文章:PowerShell7.X的安装与美化
使用 oh-my-posh
和 posh-git
进行美化。
oh-my-posh
:https://ohmyposh.dev/docs/installation/windows
posh-git
:https://ohmyposh.dev/docs/installation/windows
手动安装
以管理员身份打开 PowerShell,输入以下命令安装:
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
都选择 y 就行。
修改配置文件,这里使用 VSCode 打开,一般都是一个全新的空白文件:
code $PROFILE
然后在其中添加:
Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme robbyrussel
Set-Location C:\Users\12786\Desktop
保存后重启 PS 即可。
Scoop 安装
前提是你安装了 Scoop
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
修改配置文件:
code $PROFILE
添加主题:
oh-my-posh --init --shell pwsh --config 你主题所在的路径 | Invoke-Expression
# 我的话是这样
oh-my-posh --init --shell pwsh --config D:\Programming\Envs\Scoop\apps\oh-my-posh\current\themes\robbyrussel.omp.json | Invoke-Expression
自定义主题
其实对照着Themes 效果和主题文件的源代码多看几遍,就可以根据自己的需要自定义主题了。
我是在原先主题的基础上进行修改的,主题文件的话可以通过 everything
搜索 robbyrussel.omp.json
找到并修改。一般在 oh-my-posh/themes/
下。
设置 conda 环境
刚安装好的 PS 是不能使用 conda 命令的,这时候就可以输入 conda init
来设置 conda 环境。
不过如果选择之前设置了 Robbyrussel 主题的话,不会显示 conda 的虚拟环境
需要自己根据需求在 robbyrussel.omp.json
文件中添加即可:
{
"foreground": "#ffaed8", // 可以在这里修改颜色
"properties": {
"template": "({{ .Venv }}) " // 可以在这里修改样式
},
"style": "plain",
"type": "python"
},
不过我使用这个主题的话,每次进行 conda
激活虚拟环境后,再使用这个命令就会报错。