序言:效果展示
终端是程序员日常会使用到的工具。
windows的cmd可以用,但界面也不美观,让人没有欲望使用
所以我就找到了 Windows Terminal 这一软件,可以管理使用多个shell
利用自带的设置就可以轻松美化界面
而且我还会教程PowerShell Core,以及oh-my-posh美化插件,(没错是不是和mac上的zsh有点相似)
步骤1:下载 & 安装Windows Terminal
必须运行 Windows 1903 (build>= 10.0.18362.0) 或更高版本才能运行 Windows 终端
首先需要解决的是你的系统环境问题。如果你有经常升级系统的话,这个问题就不会给你造成影响。 如果你的 Windows 版本不够的话,可以使用 windows 易升 进行升级,这里不进行赘述。 打开你的 windows 应用商店(Microsoft Store)搜索 Windows Terminal 进行下载 & 安装。
安装完成后,在”C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_版本号_x64__xxxxxxxx” 目录下,打开”WindowsTerminal.exe” 即可打开软件。
右键创建快捷方式到桌面,或固定到任务栏中。
步骤 2:下载 & 安装 PowerShell Core 为了获取更佳的 PowerShell 体验,需下载 PowerShell core 版本。 你可以点击直接下载 。 你也可以前往 github 查看最新版本 ,并下载。 安装完成后,在”C:\Program Files\PowerShell\7-preview” 目录下,打开”pwsh.exe” 即可打开软件。
步骤 3:配置 PowerShell Core ① 安装 powershell 插件 打开刚装好的新版 powershell,逐行输入以下三行命令,等待安装(可能会有点慢)。
后面两个包的来源可能不受系统信任,不用管它,如果让你选择是否信任,直接输入 Y 即可。
1 2 3 4 5 6 7 Install-Module -Name PSReadLine -AllowPrerelease -Force Install-Module posh-git -Scope CurrentUserInstall-Module oh -my-posh -Scope CurrentUser
② 设置 powershell 启动参数 《Windows Terminal 完美配置 PowerShell 7.1》
在powershell窗口输入下面代码:
会打开启动文件
在里面写入以下代码,保存并关闭
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 #------------------------------- 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 -Theme Sorin #------------------------------- 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 -------------------------------
步骤4:配置Windows Terminal
在”C:\Program Files\PowerShell\7-preview” 目录下找到pwsh.exe
可以直接配置图标,背景,字体等等
推荐字体 推荐使用FiraCode,下载链接戳这里 。
解压后选择其中一个ttf安装即可,我使用的是这个:
更改默认
去掉PowerShell Core的更新提示
ctrl+f 找到 pwsh.exe 添加–nologo启动参数来去掉这个信息提示
总结 之前用 mac 的时候鼓捣的是 zsh 感觉非常不错,现在换到 win 也想体验 zsh 那种舒服的感觉所以有了这篇教程,希望对大家有帮助
最后附上一张背景图