用Mac的时候,oh-my-zsh是个好东西,他可以让你的终端变得很漂亮,同时又有一些提高生产力的功能,比如历史命令的提示补全,那么,Powershell有没有呢?有的,本文将会一步一步将Powershell配置成一个好看又好用的生产力工具。
本文使用Powershell 7和Windows Terminal进行演示,windows自带的powershell同理。哦对了,以下配置的前提是你已经安装了Git。
废话不多说,先上图看看效果:
怎么说,是不是有Mac上oh-my-zsh内味了
安装相应模块
在Powershell中依次输入以下命令:
Install-Module PowerShellGet -Scope CurrentUser -Force -AllowClobber
PowerShellGet\Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force
Install-Module oh-my-posh -Scope CurrentUser
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
期间如果遇到这样的提示,输入A,回车
修改配置文件
输入以下命令,使用记事本将内容保存到配置文件中
notepad $profile
如果没有配置文件,会提示时候创建,选择是即可
配置如下:
chcp 65001
Import-Module posh-git
Import-Module oh-my-posh
Import-Module PSReadLine
# theming configuration
Set-PoshPrompt agnoster
# Enable Prediction History
Set-PSReadLineOption -PredictionSource History
# Advanced Autocompletion for arrow keys
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
保存后,重新打开Powershell,初次启动,他会进行初始化,耐心等待片刻即可
完成后,如不出意外,你将会看到如下情况,没错,乱码了:
这是因为你没有安装支持powerline的字体,微软的Cascadia Code PL字体是支持powerline的,但是支持不够全面,部分图标还是显示不全,因此需要安装支持powerline的字体
安装字体
到https://github.com/ryanoasis/nerd-fonts选择并下载你喜欢的字体
这里我使用的是Caskaydia Cove Nerd Font,也就是Cascadia Code添加相关图标之后的字体,你可以根据自己的喜好选择相应的字体
下载地址:https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip
安装字体的过程,我就默认你会了,下载之后自行安装字体
设置Windows Terminal字体
在Windows Terminal的设置中,选择配置文件 -> 默认值 -> 外观 -> 文本 -> 字体
选择你安装的字体,保存
回到Powershell窗口,发现原本乱码的命令行变成了正常的样子:
设置主题
设置主题首先是查看有哪些主题,在Powershell中输入如下命令:
Get-PoshThemes
你将会看到所有可用的主题及其预览效果:
选择一个你喜欢的主题,这里用 markbull
为例(我不喜欢,举个例子),打开配置文件
notepad $profile
修改 Set-PoshPrompt agnoster
为你需要的主题,比如 Set-PoshPrompt markbull
保存
重新打开一个Powershell窗口,搞定
其他一些关于Windows Terminal的设置可以自己自行摸索,本文不多赘述