# 伪程序猿的PowerShell Setup **Published by:** [ptime](https://paragraph.com/@ptime/) **Published on:** 2021-12-13 **URL:** https://paragraph.com/@ptime/powershell-setup ## Content 公司配备新PC电脑,要重新设置好些软件,立马跑返个靓仔的Power Shell先。作为一名伪程序猿的立场就系--所谓唔打得都要看得。Microsoft Store 下载 Windows Terminal与PowerShell 开启Windows Terminal 点设置,启动面板-默认配置文件选择“PowerShell”,保存 iwr -useb get.scoop.sh | iex scoop install curl sudo jq neovim gcc z fzf winget install -e --id Git.Git Install-Module posh-git -Scope CurrentUser -Force Install-Module oh-my-posh -Scope CurrentUser -Force Install-Module -Name Terminal-Icons -Repository PSGallery -Force Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck Install-Module -Name z -Force Install-Module -Name PSFzf -Scope CurrentUser -Force nvim $PROFILE.CurrentUserCurrentHost . $env:USERPROFILE\.config\powershell\user_profile.ps1 nvim .config\powershell\party.omp.json{ "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", "final_space": false, "osc99": true, "blocks": [ { "type": "prompt", "alignment": "left", "segments": [ { "type": "shell", "style": "diamond", "leading_diamond": "╭─", "trailing_diamond": "", "foreground": "#ffffff", "background": "#0077c2", "properties": { } }, { "type": "root", "style": "diamond", "leading_diamond": "", "trailing_diamond": "", "foreground": "#FFFB38", "background": "#ef5350", "properties": { "root_icon": "\uf292", "prefix": "<parentBackground>\uE0B0</> " } }, { "type": "path", "style": "powerline", "powerline_symbol": "\uE0B0", "foreground": "#E4E4E4", "background": "#444444", "properties": { "style": "full", "enable_hyperlink": true } }, { "type": "git", "style": "powerline", "powerline_symbol": "\uE0B0", "foreground": "#011627", "background": "#FFFB38", "background_templates": [ "{{ if or (.Working.Changed) (.Staging.Changed) }}#ffeb95{{ end }}", "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#c5e478{{ end }}", "{{ if gt .Ahead 0 }}#C792EA{{ end }}", "{{ if gt .Behind 0 }}#C792EA{{ end }}" ], "properties": { "branch_icon": "\ue725 ", "fetch_status": true, "fetch_upstream_icon": true, "template": "{{ .HEAD }} {{ if .Working.Changed }}{{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}<#ef5350> \uF046 {{ .Staging.String }}</>{{ end }}" } } ] }, { "type": "prompt", "alignment": "right", "segments": [ { "type": "node", "style": "diamond", "leading_diamond": " \uE0B6", "trailing_diamond": "\uE0B4", "foreground": "#3C873A", "background": "#303030", "properties": { "prefix": "\uE718 ", "postfix": "", "display_package_manager": true, "yarn_icon": " <#348cba></>", "npm_icon": " <#cc3a3a></> " } }, { "type": "time", "style": "diamond", "invert_powerline": true, "leading_diamond": " \uE0B6", "trailing_diamond": "\uE0B4", "background": "#40c4ff", "foreground": "#ffffff", "properties": { "prefix": " \uf5ef ", "postfix": " " } } ] }, { "type": "prompt", "alignment": "left", "newline": true, "segments": [ { "type": "text", "style": "plain", "foreground": "#21c7c7", "properties": { "prefix": "", "postfix": "", "text": "╰─" } }, { "type": "exit", "style": "plain", "foreground": "#e0f8ff", "properties": { "prefix": "\u276F", "display_exit_code": false, "always_enabled": true, "error_color": "#ef5350" } } ] } ] } nvim .config/powershell/user_profile.ps1Import-Module posh-git Import-Module oh-my-posh $omp_config = Join-Path $PSScriptRoot ".\party.omp.json" oh-my-posh --init --shell pwsh --config $omp_config | Invoke-Expression Import-Module -Name Terminal-Icons # PSReadLine Set-PSReadLineOption -EditMode Emacs Set-PSReadLineOption -BellStyle None Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar Set-PSReadLineOption -PredictionSource History # Fzf Import-Module PSFzf Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PSReadlineChordReverseHistory 'Ctrl+r' # Env $env:GIT_SSH = "C:\Windows\system32\OpenSSH\ssh.exe" # Alias Set-Alias -Name vim -Value nvim Set-Alias ll ls Set-Alias g git Set-Alias grep findstr Set-Alias tig 'D:\party\Git\usr\bin\tig.exe' Set-Alias less 'D:\party\Git\usr\bin\less.exe' # Utilities function which ($command) { Get-Command -Name $command -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue } ## Publication Information - [ptime](https://paragraph.com/@ptime/): Publication homepage - [All Posts](https://paragraph.com/@ptime/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@ptime): Subscribe to updates