Powershell 实用插件推荐及安装

本文将列举 Powershell7 中比较好用的插件或配置,并介绍大致安装步骤。

有的只适合于 windows,linux 若有类似功能,则可不安装

busybox

BusyBox 是一个开源项目,它提供了大约 400 个常见 UNIX/Linux 命令的精简实现,扩展了 powershell 命令。

安装方式:scoop

sudo

powershell 提权,直接使用 sudo pwsh 即可将当前 shell 升级成管理员权限

安装方式:scoop install sudo

oh-my-posh

powershell 样式美化

安装方式:Windows | Oh My Posh

自己使用的主题为 montys

image-20230613224321201

z.lua

实现路径快速跳转

参考:z.lua

自定义别名

可以自定义一些自己常用的别名,方便使用

1
2
3
# 设置打开当前目录名称
function openCurrentPathInExplore(){ explorer.exe .}
Set-Alias open openCurrentPathInExplore

安装 PSReadLine 插件

PSReadLine 给命令行操作提供更加强大的线性编辑体验,比如显示输入历史,语法着色等等。

1
2
3
4
5
6
7
8
9
10
11
# 查看PS仓库
Get-PSRepository

# 若没有仓库,可以添加一个默认
Register-PSRepository -Default

# 更新 PowerShellGet
Install-Module -Name PowerShellGet -Force

# 安装 PSReadLine
Install-Module PSReadLine

配置 PSReadLine :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 打开 pwsh 配置
notepad $profile

# 添加如下配置
# 配置 PSReadLine
$PSOption = @{
PredictionSource = 'HistoryAndPlugin'
# 使用 vim 的模式,可以按 esc 后,执行 vim 快捷键
EditMode = 'Vi'
PredictionViewStyle = 'ListView'
ShowToolTips = $true
# ...
}
Set-PSReadLineOption @PSOption

修改启动默认路径

1
2
# 在配置中添加如下内容,启动时自动定位到用户目录
Set-Location ~

完整配置

在 powershell 中输入notepad $profile 来打开配置文件,如果没有的话,输入 New-Item -Path $PROFILE -Type File -Force 来进行新建。

$profile 的位置为:C:\Users\%username%\Documents\PowerShell

配置后的文件内容如下:

1
2
3
4
5
6
7
8
9
# oh-my-posh初始化
oh-my-posh init pwsh --config 'C:\Users\galens\.posh\montys.json' | Invoke-Expression

# z.lua 配置
Invoke-Expression (& { (lua D:/Application/z.lua/z.lua --init powershell once enhanced) -join "`n" })

# 设置打开当前目录名称
function openCurrentPathInExplore(){ explorer.exe .}
Set-Alias open openCurrentPathInExplore

参考

本文参考以下文章,在此致以诚挚谢意!

PowerShell/PSReadLine: A bash inspired readline implementation for PowerShell (github.com)

PSReadLine/PSReadLine/SamplePSReadLineProfile.ps1 at master · PowerShell/PSReadLine (github.com)

在 Ubuntu 上安装 PowerShell - PowerShell | Microsoft Learn

Set-PSReadLineOption (PSReadLine) - PowerShell | Microsoft Learn