windows上你也可以拥有眼前一亮的PowerShell

4,520 阅读2分钟

一、令人无法下手的powsershell

最近由于在家里新组了台windows电脑(用来学习):),但是用习惯了mac上iTerm2 + Oh My Zsh极致的体验,这默认的powsershell是真的让我下不去手!

​ 俗话说得好:有问题,找谷歌!。还真让我找到了一个很美滋滋的工具posh-git

​ GitHub:posh-git

其实还有很多工具可以实现,这里只是个人觉得整个比较好看好用,配置也比较简单。不要和我杠,杠那就是:啊对对对

​ 先来看看效果吧image-20211121161102280

是不是怕漂亮了许多呢 哈哈,顿时整个人都舒服了,接下来就来讲讲怎么用它!

二、优美的posh-git

​ 首先打开posh-git的github仓库,REMADE里已经写得很清楚了,这里就抽出点来总结下

1、使用准备

这里在安装前有三个必须条件

  • 你本地的Windows PowserShell 必须是5.X 或者 PowerShell Core 6.0,可以通过$PSVersionTable.PSVersion来检查版本

    如果发现自己的不满足条件,可以在此处获取适用于 Windows、Linux 或 macOS 的 PowerShell Core 6.0

  • 在 Windows 上,脚本执行策略必须设置为RemoteSignedUnrestricted

    查看自己的脚本执行策略设置是在 PowserShell运行Get-ExecutionPolicy,如果策略不满足是RemoteSignedUnrestricted,请以管理员身份运行 PowerShell 并执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm

  • 必须安装Git,且已经成功配置环境变量

2、下载安装

​ 官方介绍了很多种安装方法,这里介绍内置的 PowerShellGet 模块进行安装

2.1、打开 Windows PowerShell 5.x 或 PowerShell >= v6

​ 2.2、当你之前安装过posh-git 则直接运行 PowerShellGet\Update-Module posh-git

​ 2.3、当你从未安装过posh-git 则直接运行 PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force

​ 2.4、导入posh-git 运行Import-Module posh-git 这将会在你的PowerShell 配置文件脚本添加命令

​ 此时重新打开PowerShell 你会发现已经有了基本的变化

3、让PowserShell有更加极致化的体验

​ 先找出我们的PowserShell 配置文件的位置

​ 在PowerShell 运行$profile 就可以看到我们的PowserShell配置文件的位置image-20211121163655115

这个地方显示为Microsoft.PowerShell_profile.ps1 也有的版本显示为profile.ps1

​ 然后我们打开此配置文件,会发现刚才的Import-Module posh-git 命令已经被配置在里面了

  • 关闭git status信息

    image-20211121164326326默认posh-git 会显示我们git status的更改信息,但是这看起来十分的不符合极致化体验 的要求,所以我们把它关闭,

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell 这下就变得十分的整齐了

    $GitPromptSettings.EnableFileStatus = $false
    
    image-20211121164805088
  • 显示彩色时间戳

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell

    $GitPromptSettings.DefaultPromptPrefix.Text = '$(Get-Date -f "MM-dd HH:mm:ss") ' //此处的时间戳格式也可自定义修改
    $GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Magenta //此处的颜色可以自定义修改
    

    来看结果

    image-20211121165115247
  • 替换主目录文件路径为~

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell

    $GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true
    
    image-20211121165400443
  • 更改目录路径的颜色

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell

    $GitPromptSettings.DefaultPromptPath.ForegroundColor = 'Orange' //颜色可以自己自定义
    
    image-20211121165953947

​ 以上是感觉很有用得,建议都配置上。下面的是感觉基本没啥用的配置,但万一萝卜青菜各有所爱呢,所以也写上

  • 在显示后加上换行

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell

    $GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n'
    
    image-20211121170429193
  • 交换路径和分支名的位置

    在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell

    $GitPromptSettings.DefaultPromptWriteStatusFirst = $true
    
    image-20211121170632819

​ 至此就基本大功告成了

三、附上完整配置代码


Import-Module posh-git


$GitPromptSettings.EnableFileStatus = $false

$GitPromptSettings.DefaultPromptPrefix.Text = '$(Get-Date -f "MM-dd HH:mm:ss") '
$GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Magenta


$GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true

$GitPromptSettings.DefaultPromptPath.ForegroundColor = 'Orange'

$GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n'

$GitPromptSettings.DefaultPromptWriteStatusFirst = $true