Powser Shell 美化配置
Powser Shell 美化配置
在 window 系统中使用 powser shell 会比 cmd 要好用,但是原生的 powser shell 体验一般,现在 powser shell 也有一些不错的功能插件可以优化在powser shell 上的体验。
下载安装新版 powser shell
系统预装的powser shell 版本通常会比较老旧,建议安装最新版本,获得更好的体验。
安装方式有两种:
- 直接微软商店中搜索并下载安装;
- 在 gihub 中下载安装,PowserShell;
安装 scoop
window 中的一个包管理器,跟Linux系统中的 apt 类似。
用以下命令下载安装:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
安装 Nerd Fonts
安装 Nerd Fonts 字体库,主要用于终端中的一些特殊字符的显示,如不安装,终端会出现乱码。
推荐通过 scoop 安装:
scoop bucket add nerd-fonts
scoop install Meslo-NF-Mono
也可以中 Nerd Fonts 的官网 Nerd Fonts,选择下载自己喜欢的字体库。
下面的 Oh My Posh 推荐 Meslo LGM NF
安装 oh-my-posh
oh-my-posh 是 Powser Shell 的主题美化项目,用于美化 Powser Shell,类似 oh-my-zsh。
通过以下命令下载安装:
Install-Module oh-my-posh -Scope CurrentUser
最新的 oh-my-posh 似乎不再支持以下方式安装,如提示不再支持,则可以通过scoop方式安装。
通过 scoop 下载安装:
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
详情请看官网安装示例。
为了能在所有 PowserShell中生效,需要打开 Powser Shell 的配置文件,编辑配置。
使用 vscode 打开配置文件:
code $PROFILE
也可以使用其他编辑器打开配置文件,在 Powser Shell 中运行命令 $PROFILE
便可知道配置文件路径。
在配置文件中添加以下内容:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\gmay.omp.json" | Invoke-Expression
然后重新打开 Powser Shell,看看配置是否生效。
安装 posh-git
posh-git
可以在命令行中显示 git 仓库的信息。
通过以下命令安装:
Install-Module posh-git -Scope CurrentUser
安装 Terminal-Icons
为 Powser Shell 添加显示文件类型图标的功能。
需要安装 nerd fonts。我们前面已经安装了。
通过以下命令安装:
Import-Module -Name Terminal-Icons
Show-TerminalIconsTheme
同样在 $PROFILE
中配置:
Import-Module -Name Terminal-Icons
安装 z.lua
z.lua
是一个终端目录跳转插件,可以帮助我们在多个目录中跳转。
这个插件需要安装 lua 语言环境,运行以下命令安装:
scoop install lua
安装 z.lua
,使用 git 下载:
git clone https://github.com/skywind3000/z.lua.git ~/z.lua
在 $PROFILE
中添加配置:
Invoke-Expression (& { (lua $HOME/z.lua/z.lua --init powershell once enhanced) -join "`n" })
安装 PSReadLine
PSReadLine
可以让 Powser Shell 拥有提示和补全的功能。
运行以下命令安装:
Install-Module PSReadLine -AllowPrerelease -Force
# 稳定版
Install-Module PSReadLine -Scope CurrentUser
在 $PROFILE
中添加配置:
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