像MAC一样使用win10的Terminal

Windows Terminal(Preview)实用、优化技巧(含第三方Terminal工具介绍)
注意:Windows Terminal(Preview)只有 win10 1903以上的版本才有哦。

Windows Terminal

效果如图:


image.png

一. 安装

直接进入Microsoft Store:


image.png

二. 美化

# 美化要点:
1. 改主题 (Oh-My-Posh)
2. 改颜色主题
3. 换字体

1. 安装scoop

环境要求:
Windows 版本不低于 Windows 7
Windows 中的 PowerShell 版本不低于 PowerShell 3
你能 正常、快速 的访问 GitHub 并下载上面的资源
你的 Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)

2. 运行Powershell

打开菜单,点击:


Windows Terminal

输入以下脚本:

# 保证允许本地脚本的执行
set-executionpolicy remotesigned -scope currentuser

3. 安装scoop

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

4. 安装字体

Fantasque Sans Mono Nerd Font

# 搜索 nerd fonts,这里选择是的FantasqueSansMono这个字体
scoop search FantasqueSansMono-NF
# 添加 nerd fonts 源
scoop bucket add 'nerd-fonts'
# 安装 nerd fonts
scoop install FantasqueSansMono-NF

5. 安装oh-my-posh(类似oh-my-zsh)

# 1. 安装 choco
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

# 2. 安装ConEmu
choco install ConEmu

# 3. 安装 posh-git 和 oh-my-posh
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

# 4. 设置 Powershell 的 profile
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

# 5. 粘贴以下内容进 profile 文件
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox

6. 换颜色 (这一步可以跳过)

如图:


a969328f28e108ec6b84056e22a8f410.gif
# 安装微软官方颜色工具
scoop install colortool

# 查看已安装主题
colortool -s

# 设置主题
colortool OneHalfDark

更多主题:Iterm2-color-schemes

7. 优化ls命令的样式

如图:


image.png
# 1. 直接在powershell里运行(如果运行失败请检查是否安装 PowerShellGet):
)
Install-Module Get-ChildItemColor

# 或者 

# git 安装(上面成功了,就不需要再用 git 安装)
git clone https://github.com/joonro/Get-ChildItemColor.git

# 2. 激活
Import-Module Get-ChildItemColor 

8. 我的配置文件

使用notepad $profile即可打开

Import-Module Get-ChildItemColor

$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 l Get-ChildItemColor -option AllScope
Set-Alias ls Get-ChildItemColorFormatWide -option AllScope

function GitLogPretty {
  git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all
}

function PrettyLS {
  colorls --light -A
}

function GitStat {git status}

function GoBack {Set-Location ..}

function GetMyIp {curl -L tool.lu/ip}
function UpdateScoop {scoop update; scoop update *}

function UpdateChoco {choco upgrade chocolatey}

Import-Module posh-git
Import-Module oh-my-posh
# $DefaultUser = 'spenc'

# Setup other alias
Set-Alias open Invoke-Item
Set-Alias .. GoBack
Set-Alias glola GitLogPretty
Set-Alias gst GitStat
Set-Alias myip GetMyIp
Set-Alias pls PrettyLS

# Set theme
Set-Theme robbyrussell

Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

!!!重点备注:

例图方案

{
  "name": "Nord",
  "background": "#2e3440",
  "foreground": "#eceff4",
  "brightBlack": "#2e3440",
  "brightBlue": "#5e81ac",
  "brightCyan": "#8fbcbb",
  "brightGreen": "#a3be8c",
  "brightPurple": "#b48ead",
  "brightRed": "#bf616a",
  "brightWhite": "#eceff4",
  "brightYellow": "#ebcb8b",
  "black": "#2e3440",
  "blue": "#5e81ac",
  "cyan": "#8fbcbb",
  "green": "#a3be8c",
  "purple": "#b48ead",
  "red": "#bf616a",
  "white": "#eceff4",
  "yellow": "#ebcb8b"
}

第三方Terminal

1. Fluent Terminal

如图:


Fluent Terminal

2. Hyper

如图:


Hyper

3. Terminus

如图:


Terminus

相关工具

参考资料

推荐阅读更多精彩内容