一、令人无法下手的powsershell
最近由于在家里新组了台windows电脑(用来学习):),但是用习惯了mac上iTerm2 + Oh My Zsh
极致的体验,这默认的powsershell是真的让我下不去手!
俗话说得好:有问题,找谷歌!。还真让我找到了一个很美滋滋的工具posh-git
GitHub:posh-git
其实还有很多工具可以实现,这里只是个人觉得整个比较好看好用,配置也比较简单。不要和我杠,杠那就是:啊对对对
先来看看效果吧
是不是怕漂亮了许多呢 哈哈,顿时整个人都舒服了,接下来就来讲讲怎么用它!
二、优美的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 上,脚本执行策略必须设置为
RemoteSigned
或Unrestricted
查看自己的脚本执行策略设置是在 PowserShell运行
Get-ExecutionPolicy
,如果策略不满足是RemoteSigned
或Unrestricted
,请以管理员身份运行 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配置文件的位置
这个地方显示为Microsoft.PowerShell_profile.ps1 也有的版本显示为profile.ps1
然后我们打开此配置文件,会发现刚才的Import-Module posh-git
命令已经被配置在里面了
-
关闭git status信息
默认
posh-git
会显示我们git status的更改信息,但是这看起来十分的不符合极致化体验 的要求,所以我们把它关闭,在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell 这下就变得十分的整齐了
$GitPromptSettings.EnableFileStatus = $false
-
显示彩色时间戳
在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell
$GitPromptSettings.DefaultPromptPrefix.Text = '$(Get-Date -f "MM-dd HH:mm:ss") ' //此处的时间戳格式也可自定义修改 $GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Magenta //此处的颜色可以自定义修改
来看结果
-
替换主目录文件路径为
~
在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell
$GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true
-
更改目录路径的颜色
在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell
$GitPromptSettings.DefaultPromptPath.ForegroundColor = 'Orange' //颜色可以自己自定义
以上是感觉很有用得,建议都配置上。下面的是感觉基本没啥用的配置,但万一萝卜青菜各有所爱呢,所以也写上
-
在显示后加上换行
在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell
$GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n'
-
交换路径和分支名的位置
在我们的PowerShell配置文件内添加下面的代码,保存后重新打开PowserShell
$GitPromptSettings.DefaultPromptWriteStatusFirst = $true
至此就基本大功告成了
三、附上完整配置代码
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