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

今天偶然下载了 powershell7.2.1

1|0安装准备先装scoop

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

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

2|0安装ohmyposh

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

3|0下载字体

Windows Terminal美化(oh-my-posh3)

https://blog.csdn.net/dietime1943/article/details/122968934

4|0最后失败了

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

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

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

code $profile

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

  • 代码备份
# 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 }

__EOF__

本文作者Reciter
本文链接https://www.cnblogs.com/pengchenggang/p/16715959.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   彭成刚  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示