powershell美化

news2025/2/26 1:57:47

powershell美化

写在前面

除了安装命令,其他都是测试命令,后续再写进配置文件

安装主题控件

安装主题oh-my-posh,powershell中执行

winget install JanDeDobbeleer.OhMyPosh -s winget
oh-my-posh init pwsh | Invoke-Expression # 查看效果,这里可能不能显示符号

点击加号旁边进入设置,左边点击powershell,向下滑点击外观,将字体改成nerd类型的字体,也能到Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher下载字体

也能直接改默认

Get-PoshThemes # 查看主题
# 选择并应用一个主题
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\theme.json" | Invoke-Expression
# 将 $env:POSH_THEMES_PATH\theme.json 替换为实际的主题文件路径,运行$env:POSH_THEMES_PATH可以看到主题的绝对路径

powershell模块管理基础命令

1. 安装模块

使用 Install-Module 命令从 PowerShell Gallery 安装模块:

Install-Module -Name ModuleName -Force

2. 导入模块

使用 Import-Module 命令加载模块,使其命令可用:

Import-Module -Name ModuleName

3. 查看已安装模块

使用 Get-Module 查看当前会话中已加载的模块,或者使用 -ListAvailable 参数查看系统上所有已安装的模块:

# 查看当前会话中已加载的模块
Get-Module

# 查看系统上所有已安装的模块
Get-Module -ListAvailable

4. 获取模块命令

使用 Get-Command 查看某个模块中的所有命令:

Get-Command -Module ModuleName

5. 查看模块信息

使用 Get-Module 查看模块的详细信息:

Get-Module -Name ModuleName

6. 更新模块

使用 Update-Module 更新已安装的模块:

Update-Module -Name ModuleName

7. 卸载模块

使用 Remove-Module 卸载模块,从当前会话中移除:

Remove-Module -Name ModuleName

8. 查找模块

使用 Find-Module 从 PowerShell Gallery 查找模块:

Find-Module -Name ModuleName

9. 保存模块

使用 Save-Module 将模块保存到本地文件夹,而不是直接安装:

Save-Module -Name ModuleName -Path C:\Path\To\Save

10. 发布模块

使用 Publish-Module 将模块发布到 PowerShell Gallery(需要先进行配置和认证):

Publish-Module -Name ModuleName -NuGetApiKey 'YourApiKey'

示例:安装和使用 PSReadLine 模块

下面是一个完整的示例,展示了如何安装、导入和使用 PSReadLine 模块:

# 安装 PSReadLine 模块
Install-Module -Name PSReadLine -Force

# 导入 PSReadLine 模块
Import-Module -Name PSReadLine

# 查看 PSReadLine 模块中的命令
Get-Command -Module PSReadLine

# 设置 PSReadLine 选项(例如,设置语法高亮颜色)
Set-PSReadLineOption -PredictionSource History

# 卸载 PSReadLine 模块(从当前会话中移除)
Remove-Module -Name PSReadLine

安装插件(可选)

首先设置PSGallery为受信任存储库

要将PSGallery设置为受信任的存储库,可以运行以下命令:

Set-PSRepository -Name 'PSGallery' -InstallationPolicy Truste

PSReadLine

Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck

我的配置附上

Import-Module PSReadLine
# 设置 PSReadLine 的编辑模式为 Emacs 风格
# 禁用提示音
# 设置历史预测源为命令历史
# 设置预测视图样式为列表视图
# 启用工具提示功能
# 防止保存历史记录中的重复命令
Set-PSReadLineOption -EditMode Emacs `
                     -BellStyle None `
                     -PredictionSource History `
                     -PredictionViewStyle ListView `
                     -ShowToolTips `
                     -HistoryNoDuplicates `
                     -Colors @{ # 设置不同元素的颜色,如命令、参数、运算符、变量、字符串、数字、成员、类型、和默认颜色
                         Command = 'Cyan'
                         Parameter = 'Yellow'
                         Operator = 'Red'
                         Variable = 'Green'
                         String = 'Magenta'
                         Number = 'White'
                         Member = 'DarkYellow'
                         Type = 'DarkCyan'
                         Default = 'Gray'
                     }


# 增量搜索,你在键入时会动态显示匹配项
Set-PSReadLineKeyHandler -Chord Ctrl+R -Function ReverseSearchHistory
# 逐步搜索,每按一次快捷键会找到下一个匹配项
#Set-PSReadLineKeyHandler -Chord 'Ctrl+r' -Function HistorySearchBackward 

# Shows navigable menu of all options when hitting Tab
Set-PSReadLineKeyHandler -Key Tab -Function Complete
#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

z

Install-Module -Name Z -Scope CurrentUser -Force -SkipPublisherCheck # 安装

安装完成后,使用以下命令导入 z 模块:

Import-Module Z
使用 Z 模块
切换到目录

使用 z 命令加上目录的部分名称,可以快速切换到该目录:

z foldername

例如,假设你经常访问名为 Projects 的目录,你可以通过以下命令快速跳转到该目录:

z projects
显示目录历史

使用 -l 参数列出所有之前访问过的目录历史:

z -l

posh-git

Install-Module posh-git -Scope CurrentUser -Force # 安装
Import-Module posh-git # 导入

该模块管理和监视 Git 仓库的状态,进入git目录就能看到

PSFzf

提供了在命令行中进行快速模糊搜索和选择的功能

Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f' -PSReadLineChordReverseHistory 'Ctrl+r'

Set-PsFzfOption 命令用于配置 PSFzf 模块的选项,以定制键绑定和其他行为,将 Ctrl+f 设置为启动模糊搜索,Ctrl+r 设置为反向搜索历史记录的功能,使用这个可以不用上面那个,或者换个快捷键

添加别名

Set-Alias ll ls
Set-Alias g git
Set-Alias grep findstr

我的部分别名

设置环境变量

$env:http_proxy="http://127.0.0.1:10809"
$env:puser = "C:\Users\xxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"

上面的用处是在命令行执行$env:http_proxy就可以改变powershell的代理端口,执行cat $env:puser可以查看powershell的配置文件

加入配置文件

执行$PROFILE可以得到配置文件目录,可以按目录创建文件,编辑文件,我的部分代码如下

# Oh My Posh configuration
oh-my-posh init pwsh --config "C:\Users\xxx\AppData\Local\Programs\oh-my-posh\themes\night-owl.omp.json" | Invoke-Expression

# Import other modules
Import-Module z
Import-Module posh-git
#Icons
Import-Module Terminal-Icons

# PSReadLine options
Import-Module PSReadLine
# 设置 PSReadLine 的编辑模式为 Emacs 风格
# 禁用提示音
# 设置历史预测源为命令历史
# 设置预测视图样式为列表视图
# 启用工具提示功能
# 防止保存历史记录中的重复命令
Set-PSReadLineOption -EditMode Emacs `
                     -BellStyle None `
                     -PredictionSource History `
                     -PredictionViewStyle ListView `
                     -ShowToolTips `
                     -HistoryNoDuplicates `
                     -Colors @{ # 设置不同元素的颜色,如命令、参数、运算符、变量、字符串、数字、成员、类型、函数和默认颜色
                         Command = 'Cyan'
                         Parameter = 'Yellow'
                         Operator = 'Red'
                         Variable = 'Green'
                         String = 'Magenta'
                         Number = 'White'
                         Member = 'DarkYellow'
                         Type = 'DarkCyan'
#                         Function = 'Blue'
                         Default = 'Gray'
                     }

# 增量搜索,你在键入时会动态显示匹配项
#Set-PSReadLineKeyHandler -Chord Ctrl+R -Function ReverseSearchHistory
# 逐步搜索,每按一次快捷键会找到下一个匹配项#
#Set-PSReadLineKeyHandler -Chord 'Ctrl+r' -Function HistorySearchBackward 

# Shows navigable menu of all options when hitting Tab
Set-PSReadLineKeyHandler -Key Tab -Function Complete
#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

#Utilities
function which ($command) {
	Get-Command -Name $command -ErrorAction SilentlyContinue |
	 Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
}

#Fzf
Import-Module PSFzf
Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f' -PSReadLineChordReverseHistory 'Ctrl+r'

# Alias
Set-Alias ll ls
Set-Alias g git
Set-Alias grep findstr

#env
$env:http_proxy="http://127.0.0.1:10809" #启动改变代理
$env:puser = "C:\Users\xxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"

其中which函数实现了linux上的函数功能,其他的前面有讲,保存,启动powershell

vscode图标不显示

更改字体为CaskaydiaCove Nerd Font Mono,改成可显示就行,右上角文件->首选项->设置,搜索terminal font,两个都改了吧

请添加图片描述

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

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

相关文章

Docker监控新纪元:Prometheus引领高效容器监控革命

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 •座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&…

arcgisPro将面要素转成CAD多段线

1、说明:正常使用【导出为CAD】工具,则导出的是CAD三维多线段,无法进行编辑操作、读取面积等。这是因为要素面中包含Z值,导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值,再导出为CAD,则得到…

R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)

1. 上下标 # 注意y轴标签文字 library(ggplot2) ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))2. 希腊字母,如alpha ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))ggtitle(expression(alpha))…

WebContainerapi 基础(Web IDE 技术探索 一)

前言 随着web技术的发展,在网页端直接运行node.js、实现微型操作系统已经不再是难事。今天介绍的 WebContainers就是一个基于浏览器的运行时,用于执行 Node.js 应用程序和操作系统命令,它完全运行在您的浏览器页面中,提供了文件系…

解决pytorch安装中的三个错误

查明已安装python版本为3.12.7后,创建虚拟环境。 报错内容:ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式: 输入 conda create -n pytorch python3.8即可安装成功。 参考文章:https://blo…

LeetCode:104.二叉树的最大深度

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:104.二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节…

上传文件(vue3)

使用el-upload 先上传到文件服务器&#xff0c;生成url 然后点击确定按钮&#xff1a; 保存数据 <template><el-dialog top"48px" width"500" title"新增协议" :modelValue"visible" close"handleClose()">…

PostgreSql+Pgpool-II配置高可用集群(超详细)

一.配置示例 1.1. 基本配置示例 1.1.1. 开始 首先&#xff0c;我们必须学习如何在使用复制之前安装和配置 Pgpool-II 和数据库节点。 1.1.1.1. 安装 Pgpool-II 安装 Pgpool-II 非常简单。 在已解压源 tar ball 的目录中&#xff0c; 执行以下命令。 $ ./configure$ make$ …

2012年西部数学奥林匹克试题(几何)

2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…

【自动驾驶】单目摄像头实现自动驾驶3D目标检测

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;传知代码 欢迎大家点赞收藏评论&#x1f60a; 目录 概述算法介绍演示效果图像推理视频推理 核心代码算法处理过程使用方式环境搭建下载权重文件pytorch 推理&#xff08;自动选择CPU或GPU&#x…

帝国CMS自动生成标题图片并写进数据库

帝国CMS背景可自定义&#xff0c;可单独背景也可以随机背景,此插件根帝国cms官方论坛帖子改的&#xff0c;增加了生成图片后写入数据库,笔者的古诗词网 www.gushichi.com 也是这样设置的。 效果图 将下面的代码插入到/e/class/userfun.php中增加如下函数 单独背景代码 //自动…

5G -- 5G网络架构

5G组网场景 从4G到5G的网络演进&#xff1a; 1、UE -> 4G基站 -> 4G核心网 * 部署初中期&#xff0c;利用存量网络&#xff0c;引入5G基站&#xff0c;4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期&#xff0c;引入5G核心网&am…

达梦官方工具 SQLark数据迁移(oracle->达梦数据库)

应国产化需求需要,需将系统中涉及的各中间件替换成国产中间件,此文介绍了从Oracle迁移数据至达梦dm8的步骤,该文在windos环境下已验证测试过 1 SQLark介绍 SQLark是一款专为信创应用开发者设计的数据库开发和管理工具。它支持快速查询、创建和管理多种类型的数据库系统&#xf…

【Mac】安装 PaddleOCR

环境&#xff1a;Mac M1 芯片 1、安装 1.1 安装 Anaconda Anaconda 安装较为简单&#xff0c;直接在 Anaconda 官网 下载pkg文件&#xff0c;根据向导提示完成安装。 Anaconda 用于搭建 Python 虚拟环境&#xff0c;目的是为了避免与之前环境安装库的版本冲突&#xff0c;另…

AI的进阶之路:从机器学习到深度学习的演变(二)

AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;一&#xff09; 三、机器学习&#xff08;ML&#xff09;&#xff1a;AI的核心驱动力 3.1 机器学习的核心原理 机器学习&#xff08;Machine Learning, ML&#xff09;突破了传统编程的局限&#xff0c;它不再…

渗透测试实战—某医院安全评估测试

免责声明&#xff1a;文章来源于真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本…

垂起固定翼无人机大面积森林草原巡检技术详解

垂起固定翼无人机大面积森林草原巡检技术是一种高效、精准的监测手段&#xff0c;以下是对该技术的详细解析&#xff1a; 一、垂起固定翼无人机技术特点 垂起固定翼无人机结合了多旋翼和固定翼无人机的优点&#xff0c;具备垂直起降、飞行距离长、速度快、高度高等特点。这种无…

2024年《网络安全事件应急指南》

在这个信息技术日新月异的时代&#xff0c;网络攻击手段的复杂性与日俱增&#xff0c;安全威胁层出不穷&#xff0c;给企事业单位的安全防护能力带 来了前所未有的挑战。深信服安全应急响应中心&#xff08;以下简称“应急响应中心”&#xff09;编写了《网络安全事件应急指南》…

PHP阶段一

PHP 一门编程语言 运行在服务器端 专门用户开发网站的 脚本后缀名.php 与HTML语言进行混编&#xff0c;脚本后缀依然是.php 解释型语言&#xff0c;不要编译直接运行 PHP运行需要环境&#xff1a; Windows phpstudy Linux 单独安装 Web 原理简述 1、打开浏览器 2、输入u…

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson&#xff0c;引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串&#xff0c;效果如下&#xff1a; json字符串 {"1": &q…