Windows Terminal 安装配置
安装 Windows Terminal win10 1903 以上才能安装 商店安装 安装 Power Shell 7 https://github.com/PowerShell/PowerShell/releases 安装图标字体 Nerd Font 安装scoop # 保证允许本地脚本的执行 set-executionpolicy remotesigned -scope currentuser # 安装 iex (new-object net.webclient).downloadstring('https://get.scoop.sh') 安装 Powershell 插件 PSReadLine、posh-git、oh-my-posh # 1.命令行补全 Install-Module PSReadLine -Scope CurrentUser # 2.git 插件 Install-Module posh-git -Scope CurrentUser # 3.美化包 oh-my-posh 类似 oh-my-zsh Install-Module oh-my-posh -Scope CurrentUser 安装时系统会提问是否继续,输入A(全部允许) 配置文件 notepad.exe $Profile #------------------------------- Import Modules BEGIN ------------------------------- # 引入 posh-git Import-Module posh-git # 引入 oh-my-posh Import-Module oh-my-posh # 引入 ps-read-line Import-Module PSReadLine # 设置 PowerShell 主题 # Set-PoshPrompt ys Set-PoshPrompt paradox #------------------------------- Import Modules END ------------------------------- #------------------------------- Set Hot-keys BEGIN ------------------------------- # 设置预测文本来源为历史记录 Set-PSReadLineOption -PredictionSource History # 每次回溯输入历史,光标定位于输入内容末尾 Set-PSReadLineOption -HistorySearchCursorMovesToEnd # 设置 Tab 为菜单补全和 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" # 更新系统组件 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 # update Chocolotey Write-Host "Step 3: 更新 Chocolatey" -ForegroundColor Magenta -BackgroundColor Cyan choco outdated } #------------------------------- 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 # 4. 打开当前工作目录 function OpenCurrentFolder { param ( # 输入要打开的路径 # 用法示例:open C:\ # 默认路径:当前工作文件夹 $Path = '.' ) Invoke-Item $Path } Set-Alias -Name open -Value OpenCurrentFolder #------------------------------- Set Alias END ------------------------------- #------------------------------- Set Network BEGIN ------------------------------- # 1. 获取所有 Network Interface function Get-AllNic { Get-NetAdapter | Sort-Object -Property MacAddress } Set-Alias -Name getnic -Value Get-AllNic # 2. 获取 IPv4 关键路由 function Get-IPv4Routes { Get-NetRoute -AddressFamily IPv4 | Where-Object -FilterScript {$_.NextHop -ne '0.0.0.0'} } Set-Alias -Name getip -Value Get-IPv4Routes # 3. 获取 IPv6 关键路由 function Get-IPv6Routes { Get-NetRoute -AddressFamily IPv6 | Where-Object -FilterScript {$_.NextHop -ne '::'} } Set-Alias -Name getip6 -Value Get-IPv6Routes #------------------------------- Set Network END -------------------------------