目录

  • 1. Windows Terminal
    • 1.1 安装 Windows Terminal
    • 1.2 安装字体
    • 1.3 配置 Windows Terminal
  • 2. Power Shell 7
    • 2.1 安装 Power Shell
    • 2.2 配置 Power Shell
  • 3. 疑难杂症
    • 3.1 安装字体后 Poweline 仍然乱码
    • 3.2 Powerline 不显示 Python 虚拟环境
    • 3.3 去掉主机名
    • 3.4 遗留问题
  • 参考文献

写这篇文章纯属偶然,习惯 Mac上使用 iTerm2 + oh-my-zsh,也希望 Windows上有好用的 Terminal,虽然知道有 Windows Terminal,但懒的折腾也就没整。不过最近电脑频繁死机,不得以重装后,顺便把 Windows Terminal搞了,不过遇到各种乱七八糟的问题,在这里跟大分享一下。

  • 注意:本文各部分不完全是安装过程,建议大家把所有的软件安装完后,再对各部进行配置

1. Windows Terminal

1.1 安装 Windows Terminal

从Microsoft App Store 安装Windows Terminal

1.2 安装字体

NERD FONTS 中选择任意你喜欢的字体并进行安装,注意: 需要与后面相关的字体设置相匹配

安装方法:

  1. 下载相应的字体并解压缩
  2. 选中所有的字体
  3. 右击选择 “安装”

1.3 配置 Windows Terminal

  • 打开Windows Terminal的配置文件

  • 配置默认设置部分

“defaultProfile”: 将 Power Shell 7 设置为默认终端
“profiles” :设置外观、字体、主题等
“useAcrylic”:用于设置毛玻璃特效
“colorScheme”:设置主题
“face”:设置字体

    "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}","profiles": {"defaults": {"acrylicOpacity": 0.5,"closeOnExit": "graceful","colorScheme": "Homebrew","cursorColor": "#FFFFFF","cursorShape": "bar","font": {"face": "JetBrainsMono NF","size": 11},"hidden": false,"historySize": 9001,"padding": "5, 5, 20, 25","snapOnInput": true,"startingDirectory": ".","useAcrylic": false},
  • 设置 Windows Terminal 主题

本文主题为经他人修改的 Homebrew 主题
将该配置文件放置于 "schemes": 项目下

{"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"},

2. Power Shell 7

2.1 安装 Power Shell

在 Power Shell 的 GitHub 项目中选择适合自己的 Power Shell 进行安装。

2.2 配置 Power Shell

  • 安装 Powe Shell 插件

打开 Windows Terminal ,进入 Power Shell

# 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
  • 修改 Power Shell 的配置文件

Set-PoshPrompt :用于设置 oh-my-posh 主题

code $Profile
<#* FileName: Microsoft.PowerShell_profile.ps1* Author: 刘 鹏* Email: littleNewton6@outlook.com* Date: 2021, Aug. 21* Copyright: No copyright. You can use this code for anything with no warranty.
#>#------------------------------- 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 pipWrite-Host "Step 1: 更新 pip" -ForegroundColor Magenta -BackgroundColor Cyan$a = pip list --outdated$num_package = $a.Length - 2for ($i = 0; $i -lt $num_package; $i++) {$tmp = ($a[2 + $i].Split(" "))[0]pip install -U $tmp}# update TeX Live$CurrentYear = Get-Date -Format yyyyWrite-Host "Step 2: 更新 TeX Live" $CurrentYear -ForegroundColor Magenta -BackgroundColor Cyantlmgr update --selftlmgr update --all# update ChocoloteyWrite-Host "Step 3: 更新 Chocolatey" -ForegroundColor Magenta -BackgroundColor Cyanchoco 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).NameWrite-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     -------------------------------
  • 查看 oh-my-posh 主题

选1个自己喜欢的主题,并对 Set-PoshPrompt 进行修改

Get-PoshThemes

3. 疑难杂症

3.1 安装字体后 Poweline 仍然乱码

  • 这主要与字体选择有关,安装自己喜欢的字体后,在选择字体时请使以 NF 结尾的字体,例如:JetBrainsMono NF

3.2 Powerline 不显示 Python 虚拟环境

  • 个人感觉这大概是 oh-my-poshbug,因为不启用 oh-my-posh 时,会默认显示 python 的虚拟环境。
  • 开启 oh-my-posh 主题后,python 虚拟环境不再显示。
  • 解决这个问题需要修改 oh-my-posh 相应主题的配置文件
  • 解决的方案有两个,一是修改 oh-my-posh 对应主题的 python 模块,二是在对应主题添加 Environment Variable 模块
  • 主路径应该在 xxxxxxx\Documents\PowerShell\Modules\oh-my-posh\5.7.0\themes
  • 方法一
{"type": "python","style": "powerline","powerline_symbol": "\uE0B0","foreground": "#100e23","background": "#906cff","properties": {"prefix": " \uE235 ","display_virtual_env": true,"display_default": true,"display_mode": "context"}},

  • 方法二

找到 anaconda 的环境变量

dir env:

properties 配置相应的环境变量

{"type": "envvar","style": "powerline","powerline_symbol": "\uE0B0","foreground": "#193549","background": "#FF6E6E","properties": {"prefix": "\uE235","var_name": "CONDA_DEFAULT_ENV"}},

3.3 去掉主机名

  • 去掉主机名需要修改对应主题的 "session"模块

禁用 "display_host" 即可

{"type": "session","style": "powerline","powerline_symbol": "\uE0B0","foreground": "#100e23","background": "#ffffff","properties": {"display_user": true,"display_host": false}},

3.4 遗留问题

  • 仔细观察会发现 oh-my-posh 左侧会有一段空白,以前在 Vim 中是通过换适版本的主题解决的,但是现在不知道入何解决了

参考文献

[1] Oh my Posh 3——易于自定义主题的Powershell美化工具
[2] Windows Terminal 完美配置 PowerShell 7.1
[3] PowerShell 界面美化
[4] Windows Terminal + oh-my-posh模块美化官方教程集锦以及常见问题(问题收集中)
[5] 简单配置与美化Powershell和Terminal
[6] Powershell 主题美化学习过程

Windows 10 使用 PowerShell 7 + Windows Terminal 及乱码、不显示 python环境问题相关推荐

  1. 微软在 Windows 10 中提供沙箱 Windows Sandbox

    微软向专业版和企业版 Windows 10 发布了沙箱 Windows Sandbox. Windows Sandbox 是一个独立的临时桌面环境,用户可以在其中运行不受信任的软件而不必担心它们会对 ...

  2. 如何使用UUP来下载Windows 10 的安装镜像(Windows篇)

    UUP全称为Unified Update Platform,即统一更新平台,是微软于2016年推出的更新模式,也是现在Windows的更新方式.UUP更新机制下Windows的更新方式为增量更新,在U ...

  3. Windows 10 电脑加装固态硬盘时的分区显示状态良好(恢复分区)

    Windows 10 电脑加装固态硬盘时的分区显示状态良好(恢复分区) 如何删除恢复分区 1. 以管理员身份打开windows命令行 2. 输入disk disk回车会列出系统磁盘 3. 选择&quo ...

  4. Windows 10 终于干掉了 Windows 7!

    不容易啊!不容易! 今天早上,笔者的电脑坏了,刚被运维小哥换上了Windows 10. 正在我和小哥讨论,到底是7好用.还是10好用的时候,大洋那端的媒体,就传来大料--Windows 10市场份额, ...

  5. Windows 10 1803 升级到 Windows 10 1903

    官网下载 https://www.microsoft.com/ZH-CN/software-download/windows10 Media Creation Tool工具来创建安装U盘安装介质,然后 ...

  6. Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法

    Windows 7 连接 Windows 10 共享打印机出现错误 0x000001b,建议不要通过卸载Windows10系统的KB5005565安全更新来解决该问题(犹如削足适履),正确的处理方法是 ...

  7. 禁用服务器系统关机,关机 允许系统在无需登录 Windows 10 (的情况下) - Windows security | Microsoft Docs...

    关机: 允许系统在未登录的情况下关闭 04/19/2017 本文内容 适用范围 Windows 10 介绍关闭:允许系统关闭而无需登录安全策略设置的最佳方案.位置.值.策略管理 和安全注意事项 . 参 ...

  8. Windows 10使用PowerShell创建系统还原点的技巧

    我们在使用Win10系统的过程中,可能会碰到各种系统故障,当问题太过严重的时候,我们往往会通过系统还原来解决问题.今天小编将给大家分享一个系统还原的技巧,下面我们来看看Win10使用PowerShel ...

  9. Windows 10系统永久关闭Windows Defender Antivirus防病毒程序方法

    Win + R 键运行 gpedit.msc 找到 计算机配置 -> 管理模板 -> Windows 组件 -> Windows Defender 防病毒程序 右边双击 " ...

最新文章

  1. 黑帽大会2014:10个酷炫的黑客工具
  2. Python成长之路第一篇(4)_if,for,while条件语句
  3. 效果超赞服务器挤爆!用GAN生成人像油画火了,带你一秒回到文艺复兴
  4. MSP430常见问题之FLASH存储类
  5. MyBatis之使用JSONObject代替JavaBean优雅返回多表查询结果
  6. python的装饰器迭代器与生成器_python3 装饰器、列表生成器、迭代器、内置方法详解等(第四周)...
  7. word2vec模型的理解
  8. 「 每日一练,快乐水题 」1189. “气球” 的最大数量
  9. [转]Mysql数据库开发的36条原则
  10. 清华大学:全面如期开课,履行社会责任!
  11. php curl 关闭tcp连接,BASH CURL:顺序运行时,请勿关闭请求之间的连接
  12. 23个小动作让你记忆力惊人
  13. 超cool的firefox插件之PicLens
  14. 创建ubuntu根文件系统
  15. unity 罗技G29开发
  16. 关于如何把用手机查看原型
  17. java 解压rar_java 解压rar文件
  18. 如何利用QQ有效推广
  19. The PostScript backend does not support transparency; partially transparent artists will be rendered
  20. 取消职称英语计算机考试的文件,2010年有没有可能取消职称英语及计算机考试...

热门文章

  1. 从知识到财富:为何知识管理掀起了企业管理的新趋势?
  2. SI/PI仿真概述:有源高速信号、阻抗、滤波方案分析
  3. 智慧办公室管理系统提升企业的科技化形象
  4. 中软国际和华为签署电信业务云合作协议
  5. php gif 透明,php缩放gif和png图透明背景变成黑色的解决方法,缩放png
  6. CMMI查询/CMMI认证查询/CMMI证书查询
  7. 概率与统计进阶(1)——概率统计的基础概念:条件概率、全概率、贝叶斯公式
  8. word设置不显示回车和英文下面的红色波浪线
  9. ImageMagick之convert命令大全 - PHP10086博客网
  10. 利用CSS3做出立方体