之前写了《像MAC一样使用win10的Terminal》 和 《像MAC一样使用win10的Terminal(精简版)》 ,使用如丝滑般流畅!
本文重点:
- WIN11
- Windows Terminal
- PowerShell 7
- PowerShell Module 扩展
- 包管理工具
老规矩,先看图:
准备工作
- 安装 Windows Terminal
去 Microsoft Store
搜索下载安装即可
- 安装
Scoop
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
# 或者使用精简命令安装
iwr -useb get.scoop.sh | iex
如果安装报错,请先执行下面操作
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
- 安装字体
推荐字体:FiraCode NF Retina
(该字体支持ligature
连字功能)
# 搜索
Scoop search FiraCode
# 下载
Scoop install FiraCode-NF
或者
→ Nerdfont 官网下载
→ 懒人专用 zip
安装 PowerShell Core
我目前能获取到的最新稳定版是 PowerShell 7.2
→ 自选版本下载
→ 懒人专用 x64 msi
注入灵魂
- 修改 Windows Terminal 默认设置
修改 Windows Terminal 的默认启动为:新安装的 PowerShell 7
修改PowerShell 7 的外观设置
修改Powershell 7 的背景设置
- 安装插件 (Module)
# Windows Terminal 输入:
# 1. 安装 PSReadline 包,该插件可以让命令行很好用,类似 zsh
Install-Module -Name PSReadLine -Scope CurrentUser
# 2. 安装 posh-git 包,让你的 git 更好用
Install-Module posh-git -Scope CurrentUser
# 3. 安装 oh-my-posh 包,让你的命令行更酷炫、优雅
Install-Module oh-my-posh -Scope CurrentUser
- 配置环境
# Windows Terminal 输入:
notepad $profile
如果没有对应的文件,点保存创建即可(直接 Ctrl+S 就行,文件名已经是自动生成好的)
复制以下配置
Import-Module posh-git
Import-Module oh-my-posh
$env:PYTHONIOENCODING="utf-8"
# Remove curl alias
If (Test-Path Alias:curl) {Remove-Item Alias:curl}
If (Test-Path Alias:curl) {Remove-Item Alias:curl}
# Remove-Item alias:ls -force
Set-Alias ll Get-ChildItemColor -option AllScope
Set-Alias ls Get-ChildItemColorFormatWide -option AllScope
# Setup other alias
Set-Alias open Invoke-Item
Set-Alias .. GoBack
Set-Alias glog GitLogPretty
Set-Alias gst GitStat
function GitLogPretty {
git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all
}
function GitStat {git status}
function GoBack {Set-Location ..}
# Set theme
Set-PoshPrompt -Theme material
# Set ‘History’ as Prediction Source
$PSReadLineOptions = @{
PredictionSource = "History"
HistoryNoDuplicates = $true
HistorySearchCursorMovesToEnd = $true
Colors = @{
Command = [ConsoleColor]::DarkGray
Number = [ConsoleColor]::DarkGreen
Member = [ConsoleColor]::DarkMagenta
Operator = [ConsoleColor]::DarkGray
Type = [ConsoleColor]::DarkRed
Variable = [ConsoleColor]::DarkYellow
Parameter = [ConsoleColor]::DarkGreen
ContinuationPrompt = [ConsoleColor]::DarkGray
Default = [ConsoleColor]::DarkGray
Emphasis = [ConsoleColor]::DarkGray
Error = [ConsoleColor]::DarkRed
Selection = [ConsoleColor]::DarkGray
Comment = [ConsoleColor]::DarkCyan
Keyword = [ConsoleColor]::DarkRed
String = [ConsoleColor]::DarkGray
}
}
Set-PSReadLineOption @PSReadLineOptions
Set-PSReadLineKeyHandler -Key Tab -Function Complete
Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function MenuComplete
Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
以上,完美~