PowerShell具备自动执行脚本,远程控制,传输文件的能力,十分强大
并且具备了cmd的各种命令,也可以集成git等一众插件
使用window10的终端来管理各种控制台工具
从git上下载最新版本的Windows Terminal
从git上下载最新版本的PowerShell
从git上下载配置脚本Here
常规手段安装
Install-Module oh-my-posh -Force -Verbose
模块名称:oh-my-posh
详情:-Force -Verbose //用来查看日志
手动安装nupkg模块包
VERBOSE: Downloading 'https://www.powershellgallery.com/api/v2/package/oh-my-posh/3.139.0'.
通过上面的安装命令,可以看到安装日志中一直卡在下载nupkg包上。我们可以通过其他手段下载到这个包。
然后将文件后缀改为zip,并且解压到powershell的module的目录中
C:\Program Files\PowerShell\7\Modules
打开PWL配置文件
手动导入模块
Import-Module 'C:\tools\poshgit\dahlbyk-posh-git-9bda399\src\posh-git.psd1' Import-Module 'C:\Program Files\PowerShell\7\Modules\oh-my-posh.3.139.0\oh-my-posh.psd1'
module
notepad.exe $Profile
Chocolatey是一个Windows下的包管理器,类似于Linux下的apt-get或yum
很多模块直接使用 install命令因为网络原因,进度缓慢。所以可以使用choc下载好之后再安装。
choco search oh-my-posh
Install-Module oh-my-posh -Scope CurrentUser -Verbose
-Verbose :显示安装日志
Request:安装新版本的Windows Terminal ,新版本PowerShell
Fira Code Nerd Font字体支持众多特殊符号
# 1. 安装 PSReadline 包,该插件可以让命令行很好用,类似 zsh Install-Module -Name PSReadLine -AllowPrerelease -Force -Verbose # 2. 安装 posh-git 包,让你的 git 更好用 Install-Module posh-git -Scope CurrentUser -Verbose # 3. 安装 oh-my-posh 包,让你的命令行更酷炫、优雅 Install-Module oh-my-posh -Scope CurrentUser -Verbose
自定义Homebrew主题
{ "background": "#283033", "black": "#000000", "blue": "#6666E9", "brightBlack": "#666666", "brightBlue": "#0000FF", "brightCyan": "#00E5E5", "brightGreen": "#00D900", "brightPurple": "#E500E5", "brightRed": "#E50000", "brightWhite": "#E5E5E5", "brightYellow": "#E5E500", "cursorColor": "#FFFFFF", "cyan": "#00A6B2", "foreground": "#00FF00", "green": "#00A600", "name": "Homebrew", "purple": "#B200B2", "red": "#FC5275", "selectionBackground": "#FFFFFF", "white": "#BFBFBF", "yellow": "#999900" },
配置PowerShell样式
{ "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "hidden": false, "name": "pwsh", // 注意:一定要写上 -nologo,否则开启 powershll 会有一段话输出,很讨厌! "commandline": "C:/Program Files/PowerShell/7-preview/pwsh.exe -nologo", "source": "Windows.Terminal.PowershellCore", // 启动菜单一定要设置为 <.>,否则后面重要的一步将会无效! "startingDirectory": ".", // 字体一定要 Nerd Font 版本 "fontFace": "FiraCode Nerd Font", "fontSize": 11, "historySize": 9001, "padding": "5, 5, 20, 25", "snapOnInput": true, "useAcrylic": false, // 颜色 "colorScheme": "Homebrew" },
pwl运行 notepad.exe $Profile
#------------------------------- Import Modules BEGIN ------------------------------- # 引入 posh-git 放在环境变量也可以 Import-Module posh-git # 引入 oh-my-posh 绝对路径也可以 Import-Module 'C:\Program Files\PowerShell\7\Modules\oh-my-posh.3.139.0\oh-my-posh.psd1' # 设置 PowerShell 主题 Set-PoshPrompt -Theme Paradox #------------------------------- Import Modules END ------------------------------- #------------------------------- Set Hot-keys BEGIN ------------------------------- # 设置 Tab 键补全 # Set-PSReadlineKeyHandler -Key Tab -Function Complete # 设置 Ctrl+d 为菜单补全和 Intellisense Set-PSReadLineKeyHandler -Key "Tab" -Function MenuComplete # 设置 Ctrl+d 为退出 PowerShell Set-PSReadlineKeyHandler -Key "Ctrl+d" -Function ViExit # 设置 Ctrl+z 为撤销 Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo # 设置向上键为后向搜索历史记录 Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward # 设置向下键为前向搜索历史纪录 Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward #------------------------------- Set Hot-keys END ------------------------------- #------------------------------- Functions BEGIN ------------------------------- # Python 直接执行 $env:PATHEXT += ";.py" # 更新 pip 的方法 function Update-Packages { # update pip Write-Host "Step 1: 更新 pip" -ForegroundColor Magenta -BackgroundColor Cyan $a = pip list --outdated $num_package = $a.Length - 2 for ($i = 0; $i -lt $num_package; $i++) { $tmp = ($a[2 + $i].Split(" "))[0] pip install -U $tmp } # update TeX Live $CurrentYear = Get-Date -Format yyyy Write-Host "Step 2: 更新 TeX Live" $CurrentYear -ForegroundColor Magenta -BackgroundColor Cyan tlmgr update --self tlmgr update --all } #------------------------------- Functions END ------------------------------- #------------------------------- Set Alias Begin ------------------------------- # 1. 编译函数 make function MakeThings { nmake.exe $args -nologo } Set-Alias -Name make -Value MakeThings # 2. 更新系统 os-update Set-Alias -Name os-update -Value Update-Packages # 3. 查看目录 ls & ll function ListDirectory { (Get-ChildItem).Name Write-Host("") } Set-Alias -Name ls -Value ListDirectory Set-Alias -Name ll -Value Get-ChildItem #------------------------------- Set Alias END -------------------------------