windows terminal美化教程

安装terminal

微软商店下载安装terminal

配置文件

进入terminal,打开设置。

{"$schema": "https://aka.ms/terminal-profiles-schema",// global settings"profiles": {// profile settings"defaults": {// default settings},"list": [// profile lists]},"schemes": [], // color scheme settings"keybindings": [// key bindings]
}
  • 顶部的$schema是软件生成的固定内容。
  • //global settings位置可以设置很多终端表现相关的设置选项。
  • profile处设置 Shell 相关的配置选项。
  • schemes处设置颜色配置相关的配置选项。
  • keybindings设置键盘组合键相关的配置选项。

分享一下我的配置文件(淳朴简约,没有花里胡哨的界面配置,节约性能哈哈):

{"$help": "https://aka.ms/terminal-documentation","$schema": "https://aka.ms/terminal-profiles-schema","actions": [{"command": {"action": "copy","singleLine": false},"keys": "ctrl+c"},{"command": "paste","keys": "ctrl+v"},{"command": "find","keys": "ctrl+shift+f"},{"command": {"action": "splitPane","split": "auto","splitMode": "duplicate"},"keys": "alt+shift+d"}],"copyFormatting": "none","copyOnSelect": true,"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","focusFollowMouse": true,"newTabMenu": [{"type": "remainingProfiles"}],"profiles": {"defaults": {"adjustIndistinguishableColors": "indexed","backgroundImage": "desktopWallpaper","backgroundImageOpacity": 0.9,"font": {"face": "Cascadia Code","weight": "medium"}},"list": [{"commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe","guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","hidden": false,"name": "Windows PowerShell"},{"commandline": "%SystemRoot%\\System32\\cmd.exe","guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}","hidden": false,"name": "\u547d\u4ee4\u63d0\u793a\u7b26"},{"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}","hidden": false,"name": "Azure Cloud Shell","source": "Windows.Terminal.Azure"},{"guid": "{4dd1e689-b517-5f39-947d-78e8a8bdf958}","hidden": false,"name": "Ubuntu 20.04.6 LTS","source": "CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc"},{"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}","hidden": true,"name": "Ubuntu-20.04","source": "Windows.Terminal.Wsl"},{"guid": "{a5a97cb8-8961-5535-816d-772efe0c6a3f}","hidden": false,"name": "Arch","source": "Windows.Terminal.Wsl"}]}
}

更多配置参考官方文档(Windows 终端常规配置文件设置 | Microsoft Learn)

关于主题使用oh-my-posh 

2.参考文档
Microsoft官方教程 :使用 Oh My Posh 为 PowerShell 或 WSL 设置自定义提示符

oh-my-posh官方教程:oh-my-posh

1.字体设置

首先去 Github 下载 nerd-fonts 字体。字体设置的目的是为了保证在安装了 oh-my-posh 后不产生特殊字符显示的问题。

点击 Release,找到 FiraCode.zip 进行下载。解压,安装字体

设置 WindowsTerminal 默认字体

安装 oh-my-posh 

  PSReadLine 、oh-my-posh 和 posh-git 这三个模块来为 PowerShell 带来类似于 Mac 上的 oh my zsh 的体验,包括语法高亮、错误提示、多行编辑、快捷键绑定、自动补全、历史搜索、Git 扩展显示等功能。

查看已安装的模块
Get-InstalledModule
安装 PSReadLine

PSReadLine 提供了语法高亮、错误提示、多行编辑、键绑定、历史记录搜索等功能:

#用管理员打开powershell
Install-Module PSReadLine
安装 posh-git

posh-git 可以在 PowerShell 中显示 Git 状态信息,并提供 Git 命令的自动补全:

Install-Module posh-git
安装 oh-my-posh

PowerShell命令行美化

oh-my-posh 是 PowerShell 主题管理工具,posh-git 可以实现类似 oh-my-zsh 一样的 Git 命令增强工具(命令别名和显示分支信息等),但是,oh-my-posh 基于 posh-git 的,所以两个都要安装。
提示:请提前以管理员身份运行 PowerShell

1.安装oh-my-posh

winget install JanDeDobbeleer.OhMyPosh -s winget

2.查看主题列表,并试用主题

Get-PoshThemes

问题一:无法识别Get-PoshThemes命令

很好,报错了,查看文档,文档

对于要重新加载的 PATH 终端,建议重新启动终端。如果 oh-my-posh 未被识别为命令,您可以再次运行安装程序,或手动将其添加到您的 PATH .例如:

$env:Path += "C:\Users\user\AppData\Local\Programs\oh-my-posh\bin"

不用代码也可以在高级系统设置里添加环境变量:

添加好,终端要都关掉再启动,不然环境变量更新不上去。

oh-my-posh的安装路径通常默认在C:\Program Files (x86)\oh-my-posh\(或者C:\Users\user\AppData\Local\Programs\oh-my-posh)

在上面添加了环境变量了,如果还是无法识别Get-PoshThemes命令,就直接卸载重装oh-my-posh。

#powershell卸载
winget uninstall JanDeDobbeleer.OhMyPosh
#powershell安装
winget install JanDeDobbeleer.OhMyPosh

手动安装也可以,这里提供一下github下ohmyposh下载地址,一般不管用命令行还是手动安装会自动设置环境变量,如果没有按上面自行设置。

这个小插曲搞定,继续下一步:

创建配置文件

New-Item -Path $PROFILE -Type File -Force

编辑配置文件

notepad $PROFILE

这时应该会打开记事本,将步骤二里的的代码添加进去并保存,例如保存 wholespace 主题,将如下代码加入记事本:

[System.Console]::OutputEncoding=[System.Text.Encoding]::GetEncoding(65001) # 配置默认编码
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\atomic.omp.json" | Invoke-Expression # 配置oh-my-posh的theme

你可以修改atomic.omp.json 为 oh-my-posh的主题文件,你可以在 Themes | Oh My Posh 这里找到自己喜欢的主题名称。配置完成后关闭 terminal 重新开发就可以看到新的主题了。

关于配置文件我们也可以手动打开,配置文件的路径:C:\Users\user\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

如果你用的是 PowerShell那么配置文件 C:\Users\user\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

问题二:powershell禁止运行脚本

重新打开终端报错一下:

解决
  1. 1、以管理员身份运行 PowerShell:  执行策略更改通常需要管理员权限。因此,您需要以管理员身份打开 PowerShell。可以通过搜索“PowerShell”找到它,然后右键选择“以管理员身份运行”。
  2. 2、查看当前执行策略
    在 PowerShell 中运行以下命令来查看当前的执行策略设置:
Get-ExecutionPolicy
     3、更改执行策略
如果您想要允许所有本地脚本运行(请注意,这可能会带来安全风险,因为恶意脚本也可能被运行),可以使用以下命令将执行策略设置为 Bypass
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

这里简单介绍一下powershell的执行策略:

  4、PowerShell 执行策略

这些策略仅在 Windows 平台上执行。 PowerShell 执行策略如下:

  • AllSigned

    • 脚本可以运行。
    • 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。
    • 在运行来自尚未分类为可信或不可信的发布者的脚本之前会提示你。
    • 存在运行已签名的恶意脚本的风险。
  • Bypass

    • 不阻止任何操作,并且没有任何警告或提示。
    • 此执行策略专为将 PowerShell 脚本内置到较大应用程序中的配置,或以 PowerShell 为具有自己的安全模型的程序的基础的配置而设计。
  • Default

    • 设置默认执行策略。
    • Restricted(适用于 Windows 客户端)。
    • RemoteSigned(适用于 Windows 服务器)。
  • RemoteSigned

    • Windows 服务器计算机的默认执行策略。
    • 脚本可以运行。
    • 需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。
    • 在本地计算机上编写且不是从 Internet 下载的脚本不需要数字签名。
    • 如果脚本已解除阻止(例如通过使用 Unblock-File cmdlet),则运行从 Internet 下载且未签名的脚本。
    • 存在运行来自 Internet 以外来源的未签名脚本以及可能存在恶意的签名脚本的风险。
  • Restricted

    • Windows 客户端计算机的默认执行策略。
    • 允许单个命令,但不允许脚本。
    • 阻止运行所有脚本文件,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 PowerShell 配置文件 (.ps1)。
  • Undefined

    • 当前作用域内没有设置执行策略。
    • 如果所有作用域内的执行策略均为 Undefined,则对于 Windows 客户端,有效执行策略为 Restricted;对于 Windows Server,有效执行策略为 RemoteSigned
  • Unrestricted

    • 非 Windows 计算机的默认执行策略,无法更改。
    • 未签名的脚本可以运行。 存在运行恶意脚本的风险。
    • 在运行非来自本地 Intranet 区域的脚本和配置文件之前警告用户。

重新打开成功!

powershell配置文件地址是 C:\Users\<userName>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 。

作用是在 PowerShell 启动时运行一些自定义的设置,比如导入模块、设置别名、定义函数等。

粘贴以下配置内容,可以参考注释根据自己需求修改或者删除:

<#* FileName: Microsoft.PowerShell_profile.ps1* Author: Devil* Email: 1093008057@qq.com* Date: 2024.04.07* Copyright:  You can use this code for anything with no warranty.
#>#------------------------------- Import Modules BEGIN -------------------------------
# 引入 ps-read-line
Import-Module PSReadLine# 引入 posh-git
Import-Module posh-git# 引入 oh-my-posh
Import-Module oh-my-posh# 设置 PowerShell 主题
# Set-PoshPrompt ys
Set-PoshPrompt emodipt-extend
#------------------------------- 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    -------------------------------

上述就是关于Windows Terminal 美化 PowerShell 内容了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器租赁一年收费标准

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

【亲测有效】微信公众号设置菜单栏显示,未开启自定义菜单,微信公众平台自定义菜单接口开发

微信公众平台自定义菜单接口开发 问题:运营人员在设置微信公众号设置菜单栏显示,未开启自定义菜单解决方案(微信公众平台自定义菜单接口开发):自定义菜单-创建接口请求链接完整代码第一步:在WeChat类里添加代码情况一:没有WeChat类情况,如果已有请看情况二情况二:已有…

【系统架构师】-软件架构设计

1、软件架构的概念 架构的本质 1、软件架构为软件系统提供了一个结构、行为和属性的高级抽象。 2、软件架构风格是特定应用领域的惯用模式&#xff0c;架构定义一个词汇表和一组约束。 架构的作用 1、软件架构是项目干系人进行交流的手段。 2、软件架构是可传递和可复用的模型…

番茄 短abogus补环境

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章…

端到端单倍型参考基因组揭示了三倍体香芽蕉型香蕉亚基因组的分歧和疾病抵抗力-文献精读-5

T2T基因组文献分享Telomere-to-telomere haplotype-resolved reference genome reveals subgenome divergence and disease resistance in triploid Cavendish banana 三倍体植物基因组的文献&#xff0c;各位同仁还有什么有特色的基因组评论区留言~ 摘要 香蕉是世界上最重要…

JavaEE——手把手教你实现简单的 servlet 项目

文章目录 一、什么是 Servlet二、创建一个简单的 Servlet 程序1. 创建项目2.引入依赖3. 创建目录4.编写代码5. 打包程序6. 部署7.验证整体过程总结 三、使用 Smart Tomcat 插件简化项目创建四、创建项目时可能遇到的几个问题。 一、什么是 Servlet Servlet 是一种实现 动态页面…

12、最小覆盖子串

如何想到这个解法 问题的特点&#xff1a; 首先&#xff0c;认识到这是一个关于子串的问题&#xff0c;而且需要考虑子串的最小长度。这提示我们可能需要使用一种方式来逐步探索不同的子串。滑动窗口的适用性&#xff1a;滑动窗口是处理子串问题的常用技巧&#xff0c;特别是当…

【图像分割】nnUnetV1与V2的Linux部署与应用命令

以前觉得麻烦&#xff0c;一直没用过nnunet&#xff0c;虽然知道它很火&#xff0c;最近一个契机&#xff0c;部署使用了一下nnunet&#xff0c;记录一下其部署和使用的方法与命令。 1、部署 首先&#xff0c;我有一个环境&#xff0c;这个环境可以是以前就有的&#xff0c;也可…

1.c++入门(命名空间、缺省参数、函数重载、引用、内联函数、for循环、auto关键字、指针空值nullptr)

1.c的第一个程序 // 方法一 #include<iostream>// namespace为命名空间的关键字&#xff0c;std为空间名&#xff1b; C标准库的东西放进std命名空间 using namespace std; int main() {cout << "hello world" << endl;return 0; }// 方法二 #in…

YOLOv8的多分类模型如何计算准确率(Accuracy)、精确率(Precision)、召回率(recall)和F1-Score模型评估参数

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

【leetCode】2810. 故障键盘

文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一&#xff1a;模拟代码&#xff1a;思路二&#xff1a;双端队列代码&#xff1a; 2810. 故障键盘 思路一&#xff1a;模拟 用StringBuilder来拼贴字符遍历字符串&#xff0c;如果遇到i,对拼贴好…

注解,自定义注解和元注解

1.注解 1.1.注解概述、作用 注解&#xff08;Annotation&#xff09;&#xff0c;也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性&#xff0c;与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面&#xff0…

《深入浅出多模态》:多模态经典模型CLIP

🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求职…

逆向案例14——cnki学术翻译AES加密分析,涉及保持会话和获取token值

python代码&#xff1a; import execjs import requests UA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" token_url "https://dict.cnki.net/fyzs-front-api/getToken" url …

图像分割-RSPrompter

文章目录 前言1. 自动化提示器1.1 多尺度特征增强器1.2 RSPrompterAnchor-based PrompterQuery-based Prompter 2. SAM的扩展3. 结果WHU数据集NWPU数据集SSDD数据集 前言 《RSPrompter: Learning to prompt for remote sensing instance segmentation based on visual foundati…

一文读懂Memory consistency model (内存模型)

Memory consistency model又称Memory model (内存模型)&#xff0c;定义了使用Shared memory(共享内存)执行多线程(Multithread)程序所允许的行为规范。Memory model定义了软硬件接口规范&#xff0c;以便程序员预料硬件会有什么行为&#xff0c;而硬件实现者知道可以使用什么样…

牛客NC181 单词拆分(一)【中等 动态规划,前缀树 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/c0d32c1ce5744472a01b2351a2c2767f 思路 前缀树动态规划参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规…

OpenCV4.9处理平滑图像

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;使用OpenCV4.9的随机生成器和文本 下一篇&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何使用 OpenCV …

助力瓷砖生产智造,基于YOLOv5全系列参数【n/s/m/l/x】模型开发构建瓷砖生产制造场景下1280尺寸瓷砖表面瑕疵检测识别系统

砖生产环节一般经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光&#xff0c;最后进行质量检测和包装。得益于产业自动化的发展&#xff0c;目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说&#xff0c;一条产线需要配数名质检工&#…