今天偶然下载了 powershell7.2.1

安装准备先装scoop

看默认可以装个winget,win10环境,可是装半天没装上

// powershell7.2.1
set-executionpolicy remotesigned -s cu
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

安装ohmyposh

scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

下载字体

​Windows Terminal美化(oh-my-posh3)​


最后失败了

好吧,最后vscode也没搞上,直接点开始菜单的出来了,但是要3秒多,太慢了。我还是默认的吧。88

  • Import-Module posh-git
  • 最后就留下了 Powershell7 和这个 posh-git

ohmyposh 安装 - 基于 powershell7.2.1 - 最后改成 profile自定义_git

最后方案改成了 直接改 Powershell7 风格

code $profile

  • 修改最后的样式 带git分支信息

ohmyposh 安装 - 基于 powershell7.2.1 - 最后改成 profile自定义_sed_02

  • 代码备份
# 20220922
# powershell7
# Import-Module posh-git

# # 提示插件: PSReadLine 如果是使用 PowerShell 7.1 或以上版本则自带了 PSReadLine 2.1,不需要手动安装。
# # 如果你是7.1以下的powershell7 就需要安装
# # Install-Module PSReadLine
# # 设置预测文本来源为历史记录
Set-PSReadLineOption -PredictionSource History
# # 设置向上键为后向搜索历史记录
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
# # 设置向下键为前向搜索历史纪录
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

set-alias ls Get-ChildItemColor

function prompt
{
$my_path = $(get-location).toString()
$my_pos = ($my_path).LastIndexOf("\") + 1
if( $my_pos -eq ($my_path).Length ) { $my_path_tail = $my_path }
else { $my_path_tail = ($my_path).SubString( $my_pos, ($my_path).Length - $my_pos ) }
Write-Host ("➥ ") -nonewline -foregroundcolor 'DarkCyan'
# Write-Host ($my_path) -nonewline -foregroundcolor 'DarkCyan'
Write-Host ($my_path_tail) -nonewline -foregroundcolor 'DarkCyan'
$GitStatus = Get-GitStatus
$status = $GitStatus.Branch
if ($status) {
Write-Host (" [$status]") -nonewline -foregroundcolor 'DarkBlue'
}
# Write-GitStatus $GitStatus
Write-Host (" $ ") -nonewline -foregroundcolor 'Magenta'
return ""
}

function Get-ChildItemColor {
<#
.Synopsis
Returns childitems with colors by type.
.Description
This function wraps Get-ChildItem and tries to output the results
color-coded by type:
Directories - Cyan
Compressed - Red
Executables - Green
Text Files - Gray
Image Files - Magenta
Others - Gray
.ReturnValue
All objects returned by Get-ChildItem are passed down the pipeline
unmodified.
.Notes
NAME: Get-ChildItemColor
AUTHOR: blueky
#>
# 这个函数用来做正则匹配,并为不同的文件配置不同的颜色。
$regex_opts = ([System.Text.RegularExpressions.RegexOptions]::IgnoreCase -bor [System.Text.RegularExpressions.RegexOptions]::Compiled)
$fore = $Host.UI.RawUI.ForegroundColor
$compressed = New-Object System.Text.RegularExpressions.Regex(
'\.(zip|tar|gz|rar|7z|tgz|bz2)', $regex_opts)
$executable = New-Object System.Text.RegularExpressions.Regex(
'\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg|sh)', $regex_opts)
$text_files = New-Object System.Text.RegularExpressions.Regex(
'\.(txt|cfg|conf|ini|csv|log)', $regex_opts)
$image_files = New-Object System.Text.RegularExpressions.Regex(
'\.(bmp|jpg|png|gif|jpeg)', $regex_opts)

Invoke-Expression ("Get-ChildItem $args") |
%{
if ($_.GetType().Name -eq 'DirectoryInfo') { $Host.UI.RawUI.ForegroundColor = 'Cyan' }
elseif ($compressed.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Red' }
elseif ($executable.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Green' }
elseif ($text_files.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Gray' }
elseif ($image_files.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Magenta' }
else { $Host.UI.RawUI.ForegroundColor = 'Gray' }
# echo $_.Name
Write-Host -NoNewline $_.Name " "
# echo $_
$Host.UI.RawUI.ForegroundColor = $fore
}
}

function Show-Color( [System.ConsoleColor] $color )
{
$fore = $Host.UI.RawUI.ForegroundColor
$Host.UI.RawUI.ForegroundColor = $color
echo ($color).toString()
$Host.UI.RawUI.ForegroundColor = $fore
}

function Show-AllColor
{
Show-Color('Black')
Show-Color('DarkBlue')
Show-Color('DarkGreen')
Show-Color('DarkCyan')
Show-Color('DarkRed')
Show-Color('DarkMagenta')
Show-Color('DarkYellow')
Show-Color('Gray')
Show-Color('DarkGray')
Show-Color('Blue')
Show-Color('Green')
Show-Color('Cyan')
Show-Color('Red')
Show-Color('Magenta')
Show-Color('Yellow')
Show-Color('White')
}

# code $PROFILE
set code "C:\Users\Reciter\AppData\Local\Programs\Microsoft VS Code\Code.exe"
# set-alias d 'npm run dev'
set-alias n 'nest'
function gitpush ($m) {
# git push 的简称 gp
git add .
git commit -m "$m"
git push
}
function d { npm run dev }
# defineConfig 定义配置
function dc { &$code C:\Users\Reciter\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 }
# 打包发布到远程
function pp { npm run buildAndPublic }
# 任免表
function rmb { &$code C:\project\renmianbiaobianjiqiz\appointeditweb }
# 任免表运行
function rmbRun { C:\GreenSoft\aardio\aardio.exe C:\GreenSoft\aardio\project\rmbRun-aardio\default.aproj }
# 任免表后台
# function rmbServer { &$code E:\root\Personal\giteez\koa2\koa2-backend }
function rmbServer {
cd E:\root\Personal\giteez\koa2\koa2-backend
npm run dev }

# vuejsdev
function vuejs { &$code E:\root\Personal\giteez\vuejsdev-com }
# 周报
function note { &$code C:\project\mdNote }
# 导航
function navi { &$code C:\project\navigator }
# 平台
function pt { &$code C:\project\aizzb_project_web }
# 单点登录
function dd { &$code C:\project\aizzb_single_login }
# nestjs-api
function nestjs { &$code C:\Users\Reciter\Desktop\nestjs-study\nestjs-api }

---------------------------------------------
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
↑面的话,越看越不痛快,应该这么说:

生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!